亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python機器學習之KNN分類算法

2020-02-15 22:17:36
字體:
來源:轉載
供稿:網友

本文為大家分享了python機器學習之KNN分類算法,供大家參考,具體內容如下

1、KNN分類算法

KNN分類算法(K-Nearest-Neighbors Classification),又叫K近鄰算法,是一個概念極其簡單,而分類效果又很優秀的分類算法。

他的核心思想就是,要確定測試樣本屬于哪一類,就尋找所有訓練樣本中與該測試樣本“距離”最近的前K個樣本,然后看這K個樣本大部分屬于哪一類,那么就認為這個測試樣本也屬于哪一類。簡單的說就是讓最相似的K個樣本來投票決定。

這里所說的距離,一般最常用的就是多維空間的歐式距離。這里的維度指特征維度,即樣本有幾個特征就屬于幾維。

KNN示意圖如下所示。(圖片來源:百度百科)

上圖中要確定測試樣本綠色屬于藍色還是紅色。

顯然,當K=3時,將以1:2的投票結果分類于紅色;而K=5時,將以3:2的投票結果分類于藍色。

KNN算法簡單有效,但沒有優化的暴力法效率容易達到瓶頸。如樣本個數為N,特征維度為D的時候,該算法時間復雜度呈O(DN)增長。

所以通常KNN的實現會把訓練數據構建成K-D Tree(K-dimensional tree),構建過程很快,甚至不用計算D維歐氏距離,而搜索速度高達O(D*log(N))。

不過當D維度過高,會產生所謂的”維度災難“,最終效率會降低到與暴力法一樣。

因此通常D>20以后,最好使用更高效率的Ball-Tree,其時間復雜度為O(D*log(N))。

人們經過長期的實踐發現KNN算法雖然簡單,但能處理大規模的數據分類,尤其適用于樣本分類邊界不規則的情況。最重要的是該算法是很多高級機器學習算法的基礎。

當然,KNN算法也存在一切問題。比如如果訓練數據大部分都屬于某一類,投票算法就有很大問題了。這時候就需要考慮設計每個投票者票的權重了。

2、測試數據

測試數據的格式仍然和前面使用的身高體重數據一致。不過數據增加了一些:

1.5 40 thin
1.5 50 fat
1.5 60 fat
1.6 40 thin
1.6 50 thin
1.6 60 fat
1.6 70 fat
1.7 50 thin
1.7 60 thin
1.7 70 fat
1.7 80 fat
1.8 60 thin
1.8 70 thin
1.8 80 fat
1.8 90 fat
1.9 80 thin
1.9 90 fat

3、Python代碼

