自带的数据集_机器学习练习数据哪里找?两行代码搞定!
初學(xué)者學(xué)習(xí)機器學(xué)習(xí)的時候,經(jīng)常會找不到練習(xí)的數(shù)據(jù),實際上scikit-learn內(nèi)置了很多可以用于機器學(xué)習(xí)的數(shù)據(jù),可以用兩行代碼就可以使用這些數(shù)據(jù)。
一、自帶數(shù)據(jù)集
自帶的小的數(shù)據(jù)集為:sklearn.datasets.load_<name>
- fetch_20newsgroups:用于文本分類、文本挖據(jù)和信息檢索研究的國際標(biāo)準(zhǔn)數(shù)據(jù)集之一。數(shù)據(jù)集收集了大約20,000左右的新聞組文檔,均勻分為20個不同主題的新聞組集合。返回一個可以被文本特征提取器
- fetch_20newsgroups_vectorized:這是上面這個文本數(shù)據(jù)的向量化后的數(shù)據(jù),返回一個已提取特征的文本序列,即不需要使用特征提取器
- fetch_california_housing:加利福尼亞的房價數(shù)據(jù),總計20640個樣本,每個樣本8個屬性表示,以及房價作為target,所有屬性值均為number,詳情可調(diào)用fetch_california_housing()['DESCR']了解每個屬性的具體含義;
- fetch_covtype:森林植被類型,總計581012個樣本,每個樣本由54個維度表示(12個屬性,其中2個分別是onehot4維和onehot40維),以及target表示植被類型1-7,所有屬性值均為number,詳情可調(diào)用fetch_covtype()['DESCR']了解每個屬性的具體含義
- fetch_kddcup99:KDD競賽在1999年舉行時采用的數(shù)據(jù)集,KDD99數(shù)據(jù)集仍然是網(wǎng)絡(luò)入侵檢測領(lǐng)域的事實Benckmark,為基于計算智能的網(wǎng)絡(luò)入侵檢測研究奠定基礎(chǔ),包含41項特征
- fetch_lfw_pairs:該任務(wù)稱為人臉驗證:給定一對兩張圖片,二分類器必須預(yù)測這兩個圖片是否來自同一個人。
- fetch_lfw_people:打好標(biāo)簽的人臉數(shù)據(jù)集
- fetch_mldata:從 http://mldata.org 中下載數(shù)據(jù)集
- fetch_olivetti_faces:Olivetti 臉部圖片數(shù)據(jù)集
- fetch_rcv1:路透社新聞?wù)Z聊數(shù)據(jù)集
- fetch_species_distributions:物種分布數(shù)據(jù)集
怎么用:
數(shù)據(jù)集的信息關(guān)鍵字:
- DESCR:
數(shù)據(jù)集的描述信息 - data:
內(nèi)部數(shù)據(jù)(即:X) - feature_names:
數(shù)據(jù)字段名 - target:
數(shù)據(jù)標(biāo)簽(即:y) - target_names:
標(biāo)簽字段名(回歸數(shù)據(jù)集無此項)
使用方法(以load_iris為例)
數(shù)據(jù)介紹:
- 一般用于做分類測試
- 有150個數(shù)據(jù)集,共分為3類,每類50個樣本。每個樣本有4個特征。
- 每條記錄都有 4 項特征:包含4個特征(Sepal.Length(花萼長度)、Sepal.Width(花萼寬度)、Petal.Length(花瓣長度)、Petal.Width(花瓣寬度)),特征值都為正浮點數(shù),單位為厘米。
- 可以通過這4個特征預(yù)測鳶尾花卉屬于(iris-setosa(山鳶尾), iris-versicolour(雜色鳶尾), iris-virginica(維吉尼亞鳶尾))中的哪一品種。
第一步:
導(dǎo)入數(shù)據(jù)
from sklearn.datasets import load_iris iris = load_iris()第二步:定義X和y X, y = iris.data, iris.target 此外,可以看下數(shù)據(jù)的維度:X.shape,y.shape輸出為:((150, 4), (150,))查看特征名:iris.feature_names輸出為: ['sepal length (cm)','sepal width (cm)','petal length (cm)','petal width (cm)']查看標(biāo)簽名:iris.target_names輸出為:
array(['setosa', 'versicolor', 'virginica'], dtype='<U10')劃分訓(xùn)練集和測試集:
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)這樣就把訓(xùn)練集和測試集按照3比1劃分了,接下來就可以用機器學(xué)習(xí)算法進(jìn)行訓(xùn)練和測試了。
小技巧:將數(shù)據(jù)轉(zhuǎn)換為Dataframe格式(兩種方法都可以):
import pandas as pd df_X = pd.DataFrame(iris.data, columns=iris.feature_names) #這個是X df_y = pd.DataFrame(iris.target, columns=["target"]) #這個是y df=pd.concat([df_X,df2],axis=1)#橫向合并 df.head()或者:
import numpy as np import pandas as pd col_names = iris['feature_names'] + ['target'] df = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns=col_names) df.head()輸出結(jié)果一致:
二、可在線下載的數(shù)據(jù)集(需要下載)
下載的數(shù)據(jù)集為:sklearn.datasets.fetch_<name>
這類數(shù)據(jù)需要在線下載,有點慢
- fetch_20newsgroups
用于文本分類、文本挖據(jù)和信息檢索研究的國際標(biāo)準(zhǔn)數(shù)據(jù)集之一。數(shù)據(jù)集收集了大約20,000左右的新聞組文檔,均勻分為20個不同主題的新聞組集合。返回一個可以被文本特征提取器
- fetch_20newsgroups_vectorized
這是上面這個文本數(shù)據(jù)的向量化后的數(shù)據(jù),返回一個已提取特征的文本序列,即不需要使用特征提取器
- fetch_california_housing
加利福尼亞的房價數(shù)據(jù),總計20640個樣本,每個樣本8個屬性表示,以及房價作為target,所有屬性值均為number,詳情可調(diào)用fetch_california_housing()['DESCR']了解每個屬性的具體含義;
- fetch_covtype
森林植被類型,總計581012個樣本,每個樣本由54個維度表示(12個屬性,其中2個分別是onehot4維和onehot40維),以及target表示植被類型1-7,所有屬性值均為number,詳情可調(diào)用fetch_covtype()['DESCR']了解每個屬性的具體含義
- fetch_kddcup99
KDD競賽在1999年舉行時采用的數(shù)據(jù)集,KDD99數(shù)據(jù)集仍然是網(wǎng)絡(luò)入侵檢測領(lǐng)域的事實Benckmark,為基于計算智能的網(wǎng)絡(luò)入侵檢測研究奠定基礎(chǔ),包含41項特征
- fetch_lfw_pairs
該任務(wù)稱為人臉驗證:給定一對兩張圖片,二分類器必須預(yù)測這兩個圖片是否來自同一個人。
- fetch_lfw_people
打好標(biāo)簽的人臉數(shù)據(jù)集
- fetch_mldata
從 http://mldata.org 中下載數(shù)據(jù)集
- fetch_olivetti_faces
Olivetti 臉部圖片數(shù)據(jù)集
- fetch_rcv1
路透社新聞?wù)Z聊數(shù)據(jù)集
- fetch_species_distributions
物種分布數(shù)據(jù)集
使用方法與自帶數(shù)據(jù)集一致,只是多了下載過程(示例:fetch_20newsgroups)
from sklearn.datasets import fetch_20newsgroups news = fetch_20newsgroups(subset='all') #本次使用的數(shù)據(jù)需要到互聯(lián)網(wǎng)上下載 from sklearn.model_selection import train_test_split #對數(shù)據(jù)訓(xùn)練集和測試件進(jìn)行劃分 X_train, X_test, y_train, y_test = train_test_split(news.data, news.target, test_size=0.25, random_state=33)三、生成數(shù)據(jù)集
可以用來分類任務(wù),可以用來回歸任務(wù),可以用來聚類任務(wù),用于流形學(xué)習(xí)的,用于因子分解任務(wù)的,用于分類任務(wù)和聚類任務(wù)的:這些函數(shù)產(chǎn)生樣本特征向量矩陣以及對應(yīng)的類別標(biāo)簽集合
- make_blobs:多類單標(biāo)簽數(shù)據(jù)集,為每個類分配一個或多個正態(tài)分布的點集
- make_classification:多類單標(biāo)簽數(shù)據(jù)集,為每個類分配一個或多個正態(tài)分布的點集,提供了為數(shù)據(jù)添加噪聲的方式,包括維度相關(guān)性,無效特征以及冗余特征等
- make_gaussian-quantiles:將一個單高斯分布的點集劃分為兩個數(shù)量均等的點集,作為兩類
- make_hastie-10-2:產(chǎn)生一個相似的二元分類數(shù)據(jù)集,有10個維度
- make_circle和make_moons:產(chǎn)生二維二元分類數(shù)據(jù)集來測試某些算法的性能,可以為數(shù)據(jù)集添加噪聲,可以為二元分類器產(chǎn)生一些球形判決界面的數(shù)據(jù)
舉例:
import matplotlib.pyplot as plt from sklearn.datasets import make_moons X, y = make_moons(n_samples=100, noise=0.15, random_state=42) plt.title('make_moons function example') plt.scatter(X[:,0],X[:,1],marker='o',c=y) plt.show()四、其它數(shù)據(jù)集
kaggle:https://www.kaggle.com
天池:https://tianchi.aliyun.com/dataset
搜狗實驗室:http://www.sogou.com/labs/resource/list_pingce.php
DC競賽:https://www.pkbigdata.com/common/cmptIndex.html
DF競賽:https://www.datafountain.cn/datasets
總結(jié)
本文為機器學(xué)習(xí)初學(xué)者提供了使用scikit-learn內(nèi)置數(shù)據(jù)的方法,用兩行代碼就可以使用這些數(shù)據(jù),可以進(jìn)行大部分的機器學(xué)習(xí)實驗了。
參考
https://scikit-learn.org/stable/datasets/index.html
關(guān)于本站
“機器學(xué)習(xí)初學(xué)者”公眾號由是黃海廣博士創(chuàng)建,黃博個人知乎粉絲23000+,github排名全球前110名(32000+)。本公眾號致力于人工智能方向的科普性文章,為初學(xué)者提供學(xué)習(xí)路線和基礎(chǔ)資料。原創(chuàng)作品有:吳恩達(dá)機器學(xué)習(xí)個人筆記、吳恩達(dá)深度學(xué)習(xí)筆記等。
總結(jié)
以上是生活随笔為你收集整理的自带的数据集_机器学习练习数据哪里找?两行代码搞定!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据加载很慢_Vaex真香!几秒钟就能处
- 下一篇: 微软小冰评分接口_微软小冰测颜值准不准?