快速入門Sklearn

2022-08-23 12:57:07 字數 2509 閱讀 7867

主要確定sklearn的基本流程,然後把sklearn當做螺絲刀來用就行了,需要什麼查什麼。

首先我們回顧一下機器學習的基本流程:

特徵工程,包括了資料清洗,資料標準版化,特徵選取,特徵降維

選取模型,這裡還包括了,超引數確定

模型驗證,利用各種不同指標對模型效能進行檢驗

這裡有乙個利用knn進行分類的例子。

from sklearn import neighbors, datasets, preprocessing

from sklearn.cross_validation import train_test_split

from sklearn.metrics import accuracy_score

iris = datasets.load_iris() # 資料集載入

x, y = iris.data[:, :2], iris.target

x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=33) # 訓練集測試集切分

scaler = preprocessing.standardscaler().fit(x_train) # 資料標準化處理

x_train = scaler.transform(x_train)

x_test = scaler.transform(x_test)

knn = neighbors.kneighborsclassifier(n_neighbors=5) # 初始化乙個空的模型

knn.fit(x_train, y_train) # 模型訓練

y_pred = knn.predict(x_test)

accuracy_score(y_test, y_pred) # 計算準確率

列舉了一些資料預處理的用法。詳細的特徵工程處理請翻閱參考。

其他用法翻閱速查表。

歸一化:

from sklearn.preprocessing import standardscaler

scaler = standardscaler().fit(x_train)

standardized_x = scaler.transform(x_train)

standardized_x_test = scaler.transform(x_test)

正則化:

模型選擇這裡有一張速查表可以使用。

對於那些可以學習得到引數我們很好處理,那麼那些不能通過學習的到引數的正確選擇是非常困難的,也是確定模型最難的一步。

一種方法是使用超引數搜尋:

import numpy as np

from sklearn.linear_model import ridge

from sklearn.grid_search import gridsearchcv

# 設定不同超引數值

alphas = np.array([1,0.1,0.01,0.001,0.0001,0])

# 設定模型

model = ridge()

grid = gridsearchcv(estimator=model, param_grid=dict(alpha=alphas))

grid.fit(x, y)

print(grid)

# 對超引數進行遍歷,檢視其表現

print(grid.best_score_)

print(grid.best_estimator_.alpha)

對模型的評估基本都在sklearn.metrics包裡面。

準確率:

# 模型自帶

knn.score(x_test, y_test)

# 匯入metrics包

from sklearn.metrics import accuracy_score

accuracy_score(y_test, y_pred)

回歸的f1等其他值。

from sklearn.metrics import classification_report

print(classification_report(y_test, y_pred))

特徵工程待完成

機器學習入門之sklearn

原始碼 from sklearn.datasets import load iris from sklearn.model selection import train test split def datasets demo sklearn資料集使用 return 獲取資料集 iris load ...

通過KNN例子,實現Sklearn入門

pip 安裝 安裝 scikit learn sklearn 最簡單的方法就是使用 pip 安裝它.首先確認自己電腦中有安裝 python 2.6 或 3.3 版本 numpy 1.6.1 scipy 0.9 然後開啟cmd視窗,使用如下命令安裝 pip3 install u scikit lear...

特徵工程入門與實踐 筆記 sklearn

目錄 一 特徵理解 1 定類資料 2 定序資料 3 定距資料 4 定比資料 二 清洗資料 1 識別缺失值 1 刪除缺失值的行 2 填充缺失值 醫學類資料禁用,因為要求真實 2 標準化 歸一化 三 特徵構建 1 定類特徵的填充 2 定量特徵的填充 3 定類特徵的編碼 4 定序特徵的編碼 5 連續值分箱...