機器學習的第一步是準備資料,好的資料能幫助我們加深對機器學習演演算法的理解。
不管是在學習還是實際工作中,準備資料永遠是一個枯燥乏味的步驟。scikit-learn
庫顯然看到了這個痛點,才在它的資料載入子模組中為我們準備了直接可用的資料集。
在它的資料載入子模組中,提供了6種直接可用來學習演演算法的經典資料集,被稱為 Toy Datasets
,
也就是本篇準備介紹的玩具資料集。
著名的鳶尾花資料集,最初由R.A.費舍爾爵士使用。
資料集取自費舍爾的論文。
from sklearn.datasets import load_iris
# 載入後的資料集 ds 是一個字典
ds = load_iris()
ds
直接的返回的字典中,除了資料還包含一些描述資料的元資訊。
如果想要直接得到用於分析的資料,載入時設定如下的引數:
# as_frame 引數將資料部分設為pandas的Dataframe格式
# return_X_y 參數列示返回 (data, target) 格式
ds = load_iris(as_frame=True, return_X_y=True)
ds[0] # Dataframe格式的資料
鳶尾花資料集是一個簡單的多級分類資料集。
概況 | 說明 |
---|---|
樣本分類 | 3種 |
每種分類樣本數 | 50 |
樣本總數 | 150 |
樣本維度 | 4 |
樣本特徵 | real , positive 兩種 |
這個資料集可作為下列機器學習演演算法的測試資料:
這是一個可用於迴歸任務的糖尿病資料集。
from sklearn.datasets import load_diabetes
# 與鳶尾花資料集載入相比,多了個 scaled 引數
# scaled=False時,返回特徵變數的原始資料
# scaled=True時,則以均值為中心,進行縮放
ds = load_diabetes(as_frame=True, return_X_y=True, scaled=False)
ds[0]
概況 | 說明 |
---|---|
樣本總數 | 442 |
樣本維度 | 10 |
特徵 | -.2 < x < .2 實數 |
目標 | 25 - 346 整數 |
這個資料集可作為下列機器學習演演算法的測試資料:
這是一個用於多分類任務的數位識別資料集。
from sklearn.datasets import load_digits
ds = load_digits(as_frame=True, return_X_y=True)
ds[0]
概況 | 說明 |
---|---|
樣本分類 | 10種 |
每種分類樣本數 | 約180 |
樣本總數 | 1797 |
樣本維度 | 64 |
樣本特徵 | 0~16 整數 |
這個資料集可作為下列機器學習演演算法的測試資料:
需要注意的是,由於這個資料集的特徵是影象畫素值,因此不太適合用於非影象處理的機器學習演演算法。
這是一個用於多變數迴歸任務的資料集。
from sklearn.datasets import load_linnerud
ds = load_linnerud(as_frame=True, return_X_y=True)
ds[0]
概況 | 說明 |
---|---|
樣本總數 | 20 |
樣本維度 | 3 |
特徵 | 整數 |
目標 | 整數 |
這個資料集可作為下列機器學習演演算法的測試資料:
這是一個用於分類任務的葡萄酒資料集
from sklearn.datasets import load_wine
ds = load_wine(as_frame=True, return_X_y=True)
ds[0]
概況 | 說明 |
---|---|
樣本分類 | 3種 |
每種分類樣本數 | 3個分類中的樣本數分別為:59,71,48 |
樣本總數 | 178 |
樣本維度 | 13 |
樣本特徵 | 正的實數 |
這個資料集可作為下列機器學習演演算法的測試資料:
這是一個用於分類任務的乳腺癌資料集。
from sklearn.datasets import load_breast_cancer
ds = load_breast_cancer(as_frame=True, return_X_y=True)
ds[0]
概況 | 說明 |
---|---|
樣本分類 | 2種 |
每種分類樣本數 | 樣本數分別為:212,357 |
樣本總數 | 569 |
樣本維度 | 30 |
樣本特徵 | 正的實數 |
這個資料集可作為下列機器學習演演算法的測試資料:
這些資料集資料量不大,但是資料具有代表性,且種類豐富。
瞭解每種資料的特點,後續學習演演算法的時候,可以利用它們來實驗和驗證演演算法的使用。