利用sklearn包中的k 近鄰演算法進行分類

2021-08-05 18:34:12 字數 1522 閱讀 6767

剛開始學習機器學習不久,這也是我第一次寫部落格。就先寫個簡單的,利用sklearn包中的knn分類器進行分類,分類的資料集為皮馬印第安人糖尿病資料集(pima-indians-diabetes.data.csv)。廢話不多說,直接上**,寫的不完善的地方,望大家指正。

#coding:utf-8

'''''

create by ma chao

august 4th

knn'''''

from sklearn.neighbors import nearestneighbors, kneighborsclassifier

from sklearn import datasets

import numpy as np

#載入資料集

def loaddataset(filename):

input =

output =

with open(filename) as fr:

for line in fr.readlines():

linearr = line.strip().split(',')

float(linearr[5]), float(linearr[6]), float(linearr[7])])

return input, output

if __name__ == "__main__":

input, output = loaddataset('pima-indians-diabetes.data.csv')

np.random.seed(0)

indices = np.random.permutation(len(input))

input_train = input[:-10]

output_train = output[:-10]

input_test = input[-10:]

output_test = output[-10:]

knn = kneighborsclassifier()

knn.fit(input_train, output_train)

output_predict = knn.predict(input_test)

prob = knn.predict_proba(input_test)

score = knn.score(input_test, output_test, sample_weight=none)

kneighbor = knn.kneighbors(input_test[:-1], 4)#找出與測試集中最後乙個元素距離最近的4個元素

print 'output_test:', output_test

print 'output_predic:', output_predict

print '****************'

print 'prob:', prob

print '****************'

print 'score:', score

sklearn學習 k近鄰

比如我們要 中心點的顏色,以k 3為半徑畫乙個圓 圖中實線圓 此時紅點多於藍點,那麼我們推測中心點為紅色,以k 5為半徑畫乙個圓 圖中虛線圓 此時藍點多於紅點,那麼我們推測中心點為藍色。鳶尾花種類的 如下 from sklearn import datasets from sklearn.model...

機器學習 sklearn之k 近鄰演算法

k 近鄰演算法 k nearest neighbour algorithm 又稱為knn演算法,是資料探勘技術中原理最簡單的演算法。knn 的工作原理 給定乙個已知標籤類別的訓練資料集,輸入沒有標籤的新資料後,在訓練資料集中找到與新資料最接近的k個例項,如果這k個例項中的多數屬於某個類別,那麼新資料...

K近鄰 自程式設計和sklearn實現)

思考k近鄰演算法的模型複雜度體現在 什麼情況下會造成過擬合?答 模型複雜度體現在k上 k較小時,容易造成過擬合 k較大時,容易造成欠擬合。給定乙個二維空間的資料集t 試基於歐式距離,找到資料點s 5,3 的最近鄰 k 1 並對s點進行分類 import numpy as np import matp...