剛開始學習機器學習不久,這也是我第一次寫部落格。就先寫個簡單的,利用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...