機器學習入門(一)編寫入門程序

1.學習的步驟(本文及後續內容針對開發崗,不深入)

  • 1.數據的加載
  • 2.選擇模型
  • 3.模型的訓練
  • 4.模型的預測
  • 5.模型的評測
  • 6.模型的保存

2.機器學習庫sklearn

sklearn是機器學習中一個常用的python第三方模塊,裏面對一些常用的機器學習方法進行了封裝,不需要都實現所有的算法,只需要簡單的調用sklearn裏的模塊就可以實現機器學習任務

機器學習中評估算法的普遍實踐是把數據分割成訓練集(我們從中學習數據的屬性)和測試集(我們測試這些性質)

在這裏插入圖片描述

3.機器學習入門程序

按照上面的學習的步驟來編寫我們的機器學習程序

(一)導入數據集

這裏我們使用的sklearn裏自帶的數據集
加載iris和digits數據集

iris = datasets.load_iris()
#print(iris.data)

切分數據集

from sklearn.model_selection import train_test_split
#切分數據集,測試數據佔百分之40
#X爲特徵數據的切分,y爲對於的類別的劃分
X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.4,random_state=0)

(二)選擇模型

from sklearn import svm
svc = svm.SVC()

(三)訓練模型

svc.fit(X_train, y_train)

(四)模型預測

print(svc.predict([[5.84,4.4,6.9,2.5]]))

(五)模型評測

通常從算法類型選擇指標:

  • 分類指標 準確率( accuracy)
  • 迴歸指標 均方誤差(mean_squared_error),方均根差 RMSE(Root Mean Square Error)
  • 聚類指標

計算指標(這裏算的是準確率,從metrics裏可以調用其他指標的函數)

import numpy as np
from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]
accuracy_score(y_true, y_pred)

交叉驗證
給完整的數據進去,交叉驗證會將其分成cv份,每一份都會做一次測試集,其他的作爲訓練集進行計算,可以給scoring參數指定計算其他指標(召回率,均方差)

>>>from sklearn.model_selection import cross_val_score
>>>scores = cross_val_score(knn, iris.data, iris.target, cv=5)

(六)模型的保存

from sklearn.externals import joblib
#保存模型
joblib.dump(knn, 'filename.pkl') 
#加載模型
knn1 = joblib.load('filename.pkl') 
#測試讀取後的Model
print(knn1.score(X_test, y_test))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章