【机器学习基础】获取机器学习和深度学习的练习数据
0.導語
初學者學習機器學習和深度學習的時候,經常會找不到練習的數(shù)據(jù),本文提供了獲取數(shù)據(jù)的一些方法。
一、scikit-learn自帶數(shù)據(jù)集
Scikit-learn內置了很多可以用于機器學習的數(shù)據(jù),可以用兩行代碼就可以使用這些數(shù)據(jù)。
一、自帶數(shù)據(jù)集
自帶的小的數(shù)據(jù)集為:sklearn.datasets.load_<name>
| load_boston | Boston房屋價格 | 回歸 | 506*13 |
| fetch_california_housing | 加州住房 | 回歸 | 20640*9 |
| load_diabetes | 糖尿病 | 回歸 | 442*10 |
| load_digits | 手寫字 | 分類 | 1797*64 |
| load_breast_cancer | 乳腺癌 | 分類、聚類 | (357+212)*30 |
| load_iris | 鳶尾花 | 分類、聚類 | (50*3)*4 |
| load_wine | 葡萄酒 | 分類 | (59+71+48)*13 |
| load_linnerud | 體能訓練 | 多分類 | 20 |
怎么用:
數(shù)據(jù)集的信息關鍵字:
DESCR:
數(shù)據(jù)集的描述信息
data:
內部數(shù)據(jù)(即:X)
feature_names:
數(shù)據(jù)字段名
target:
數(shù)據(jù)標簽(即:y)
target_names:
標簽字段名(回歸數(shù)據(jù)集無此項)?
使用方法(以load_iris為例)
數(shù)據(jù)介紹:
一般用于做分類測試
有150個數(shù)據(jù)集,共分為3類,每類50個樣本。每個樣本有4個特征。
每條記錄都有 4 項特征:包含4個特征(Sepal.Length(花萼長度)、Sepal.Width(花萼寬度)、Petal.Length(花瓣長度)、Petal.Width(花瓣寬度)),特征值都為正浮點數(shù),單位為厘米。
可以通過這4個特征預測鳶尾花卉屬于(iris-setosa(山鳶尾), iris-versicolour(雜色鳶尾), iris-virginica(維吉尼亞鳶尾))中的哪一品種。
第一步:
導入數(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)']查看標簽名: iris.target_names輸出為:
array(['setosa', 'versicolor', 'virginica'], dtype='<U10')劃分訓練集和測試集:
這樣就把訓練集和測試集按照3比1劃分了,接下來就可以用機器學習算法進行訓練和測試了。
小技巧:將數(shù)據(jù)轉換為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()輸出結果一致:
二、可在線下載的數(shù)據(jù)集(需要下載)
下載的數(shù)據(jù)集為:sklearn.datasets.fetch_<name>
這類數(shù)據(jù)需要在線下載,有點慢
fetch_20newsgroups | 用于文本分類、文本挖據(jù)和信息檢索研究的國際標準數(shù)據(jù)集之一。數(shù)據(jù)集收集了大約20,000左右的新聞組文檔,均勻分為20個不同主題的新聞組集合。返回一個可以被文本特征提取器 |
fetch_20newsgroups_vectorized | 這是上面這個文本數(shù)據(jù)的向量化后的數(shù)據(jù),返回一個已提取特征的文本序列,即不需要使用特征提取器 |
fetch_california_housing | 加利福尼亞的房價數(shù)據(jù),總計20640個樣本,每個樣本8個屬性表示,以及房價作為target,所有屬性值均為number,詳情可調用fetch_california_housing()['DESCR']了解每個屬性的具體含義; |
fetch_covtype | 森林植被類型,總計581012個樣本,每個樣本由54個維度表示(12個屬性,其中2個分別是onehot4維和onehot40維),以及target表示植被類型1-7,所有屬性值均為number,詳情可調用fetch_covtype()['DESCR']了解每個屬性的具體含義 |
fetch_kddcup99 | KDD競賽在1999年舉行時采用的數(shù)據(jù)集,KDD99數(shù)據(jù)集仍然是網絡入侵檢測領域的事實Benckmark,為基于計算智能的網絡入侵檢測研究奠定基礎,包含41項特征 |
fetch_lfw_pairs | 該任務稱為人臉驗證:給定一對兩張圖片,二分類器必須預測這兩個圖片是否來自同一個人。 |
fetch_lfw_people | 打好標簽的人臉數(shù)據(jù)集 |
fetch_mldata | 從?mldata.org?中下載數(shù)據(jù)集 |
fetch_olivetti_faces | Olivetti?臉部圖片數(shù)據(jù)集 |
fetch_rcv1 | 路透社新聞語聊數(shù)據(jù)集 |
fetch_species_distributions | 物種分布數(shù)據(jù)集 |
使用方法與自帶數(shù)據(jù)集一致,只是多了下載過程(示例:fetch_20newsgroups)
三、生成數(shù)據(jù)集
可以用來分類任務,可以用來回歸任務,可以用來聚類任務,用于流形學習的,用于因子分解任務的,用于分類任務和聚類任務的:這些函數(shù)產生樣本特征向量矩陣以及對應的類別標簽集合
make_blobs:多類單標簽數(shù)據(jù)集,為每個類分配一個或多個正態(tài)分布的點集
make_classification:多類單標簽數(shù)據(jù)集,為每個類分配一個或多個正態(tài)分布的點集,提供了為數(shù)據(jù)添加噪聲的方式,包括維度相關性,無效特征以及冗余特征等
make_gaussian-quantiles:將一個單高斯分布的點集劃分為兩個數(shù)量均等的點集,作為兩類
make_hastie-10-2:產生一個相似的二元分類數(shù)據(jù)集,有10個維度
make_circle和make_moons:產生二維二元分類數(shù)據(jù)集來測試某些算法的性能,可以為數(shù)據(jù)集添加噪聲,可以為二元分類器產生一些球形判決界面的數(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ù)集
MS-COCO
COCO是一個可用于object detection, segmentation and caption的大型數(shù)據(jù)集。
http://cocodataset.org/#home
ImageNet
圖像總數(shù)約1,500,000; 每個都有多個邊界框和相應的類標簽。
大小:約150GB
http://www.image-net.org
Yelp Reviews
它由數(shù)百萬用戶評論、商業(yè)類型和來自多個大型城市的超過20萬張照片組成。這在全球都是一個非常常用的NLP挑戰(zhàn)級數(shù)據(jù)集。
大小:2.66 GB JSON,2.9 GB SQL and 7.5 GB Photos(全部已壓縮)
數(shù)量:5,200,000條評論,174,000條商業(yè)類型,20萬張圖片和11個大型城市
https://www.yelp.com/dataset
……待補充
其它數(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
Google數(shù)據(jù)集
[需要科學上網]
https://toolbox.google.com/datasetsearch
科賽網
https://www.kesci.com/home/dataset
微軟數(shù)據(jù)集
https://msropendata.com/
……待補充
總結
本文為機器學習初學者提供了使用scikit-learn內置數(shù)據(jù)的方法,用兩行代碼就可以使用這些數(shù)據(jù),可以進行大部分的機器學習實驗了。
參考
https://scikit-learn.org/stable/datasets/index.html
https://blog.csdn.net/fendouaini/article/details/79871922
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統(tǒng)計學習方法》的代碼復現(xiàn)專輯 AI基礎下載機器學習的數(shù)學基礎專輯總結
以上是生活随笔為你收集整理的【机器学习基础】获取机器学习和深度学习的练习数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文相关】盘点AAAI2020中的四篇
- 下一篇: 【机器学习基础】机器学习中的特征工程总结