機器學習之sklearn數據集

本篇文章主要介紹sklearn數據集及其分類,快速獲取用於學習的數據。

數據集劃分

機器學習一般的數據集會劃分為兩個部分:

訓練數據:用於訓練,構建模型

測試數據:在模型檢驗時使用,用於評估模型是否有效

訓練數據和測試數據出自同一數據源,只是會把數據源的百分之八十左右當做訓練數據,剩下當做測試數據。數據的劃分無需自己動手劃分,sklearn有對應的api自動劃分。評估模型算法不同,評估的方式也不同。

數據劃分api

劃分api:

sklearn.model_selection.train_test_split


數據集api:

sklearn.datasets

• 加載獲取流行數據集

• datasets.load_*()

• 獲取小規模數據集,數據包含在datasets裡

• datasets.fetch_*(data_home=None)

• 獲取大規模數據集,需要從網絡上下載,函數的第一個參數是data_home,表示數據下載的目錄,默認是 ~/scikit_learn_data/

• load*和fetch*返回的數據類型datasets.base.Bunch(字典格式)

• data:特徵數據數組,是 [n_samples * n_features] 的二維

numpy.ndarray 數組

• target:目標值,標籤數組,是 n_samples 的一維 numpy.ndarray 數組

• DESCR:數據描述

• feature_names:特徵名,新聞數據,手寫數字、迴歸數據集沒有

• target_names:標籤名,迴歸數據集沒有

分類數據集

sklearn.datasets.load_iris() 加載並返回鳶尾花數據集

機器學習之sklearn數據集

樣本信息

少量數據實例:

from sklearn.datasets import load_iris

li = load_iris()
print("特徵數據數組")
print(li.data)
print("目標值")
print(li.target)
print("特徵名")
print(li.feature_names)
print("目標值")
print(li.target_names)
# print("數據描述")
# print(li.DESCR)

# x表示特徵值,y表示目標值
x_train, x_test, y_train, y_test = model_selection.train_test_split(li.data, li.target, test_size=0.25)
print("訓練集的特徵值和目標值", x_train, y_train)
print("測試集的特徵值和目標值", x_test, y_test)
機器學習之sklearn數據集

執行結果

大數據集實例:

from sklearn.datasets import fetch_20newsgroups

news = fetch_20newsgroups(subset='all')
print(news.data)
print(news.target)

需要下載數據,執行結果會比較多,數量大

迴歸數據集

sklearn.datasets.load_boston() 加載並返回波士頓房價數據集


機器學習之sklearn數據集

樣本信息

from sklearn.datasets import load_iris, fetch_20newsgroups, load_boston

lb = load_boston()
print("獲取特徵值")
print(lb.data)
print("目標值")
print(lb.target)
 
機器學習之sklearn數據集

執行結果

後續會持續更新由淺入深機器學習的技術文章,有興趣的朋友可看我之前的文章,關注我隨時瞭解人工智能


機器學習之sklearn數據集


分享到:


相關文章: