筆記:機器學習入門---鳶尾花分類數據庫
Sklearn 自己就有不少數據庫,能夠用來練習。 以 Iris 的數據爲例,這種花有四個屬性,花瓣的長寬,莖的長寬,根據這些屬性把花分爲三類:山鳶尾花Setosa、變色鳶尾花Versicolor、韋爾吉尼婭鳶尾花Virginica
。sklearn iris數據包含植物學家已經進行了分類鑑定的150朵不一樣的鳶尾花,咱們也能夠對每一朵鳶尾花進行準確測量獲得花萼花瓣的數據。機器學習
Code:學習
import numpy as np from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier iris=datasets.load_iris() iris_X=iris.data iris_Y=iris.target # print(iris.feature_names) # print(iris.target_names) # print(iris.target_names[iris.target[0]]) # print(iris_X) print(iris_Y) # 把150條數據分爲訓練集(135條)和測試集(條),其中的爲 test_size=0.1,即測試集佔總數據的10% X_train, X_test, y_train, y_test = train_test_split( iris_X, iris_Y, test_size=0.1) print(len(X_train)) print(len(X_test)) # 創建模型-訓練-預測 # 定義模塊方式 KNeighborsClassifier(), 用 fit 來訓練 training data knn = KNeighborsClassifier() knn.fit(X_train, y_train) print(knn.predict(X_test)) print(y_test)
Result:測試
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2] 135 15 [1 0 1 1 0 2 1 0 2 1 2 1 2 2 1] [1 0 1 1 0 2 1 0 2 1 2 1 2 2 1]