KNN 演算法 鳶尾花實戰案例

2021-10-09 23:18:17 字數 1635 閱讀 8565

from sklearn import datasets # sklearn的資料集

from sklearn.neighbors import kneighborsclassifier # sklearn模組的knn類

import numpy as np

np.random.seed(0)

#設定隨機種子,並保證產生的隨機數是一樣的

iris = datasets.load_iris(

)# 獲取鳶尾花資料集

print

(iris)

iris_x = iris.data # 資料部分

iris_y = iris.target # 類別部分

# 從150條資料中選取140條作為訓練集,10條作為測試集

# permutation接受乙個數作為引數,產生乙個0-149亂序的一維陣列

randomarr = np.random.permutation(

len(iris_x)

)iris_x_train = iris_x[randomarr[:-

10]]# 訓練集資料

iris_y_train = iris_y[randomarr[:-

10]]# 訓練集標籤

# 構建測試集

iris_x_test = iris_x[randomarr[-10

:]]# 測試集資料

iris_y_test = iris_y[randomarr[-10

:]]# 測試集標籤

# 定義乙個knn分類器物件

knn = kneighborsclassifier(

)# 呼叫改物件的訓練方法,主要接受兩個引數:訓練資料集合類別標籤

knn.fit(iris_x_train,iris_y_train)

# 呼叫**方法,主要接收乙個引數:測試資料集

iris_y_predict = knn.predict(iris_x_test)

# 計算各個測試樣本**的概率值

# 這裡沒有使用概率值,但是在實際工作中,可能會參考概率值進行最後結果的篩選,而不是直接使用給出的**標籤

probility = knn.predict_proba(iris_x_test)

# 計算與最後乙個測試樣本距離最近的5個點,返回的是這些樣本的序號組成的陣列

neighbirpoint = knn.kneighbors(

[iris_x_test[-1

]],5

)# 呼叫物件的打分方法,計算出準確率

score = knn.score(iris_x_test,iris_y_test,sample_weight=

none

)# 輸出測試結果

print

('iris_y_predict='

)print

(iris_y_predict)

# 輸出原始測試資料集的正確標籤,以便方便對比

print

('iris_y_test'

)print

(iris_y_test)

# 輸出準確率

print

('準確率:'

.format

(score)

)

knn演算法 鳶尾花

knn分類演算法實現鳶尾花 對鳶尾花利用knn演算法進行分類,利用python的sklean庫極大方便了python的使用,減少了大量 的書寫。knn演算法的 是通過計算歐氏距離來確定 鳶尾花的結果,遍歷所有樣本集,計算待分類樣本與每個樣本的距離,計算並儲存後排序,尋找k個近鄰,最後輸出最小結果即為...

knn 鳶尾花例子

1.獲取資料集 2.資料基本處理 3.特徵工程 4.機器學習 模型訓練 5.模型評估 from sklearn.datasets import load iris from sklearn.model selection import train test split from sklearn.pr...

鳶尾花KNN演算法的重構

一 作業題目 鳶尾花的knn演算法重構 knn演算法又稱為k近鄰演算法,k的含義是指考慮訓練集中與新資料點最近的任意k個鄰居 比如說,距離新資料點最近的3個或5個鄰居 而不是只考慮距離新資料點最近的那乙個。然後,我們可以利用這些鄰居中數量最多的類分別作出 二 演算法設計 1 knn演算法的原理 如果...