欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

分享python機(jī)器學(xué)習(xí)中應(yīng)用所產(chǎn)生的聚類數(shù)據(jù)集方法

 更新時間:2021年08月19日 11:45:16   作者:卓晴  
本文根據(jù) 機(jī)器學(xué)習(xí)中常用的聚類數(shù)據(jù)集生成方法 中的內(nèi)容進(jìn)行編輯實(shí)驗(yàn)和整理而得,有需要的朋友可以參考想,希望可以對大家在聚類數(shù)據(jù)方面有所幫助

01直接生成

這類方法是利用基本程序軟件包numpy的隨機(jī)數(shù)產(chǎn)生方法來生成各類用于聚類算法數(shù)據(jù)集合,也是自行制作輪子的生成方法。

一、基礎(chǔ)類型

1、月牙形數(shù)據(jù)集合

from headm import *
import numpy as np
pltgif = PlotGIF()
def moon2Data(datanum):
    x1 = linspace(-3, 3, datanum)
    noise = np.random.randn(datanum) * 0.15
    y1 = -square(x1) / 3 + 4.5 + nois
    x2 = linspace(0, 6, datanum)
    noise = np.random.randn(datanum) * 0.15
    y2 = square(x2 - 3) / 3 + 0.5 + noise
    plt.clf()
    plt.axis([-3.5, 6.5, -.5, 5.5])
    plt.scatter(x1, y1, s=10)
    plt.scatter(x2, y2, s=10)
    plt.draw()
    plt.pause(.1)
    pltgif.append(plt)
for _ in range(20):
    moon2Data(300)
pltgif.save(r'd:\temp\GIF1.GIF')


2、方形數(shù)據(jù)集

from headm import *
import numpy as np
pltgif = PlotGIF()
def moon2Data(datanum):
    x = np.random.rand(datanum, 2)
    condition1 = x[:, 1] <= x[:, 0]
    condition2 = x[:, 1] <= (1-x[:, 0])
    index1 = np.where(condition1 & condition2)
    x1 = x[index1]
    x = np.delete(x, index1, axis=0)
    index2 = np.where(x[:, 0] <= 0.5)
    x2 = x[index2]
    x3 = np.delete(x, index2, axis=0)
    plt.clf()
    plt.scatter(x1[:, 0], x1[:, 1], s=10)
    plt.scatter(x2[:, 0], x2[:, 1], s=10)
    plt.scatter(x3[:, 0], x3[:, 1], s=10)
    plt.draw()
    plt.pause(.1)
    pltgif.append(plt)
for _ in range(20):
    moon2Data(1000)
pltgif.save(r'd:\temp\GIF1.GIF')


3、螺旋形數(shù)據(jù)集合

from headm import *
import numpy as np
pltgif = PlotGIF()
def randData(datanum):
    t = 1.5 * pi * (1+3*random.rand(1, datanum))
    x = t * cos(t)
    y = t * sin(t)
    X = concatenate((x,y))
    X += 0.7 * random.randn(2, datanum)
    X = X.T
    norm = plt.Normalize(y.min(), y.max())
    plt.clf()
    plt.scatter(X[:, 0], X[:, 1], s=10, c=norm(X[:,0]), cmap='viridis')
    plt.axis([-20, 21, -20, 16])
    plt.draw()
    plt.pause(.1)
    pltgif.append(plt)
for _ in range(20):
    randData(1000)
pltgif.save(r'd:\temp\GIF1.GIF')


下面的知識螺旋線,沒有隨機(jī)移動的點(diǎn)。

將隨機(jī)幅值從原來的0.7增大到1.5,對應(yīng)的數(shù)據(jù)集合為:


02樣本生成器

利用sklearn.datasets自帶的樣本生成器來生成相應(yīng)的數(shù)據(jù)集合。

一、基礎(chǔ)數(shù)據(jù)集

1、點(diǎn)簇形數(shù)據(jù)集合

from headm import *
from sklearn.datasets import make_blobs
pltgif = PlotGIF()
def randData(datanum):
    x1,y1 = make_blobs(n_samples=datanum, n_features=2, centers=3, random_state=random.randint(0, 1000))
    plt.clf()
    plt.scatter(x1[:,0], x1[:, 1], c=y1, s=10)
    plt.draw()
    plt.pause(.1)
    pltgif.append(plt)
for _ in range(20):
    randData(300)
pltgif.save(r'd:\temp\gif1.gif')

繪制三簇點(diǎn)集合,也可以使用如下的語句:

plt.scatter(x1[y1==0][:,0], x1[y1==0][:,1], s=10)
plt.scatter(x1[y1==1][:,0], x1[y1==1][:,1], s=10)
plt.scatter(x1[y1==2][:,0], x1[y1==2][:,1], s=10)

2、線簇形數(shù)據(jù)集合

生成代碼,只要在前面的x1后面使用旋轉(zhuǎn)矩陣。

