1. 程式人生 > >Scikit-learn快速入門教程和例項(一)

Scikit-learn快速入門教程和例項(一)

image.png

一,什麼是SKlearn

SciKit learn的簡稱是SKlearn,是一個python庫,專門用於機器學習的模組。
以下是它的官方網站,文件等資源都可以在裡面找到http://scikit-learn.org/stable/#
SKlearn包含的機器學習方式:
分類,迴歸,無監督,資料降維,資料預處理等等,包含了常見的大部分機器學習方法。
關於SKlearn的安裝,網上教程很多,再次不贅述。建議使用Anaconda,可以方便的安裝各種庫。
Anaconda教程http://python.jobbole.com/87522/
SKlearn給出瞭如何選擇正確的方法:
SKlearn


官網清晰圖:
http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
圖表對於什麼樣的問題,採用什麼樣的方法給出了清晰的描述,包括資料量不同的區分。

二,SKlearn的強大資料庫

1.鳶尾花資料集

開啟裡面的鳶尾花資料集,我們可以看到頁面上同樣有呼叫示例:

#呼叫模組
from sklearn.datasets import load_iris
data = load_iris()
#匯入資料和標籤
data_X = load_data.data
data_y = load.data.target

2.波士頓房價資料集

#換種方式呼叫模組,注意區別
from sklearn import datasets
loaded_data = datasets.load_boston()
#匯入資料
data_X = loaded_data.data
data_y = loaded_data.target

而且在SKlearn官網,對於每一個數據集,在後面都給出了,使用該資料集的示例,例如Boston房價資料集:
image.png

三,通用學習模式

SKlearn中學習模式的呼叫,有很強的統一性,很多都是類似的,學會一個,其他基本差不多。

1.鳶尾花資料集

針對上述已經匯入的鳶尾花資料集,繼續對其進行分析。

#匯入模組
from sklearn.model_selection import train_test_split
from sklearn import datasets
#k近鄰函式
fro, sklearn.neighbors import KNeighborClassifier
iris = datasets.load_iris()
#匯入資料和標籤
iris_X = iris.data
iris_y = iris.target
#劃分為訓練集和測試集資料
X_train, X_test, y_train, y_test = train_test_split(iris_X, iris_y, test_size=0.3)
#print(y_train)
#設定knn分類器
knn = KNeighborsClassifier()
#進行訓練
knn.fit(X_train,y_train)
#使用訓練好的knn進行資料預測
print(knn.predict(X_test))
print(y_test)

2.波士頓房價資料集

這裡,我們呼叫房價資料集,然後使用線性迴歸的方法對其進行預測

#同樣首先,我們呼叫模組
#matplotlib是python專門用於畫圖的庫
import matplotlib.pyplot as plt
from sklearn import datasets
#呼叫線性迴歸函式
from sklearn.linear_model import LinearRegression

#匯入資料集
#這裡將全部資料用於訓練,並沒有對資料進行劃分,上例中
#將資料劃分為訓練和測試資料,後面會講到交叉驗證
loaded_data = datasets.load_boston()
data_X = loaded_data.data
data_y = loaded_data.target

#設定線性迴歸模組
model = LinearRegression()
#訓練資料,得出引數
model.fit(data_X, data_y)

#利用模型,對新資料,進行預測,與原標籤進行比較
print(model.predict(data_X[:4,:]))
print(data_y[:4])