scikit-learn提供了優秀的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_splitimport 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) ''' 創建網格以方便繪制 '''h = .01x_min, x_max = x[:, 0].min() - 0.1, x[:, 0].max() + 0.1y_min, y_max = x[:, 1].min() - 1, x[:, 1].max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max, h),   np.arange(y_min, y_max, h)) ''' 訓練KNN分類器 '''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'])) ''' 將整個測試空間的分類結果用不同顏色區分開'''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()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美裸体男粗大视频在线观看| 国产亚洲欧洲高清一区| 久久69精品久久久久久国产越南| 色婷婷久久一区二区| 亚洲精品一区久久久久久| 在线日韩精品视频| 亚洲国产精品网站| 91精品国产色综合久久不卡98| 91精品久久久久久| 国产一区二区在线播放| 国产精品久久久久7777婷婷| 久久久亚洲网站| 亚洲电影天堂av| 欧美专区福利在线| 国产成人涩涩涩视频在线观看| 欧美黄色小视频| 8090理伦午夜在线电影| 91在线观看免费高清完整版在线观看| 成人激情在线播放| 另类少妇人与禽zozz0性伦| 午夜精品一区二区三区视频免费看| 亚洲18私人小影院| 亚洲无线码在线一区观看| 日韩免费视频在线观看| 日韩在线欧美在线国产在线| 在线看国产精品| 欧美激情xxxx| 日本a级片电影一区二区| 欧美肥老太性生活视频| 欧美日韩一区二区精品| 亚洲精品少妇网址| 欧美激情免费在线| 久久综合亚洲社区| 欧美电影免费观看高清| 亚洲国产欧美一区二区三区久久| 亚洲天堂av综合网| 亚洲视频999| 日韩久久精品电影| 国产精品免费久久久久影院| 欧美成人午夜激情视频| 国产精品一久久香蕉国产线看观看| 国产精品一二区| 亚洲精品资源美女情侣酒店| 欧美成人精品一区二区三区| 亚洲国产欧美一区二区丝袜黑人| 国精产品一区一区三区有限在线| 亚洲欧美国产精品va在线观看| 亚洲黄色免费三级| 国产99久久精品一区二区| 综合欧美国产视频二区| 视频在线观看99| 久久在线观看视频| 欧美大人香蕉在线| 国外成人免费在线播放| 欧美一区二区色| 午夜精品一区二区三区在线| 日本一欧美一欧美一亚洲视频| 日韩av手机在线观看| 亚洲欧美999| 91香蕉嫩草神马影院在线观看| 91精品国产91久久久久| 欧美黄色三级网站| 日韩精品视频免费| 久久久精品网站| 国产精品久久在线观看| 2019中文字幕在线| 日韩风俗一区 二区| 98精品国产高清在线xxxx天堂| 国产精品96久久久久久| 成人美女av在线直播| 日韩av手机在线观看| 欧美激情综合亚洲一二区| 亚洲欧美另类人妖| 欧美大码xxxx| 日韩欧美在线视频日韩欧美在线视频| 91久久夜色精品国产网站| 九九热精品视频国产| 中文字幕精品久久| 456国产精品| 黄色91在线观看| 亚洲一区美女视频在线观看免费| 久久久久久免费精品| 中文字幕日韩精品有码视频| 亚洲福利在线视频| 亚洲国产日韩精品在线| 亚洲性日韩精品一区二区| 欧美日韩电影在线观看| 亚洲色图综合久久| 久久99久久99精品中文字幕| 九九视频这里只有精品| 国产日韩欧美在线观看| 亚洲精品永久免费精品| 97视频在线免费观看| 亚洲精品综合精品自拍| 国产精品自产拍在线观| 国产亚洲精品综合一区91| 亚洲一区二区三区视频| 疯狂做受xxxx高潮欧美日本| 91精品啪aⅴ在线观看国产| 久久精品国亚洲| 国产欧美日韩丝袜精品一区| 久久久久久久影视| 亚洲欧美日韩在线高清直播| 日韩美女中文字幕| 亚洲午夜国产成人av电影男同| 亚洲人成网站色ww在线| 亚洲日本中文字幕免费在线不卡| 国产精品成人一区二区| 久久天天躁狠狠躁夜夜av| 国产精品视频一区二区高潮| 国产不卡av在线免费观看| 久久久999精品免费| 亚洲娇小xxxx欧美娇小| 九九久久精品一区| 亚洲性视频网站| 久久久久久中文字幕| 91亚洲国产成人久久精品网站| 亚洲精品久久久久久久久久久| 国产精品劲爆视频| 亚洲最大的免费| 欧美午夜宅男影院在线观看| 国产热re99久久6国产精品| 在线成人一区二区| 久久人人爽人人| 久久999免费视频| 草民午夜欧美限制a级福利片| 热门国产精品亚洲第一区在线| 久久久精品一区二区三区| 国产精品美女久久| 成人国产精品一区| 91黑丝高跟在线| 狠狠躁18三区二区一区| 国产一区二区精品丝袜| 国产一区二区三区在线免费观看| 久久99久久久久久久噜噜| 视频在线一区二区| 亚洲激情在线观看| 欧美性猛交xxxx免费看漫画| 日韩hd视频在线观看| 国产精品福利无圣光在线一区| 国产精品观看在线亚洲人成网| 成人h片在线播放免费网站| 国产视频久久久| 98精品国产自产在线观看| 91在线观看免费网站| 狠狠爱在线视频一区| 国内外成人免费激情在线视频| 欧洲亚洲女同hd| 98精品在线视频| 欧美美女15p| 欧美午夜影院在线视频| 亚洲精品99久久久久中文字幕| 一本一本久久a久久精品综合小说| 日本高清不卡的在线| 成人免费大片黄在线播放| 国产精品自拍小视频| www.亚洲成人| 日韩电影中文字幕一区| 一区二区三区天堂av| 最近2019年手机中文字幕| 亚洲在线观看视频网站| 久久久亚洲影院你懂的| 欧美成年人视频网站欧美| 国产香蕉97碰碰久久人人|