transformation = [[0.60834549, -0.63667341], [-0.40887718, 0.85253229]]
x1 = dot(x1, transformation)

其中轉(zhuǎn)換矩陣的特征值與特征向量為:

  • 特征值:[0.20581711.25506068]
  • 特征向量:[[-0.845237740.7015526][-0.53439045-0.71261768]]

3、環(huán)形數(shù)據(jù)集合

from headm import *
from sklearn.datasets import make_circles
pltgif = PlotGIF()
def randData(datanum):
    x1,y1 = make_circles(n_samples=datanum, noise=0.07, random_state=random.randint(0, 1000), factor=0.6)
    plt.clf()
    plt.scatter(x1[y1==0][:,0], x1[y1==0][:,1], s=10)
    plt.scatter(x1[y1==1][:,0], x1[y1==1][:,1], s=10)
    plt.axis([-1.2, 1.2, -1.2, 1.2])
    plt.draw()
    plt.pause(.1)
    pltgif.append(plt)
for _ in range(20):
    randData(1000)
pltgif.save(r'd:\temp\gif1.gif')

4、月牙數(shù)據(jù)集合

from headm import *
from sklearn.datasets import make_moons
pltgif = PlotGIF()
def randData(datanum):
    x1,y1 = make_moons(n_samples=datanum, noise=0.07, random_state=random.randint(0, 1000))
    plt.clf()
    plt.scatter(x1[y1==0][:,0], x1[y1==0][:,1], s=10)
    plt.scatter(x1[y1==1][:,0], x1[y1==1][:,1], s=10)
    plt.axis([-1.5, 2.5, -1, 1.5])
    plt.draw()
    plt.pause(.1)
    pltgif.append(plt)
for _ in range(20):
    randData(1000)
pltgif.save(r'd:\temp\gif1.gif')

測試結(jié)論

sklearn里面還有好多函數(shù)來自定制數(shù)據(jù),除此之外還可以使用numpy生成,然后通過高級索引進(jìn)行劃分,最好結(jié)合著matplotlib中的cmap來做顏色映射,這樣可以做出好玩又好看的數(shù)據(jù)集,希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python入門Anaconda和Pycharm的安裝和配置詳解

    Python入門Anaconda和Pycharm的安裝和配置詳解

    這篇文章主要介紹了Python入門Anaconda和Pycharm的安裝和配置詳解,文章通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python?設(shè)計(jì)模式行為型訪問者模式

    Python?設(shè)計(jì)模式行為型訪問者模式

    這篇文章主要介紹了Python?設(shè)計(jì)模式行為型訪問者模式,訪問者模式即Visitor?Pattern,訪問者模式,指作用于一個對象結(jié)構(gòu)體上的元素的操作,下文相關(guān)資料需要的小伙伴可以參考一下
    2022-02-02
  • Numpy 中的矩陣求逆實(shí)例

    Numpy 中的矩陣求逆實(shí)例

    今天小編就為大家分享一篇Numpy 中的矩陣求逆實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python 中使用yagmail 發(fā)送郵件功能

    python 中使用yagmail 發(fā)送郵件功能

    這篇文章主要介紹了python 中使用yagmail 發(fā)送郵件功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Python 自動喚醒窗口截圖腳本

    Python 自動喚醒窗口截圖腳本

    截圖的操作用途最為廣泛,你可以用它配合定時工具,定時檢測某個程序的運(yùn)行情況,本文給大家講下如何使用 win32api 實(shí)現(xiàn)自動喚醒并截圖的操作,對Python窗口截圖腳本知識感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用

    Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用

    這篇文章主要介紹了Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用,首先我們要知道在python中用于生成隨機(jī)數(shù)的模塊是random,在使用前需要import。由此展開內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-06-06
  • 解讀dataframe中有關(guān)inf的處理技巧

    解讀dataframe中有關(guān)inf的處理技巧

    這篇文章主要介紹了解讀dataframe中有關(guān)inf的處理技巧,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python代碼打印100-999之間的回文數(shù)示例

    python代碼打印100-999之間的回文數(shù)示例

    今天小編就為大家分享一篇python代碼打印100-999之間的回文數(shù)示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • pytorch .detach() .detach_() 和 .data用于切斷反向傳播的實(shí)現(xiàn)

    pytorch .detach() .detach_() 和 .data用于切斷反向傳播的實(shí)現(xiàn)

    這篇文章主要介紹了pytorch .detach() .detach_() 和 .data用于切斷反向傳播的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • python?PyAutoGUI實(shí)現(xiàn)自動化鼠標(biāo)鍵盤等常用操作

    python?PyAutoGUI實(shí)現(xiàn)自動化鼠標(biāo)鍵盤等常用操作

    這篇文章主要介紹了python?PyAutoGUI實(shí)現(xiàn)自動化鼠標(biāo)鍵盤等常用操作使用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評論