分類演算法 K 近鄰演算法

2022-06-08 06:15:12 字數 1610 閱讀 1590

如果乙個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。

兩個樣本的距離可以通過如下公式計算,又叫歐式距離

案例:

from

sklearn.datasets import load_iris

from

sklearn.model_selection import train_test_split

from

sklearn.preprocessing import standardscaler

from

sklearn.neighbors import kneighborsclassifier

def knn_iris():

"""用knn演算法對鳶尾花進行分類

:return

:

""" # 1

)獲取資料

iris =load_iris()

# 2)劃分資料集

x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22

) #

3)特徵工程:標準化

transfer =standardscaler()

x_train =transfer.fit_transform(x_train)

x_test =transfer.transform(x_test)

# 4)knn演算法預估器

estimator = kneighborsclassifier(n_neighbors=3

) estimator.fit(x_train, y_train)

# 5)模型評估

# 方法1:直接比對真實值和**值

y_predict =estimator.predict(x_test)

print(

"y_predict:\n

", y_predict)

print(

"直接比對真實值和**值:\n

", y_test ==y_predict)

# 方法2:計算準確率

score =estimator.score(x_test, y_test)

print(

"準確率為:\n

", score)

return

none

if __name__ == "

__main__":

# **1: 用knn演算法對鳶尾花進行分類

分類演算法 k近鄰演算法

k最近鄰 k nearest neighbor,knn 分類演算法,是乙個理論上比較成熟的方法,也是最簡單的機器學習演算法之一。該方法的思路是 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。用官方的話來說,所謂k近鄰演算法,即是給定...

K近鄰(KNN) 分類演算法

k近鄰 knn 分類演算法 knn是non parametric分類器 不做分布形式的假設,直接從資料估計概率密度 是memory based learning.knn不適用於高維資料 curse of dimension machine learning的python庫很多,比如mlpy 更多pa...

K近鄰分類演算法實現 in Python

k近鄰 knn 分類演算法 knn是non parametric分類器 不做分布形式的假設,直接從資料估計概率密度 是memory based learning.knn不適用於高維資料 curse of dimension machine learning的python庫很多,比如mlpy 更多pa...