機器學習與應用 part 2

機器學習與應用

第二天 機器學習與應用

  • 1.sklearn數據集與估計器
  • 2.分類算法k近鄰算法

一 sklearn 數據集與估計器

1.1 sklearn 數據集

  • 數據集劃分
  • sklearn數據集接口介紹
  • sklearn分類數據集
  • sklearn迴歸數據集

1.1.1 數據集的劃分

數據集劃分

思考:如果數據集全部用於訓練模型,有什麼問題?
只訓練了模型,沒有數據集對模型進行驗證,沒有模型的調優

機器學習數據集劃分爲訓練數據和測試數據:
訓練數據:運用訓練,構建模型
測試數據:在模型檢驗時使用,用於評估模型是否有效

1.1.2 數據集API

sklearn數據集劃分API
sklearn.model_selection.train_test_split
機器學習爲什麼不自己準備數據
自己準備數據集,耗時耗力,不一定真實。

1.1.2.1 sklearn 數據集API介紹

sklearn.datasets
加載獲取流行數據集
datasets.load_*()
獲取小規模數據集,數據包含在datasets裏

datasets.fetch_*(data_home=None)
獲取大規模數據集,需要從網絡上下載,函數的第一個參數data_home,表示數據集下載的目錄,默認是 ~/scikit_learn_data/

1.1.2.2 獲取數據集返回的類型

load和fetch返回的數據類型datasets.base.Bunch(字典格式)
data:特徵數據數組,是 [n_samples * n_features] 的二維 numpy.ndarray 數組
target:標籤數組,是 n_samples 的一維 numpy.ndarray 數組
DESCR:數據描述
feature_names:特徵名,新聞數據,手寫數字、迴歸數據集沒有
target_names:標籤名,迴歸數據集沒有

sklearn 分類數據集
用於分類的大數據集
sklearn 迴歸數據集

1.1.2.3 數據集進行分割

sklearn.model_selection.train_test_split(*arrays, **options)
x 數據集的特徵值
y 數據集的標籤值
test_size 測試集的大小,一般爲float
random_state 隨機數種子,不同的種子會造成不同的隨機
採樣結果。相同的種子採樣結果相同。
return 訓練集特徵值,測試集特徵值,訓練標籤,測試標籤
(默認隨機取)

1.1.2 轉換器與預估器

想一下之前做的特徵工程的步驟?
1、實例化 (實例化的是一個轉換器類(Transformer))
2、調用fit_transform(對於文檔建立分類詞頻矩陣,不能同時調用)
在這裏插入圖片描述

1.1.2.1 sklearn機器學習算法的實現-估計器

在sklearn中,估計器(estimator)是一個重要的角色,分類器和迴歸器都屬於estimator,是一類實現了算法的API

1、用於分類的估計器:
sklearn.neighbors k-近鄰算法
sklearn.naive_bayes 貝葉斯
sklearn.linear_model.LogisticRegression 邏輯迴歸
sklearn.tree 決策樹與隨機森林

2、用於迴歸的估計器:
sklearn.linear_model.LinearRegression 線性迴歸
sklearn.linear_model.Ridge 嶺迴歸

1.1.2.2 估計器工作流程

估計器工作流程

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