【Python】內置數據集介紹

在動手操作一個算法的時候,可能需要自己生成數據集。Python sklearn給我們提供了一些有用的數據生成器和數據加載工具,所以就不需要我們寫代碼來生成數據啦。下面介紹幾個大家都比較常用的數據集:

數據加載工具 

 這個工具下面一共有24個數據集,只要直接導入就可以使用,就像導入一個csv文件一樣。

1.datasets.load_iris()這個數據集應該是最常見的了,經常看見網上博主們需要做分類的數據集時候,拿的就是這個鳶尾花數據集。大家點擊數據集的鏈接就可以看到鳶尾花數據集的介紹:

Classes 3
Samples per class 50
Samples total 150
Dimensionality 4
Features real, positive

下面是獲取數據集的方法:

from sklearn import datasets

iris = datasets.load_iris()
### 打印數據集,可以看到數據集的詳細信息
print(iris)
### 獲取數據
X = iris.data
### 獲取標籤
y = iris.target
### 獲取標籤名稱
TarName = iris.target_names
### 獲取特徵名稱
FeaName = iris.feature_names

2. datasets.load_boston()這個數據集應該是迴歸問題裏面,網上博主們最常用的數據集,也就是波士頓房價數據集。大家點擊數據集的鏈接就可以看到它的介紹了:

Samples total 506
Dimensionality 13
Features real, positive
Targets real 5. - 50.

下面是數據集的獲取方法:

boston = datasets.load_boston()
### 打印數據集,可以看到數據集的詳細信息
print(boston)
### 獲取數據集
X = boston.data
### 獲取目標值
y = boston.target
### 獲取特徵名稱
FeaName = boston.feature_names

數據生成器

datasets下面一共有20個數據集生成器,相比與上面的數據集,這個裏面的數據集就很簡單,主要是用來對算法的結果進行可視化。它是根據參數的值來生成數據,並不像上面的數據集一樣導入就可以使用。

1.datasets.make_moons() 該函數會生成兩個交叉的半圓型數據集,可以用做聚類和分類算法的數據集。具體的參數大家可以點擊數據集的鏈接,參考官方文檔。生成的圖形如下圖所示:       

### 生成200個數據點的數據
X,y = datasets.make_moons(200)
### 可視化數據
plt.scatter(X[:,0],X[:,1], s=40, c=y, cmap=plt.cm.Spectral)

 

                                                                            

我們可以看到上面的數據分佈實在是太工整了,通常我們會加上noise參數,讓數據的分佈沒有那麼工整。

### 生成數據
X,y = datasets.make_moons(200, noise=0.20)
### 可視化數據
plt.scatter(X[:,0],X[:,1], s=40, c=y, cmap=plt.cm.Spectral)

 

                                             

2. datasets.make_circles()該函數會生成一個大圓,然後裏面包含一個小圓。具體的參數大家可以點擊數據集的鏈接,參考官方文檔。生成的圖形如下圖所示:       

X,y = datasets.make_circles(1000)
plt.scatter(X[:,0],X[:,1], s=40, c=y,cmap=plt.cm.Spectral)

                                           

和上面的數據集一樣,爲了讓數據的分佈沒有那麼工整,通常我們會加上noise參數。同時,會加上factor參數,用於控制大圓和小圓之間的間隔。

X,y = datasets.make_circles(1000, noise=0.03, factor=0.5)
plt.scatter(X[:,0],X[:,1], s=40, c=y,cmap=plt.cm.Spectral)

                                            

API鏈接:https://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章