欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
KNN算法的python實(shí)現--基于scikit_learn
 
KNN分類(lèi)算法(K-Nearest-Neighbors Classification),又叫K近鄰算法算法原理非常的簡(jiǎn)單,但是非常的實(shí)用,在機器學(xué)習領(lǐng)域運用十分的廣泛其核心思想是,要確定樣本屬于哪一類(lèi),就去尋找所有訓練樣本中與該測試樣本"距離"最近的前K個(gè)樣本,然后看這K個(gè)樣本大部分屬于哪一類(lèi),那么就認為這個(gè)測試樣本也屬于哪一類(lèi)。簡(jiǎn)單的說(shuō)就是讓最相似的K個(gè)樣本來(lái)投票決定。這里所說(shuō)的距離,一般最常用的就是多維空間的歐式距離。這里的維度指特征維度,即樣本有幾個(gè)特征就屬于幾維示意圖如圖一

 
上圖中要確定測試樣本綠色屬于藍色還是紅色當K=3時(shí),將以1:2的投票結果分類(lèi)于紅色;而K=5時(shí),將以3:2的投票結果分類(lèi)于藍色這個(gè)也很有哲學(xué)意味,想當年的日心說(shuō),視野決定高度,現在認為是對的東西,說(shuō)不定幾十年后就是荒謬scikit-learn提供了優(yōu)秀的KNN算法支持。

使用Python代碼如下
# -*- coding: utf-8 -*-
import numpy as npfrom sklearn
 
import neighborsfrom sklearn.metrics
import precision_recall_curvefrom sklearn.metrics
import classification_reportfrom sklearn.cross_validation
import train_test_split
import matplotlib.pyplot as plt

 

''' 數據讀入 '''

data = []
labels = []
with open("data\\1.txt") as ifile:
       
 for line in ifile:
tokens = line.strip().split(' ')
           
 data.append([float(tk) for tk in tokens[:-1]])
labels.append(tokens[-1])
x = np.array(data)

labels = np.array(labels)
y = np.zeros(labels.shape)

 

''' 標簽轉換為0/1 '''

y[labels=='fat']=1 

 
 ''' 拆分訓練數據與測試數據 '''
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2)

 

''' 創(chuàng )建網(wǎng)格以方便繪制 '''
h = .01
x_min, x_max = x[:, 0].min() - 0.1, x[:, 0].max() + 0.1
y_min, y_max = x[:, 1].min() - 1, x[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))

 
''' 訓練KNN分類(lèi)器 '''
clf = neighbors.KNeighborsClassifier(algorithm='kd_tree')
clf.fit(x_train, y_train)
 

'''測試結果的打印'''
answer = clf.predict(x)
print(x)
print(answer)
print(y)
print(np.mean( answer == y))

 

'''準確率與召回率'''
precision, recall, thresholds = precision_recall_curve(y_train, clf.predict(x_train))
answer = clf.predict_proba(x)[:,1]
print(classification_report(y, answer, target_names = ['thin', 'fat']))

''' 將整個(gè)測試空間的分類(lèi)結果用不同顏色區分開(kāi)'''
answer = clf.predict_proba(np.c_[xx.ravel(), yy.ravel()])[:,1]
z = answer.reshape(xx.shape)
plt.contourf(xx, yy, z, cmap=plt.cm.Paired, alpha=0.8)

 
''' 繪制訓練樣本 '''
plt.scatter(x_train[:, 0], x_train[:, 1], c=y_train, cmap=plt.cm.Paired)
plt.xlabel(u'身高')
plt.ylabel(u'體重')
plt.show()
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Python遇見(jiàn)機器學(xué)習 ---- k近鄰(kNN)算法
8種頂級Python機器學(xué)習算法-你必須學(xué)習
Python機器學(xué)習筆記——隨機森林算法!最詳細的筆記沒(méi)有之一
真香警告!用 Python 實(shí)現 KNN 算法也太簡(jiǎn)單了吧
機器學(xué)習第3章分類(lèi)
第二周:如何評價(jià)模型的好壞
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久