Sklearn 筆記

Sklearn 本身就有很多數(shù)據(jù)庫,可以用來練習(xí)。 以 Iris 的數(shù)據(jù)為例,這種花有四個屬性,花瓣的長寬,莖的長寬,根據(jù)這些屬性把花分為三類。

用分類器 把四種類型的花分開


導(dǎo)入模塊

from sklearn import datasets

from sklearn.model_selection import train_test_split

from sklearn.neighbors import KNeighborsClassifier

創(chuàng)建數(shù)據(jù)

加載iris 的數(shù)據(jù) 把屬性存在X.類別標(biāo)簽存在y

iris = datasets.load_iris()

iris_X=iris.data

iris_y = iris.target

觀察數(shù)據(jù)集,x有四個屬性 y 有0, 1,2 三類

print(iris_X[:2,:])


print(iris_y)


把數(shù)據(jù)集分為訓(xùn)練集 和測試集 ,其中test_size = 0.3 ,即 測試集占總數(shù)據(jù)的30%

X_train,X_test,y_train,y_test =train_test_split(iris_X,iris_y,test_size = 0.3)

print(y_train)


導(dǎo)入模塊

from __future__import print_function

from sklearn import datasets

from sklearn.linear_model import LinearRegression

import matplotlib.pyplot as plt

導(dǎo)入數(shù)據(jù)- 訓(xùn)練模型

用 datasets.load_boston() 的形式 加載數(shù)據(jù),并給 X 和 y 賦值

loaded_data =datasets.load_boston()

data_X =loaded_data.data

data_y = loaded_data.target

?定義模型

可以直接用默認(rèn)值去建立 model,默認(rèn)值也不錯,也可以自己改變參數(shù)使模型更好,然后用training data 去訓(xùn)練模型

model = LinearRegression()

model.fit(data_X,data_y)

打印出預(yù)測值,這里用X的前四個來預(yù)測 同時打印真實值,作為對比

print(model.predict(data_X[:4,:]))

print(data_y[:4])

創(chuàng)建虛擬數(shù)據(jù)-可視化

用函數(shù)來建立 100個sample? 有一個feature 喝一個target 這樣比較方便可視化

X,y=datasets.make_regression(n_samples=100,n_features=1,n_targets=1,noise=10)

用scatter的形式來輸出結(jié)果。

plt.scatter(X,y)

plt.show()


noise越大的話,點就會越來越離散,例如noise由 10 變?yōu)?50.

X,y=datasets.make_regression(n_samples=100,n_features=1,n_targets=1,noise=50)

plt.scatter(X,y)

plt.show()


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容