使用KNN演算法實現水果分類器

2022-08-24 14:06:13 字數 1547 閱讀 9257

還是水果分類原始資料,這次使用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 pd

from 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.有幾個類別就設幾個標籤用來統...