還是水果分類原始資料,這次使用knn演算法實現水果分類器。k值選擇1、3、5、7,看**結果。
**結果截選如下:
k=1時,**整體準確率(accuracy)是:66.67%
**值是:[0];真實值是:0
**值是:[3];真實值是:3
**值是:[2];真實值是:2
k=3時,**整體準確率(accuracy)是:75.00%
**值是:[0];真實值是:0
**值是:[3];真實值是:3
**值是:[2];真實值是:2
k=5時,**整體準確率(accuracy)是:58.33%
k=7時,**整體準確率(accuracy)是:66.67%
import pandas as pdfrom sklearn.model_selection import train_test_split
from sklearn.neighbors import kneighborsclassifier
data_path = './data/fruit_data.csv'
output_dir = './output/'
'mandarin':1,
'lemon':2,
'orange':3
}feat_cols = ['mass','width','height','color_score']
k_values = [1,3,5,7]
if __name__ == '__main__':
data_df = pd.read_csv(data_path)
data_df['label'] = data_df['fruit_name'].map(label_dict)
x = data_df[feat_cols] # x = data_df[feat_cols].values也行,下同
y = data_df['label']
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=19)
for k in k_values:
knn_model = kneighborsclassifier(n_neighbors=k)
knn_model.fit(x_train,y_train)
accuracy = knn_model.score(x_test,y_test)
print('k={}時,**整體準確率(accuracy)是:%'.format(k,accuracy * 100))
# 看測試集裡每乙個值的**情況
for i in range(x_test.shape[0]):
pred_value = knn_model.predict([x_test.iloc[i].values])
true_value = y_test.iloc[i]
print('**值是:{};真實值是:{}'.format(pred_value, true_value))
print('__' * 60)
kNN分類器和Python演算法實現
假設生活中你突然遇到乙個陌生人,你對他很不了解,但是你知道他喜歡看什麼樣的電影,喜歡穿什麼樣的衣服。根據以前你的認知,你把你身邊的朋友根據喜歡的電影型別,和穿什麼樣的衣服,簡單的分為了兩類,有錢的和沒錢的。那你該怎麼將這個陌生人分類呢?物以類聚,人以群分,你看他喜歡看的電影和穿衣服的衣服和那群人比較...
Python 實現 KNN 分類演算法
2.python 實現 本文將詳細講述 knn 演算法及其 python 實現 knn k nearest neighbour 即 k最近鄰,是分類演算法中最簡單的演算法之一。knn 演算法的核心思想是如果乙個樣本在特徵空間中的 k 個最相鄰的樣本中的大多數屬於某乙個類別,則將該樣本歸為該類別 有 ...
python實現KNN分類演算法
k近鄰演算法,簡稱knn演算法,作用就是分類 三大要素 import numpy import matplotlib.pyplot as plt 已知訓練集和訓練集類別 測試集 1.測試集廣播和訓練集一樣的規格 2.計算距離 3.對距離列表排序返回最近的k個點的下標 4.有幾個類別就設幾個標籤用來統...