欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

python機(jī)器學(xué)習(xí)之KNN分類算法-創(chuàng)新互聯(lián)

本文為大家分享了python機(jī)器學(xué)習(xí)之KNN分類算法,供大家參考,具體內(nèi)容如下

站在用戶的角度思考問題,與客戶深入溝通,找到萬山網(wǎng)站設(shè)計與萬山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋萬山地區(qū)。

1、KNN分類算法

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

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

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

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

python機(jī)器學(xué)習(xí)之KNN分類算法

上圖中要確定測試樣本綠色屬于藍(lán)色還是紅色。

顯然,當(dāng)K=3時,將以1:2的投票結(jié)果分類于紅色;而K=5時,將以3:2的投票結(jié)果分類于藍(lán)色。

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

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

不過當(dāng)D維度過高,會產(chǎn)生所謂的”維度災(zāi)難“,最終效率會降低到與暴力法一樣。

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

人們經(jīng)過長期的實踐發(fā)現(xiàn)KNN算法雖然簡單,但能處理大規(guī)模的數(shù)據(jù)分類,尤其適用于樣本分類邊界不規(guī)則的情況。最重要的是該算法是很多高級機(jī)器學(xué)習(xí)算法的基礎(chǔ)。

當(dāng)然,KNN算法也存在一切問題。比如如果訓(xùn)練數(shù)據(jù)大部分都屬于某一類,投票算法就有很大問題了。這時候就需要考慮設(shè)計每個投票者票的權(quán)重了。

2、測試數(shù)據(jù)

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

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提供了優(yōu)秀的KNN算法支持。使用Python代碼如下:

# -*- coding: utf-8 -*-
import numpy as np
from sklearn import neighbors
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import classification_report
from sklearn.cross_validation import train_test_split
import matplotlib.pyplot as plt
 
''' 數(shù)據(jù)讀入 '''
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)
 
''' 標(biāo)簽轉(zhuǎn)換為0/1 '''
y[labels=='fat']=1
 
''' 拆分訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù) '''
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))
 
''' 訓(xùn)練KNN分類器 '''
clf = neighbors.KNeighborsClassifier(algorithm='kd_tree')
clf.fit(x_train, y_train)
 
'''測試結(jié)果的打印'''
answer = clf.predict(x)
print(x)
print(answer)
print(y)
print(np.mean( answer == y))
 
'''準(zhǔn)確率與召回率'''
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']))
 
''' 將整個測試空間的分類結(jié)果用不同顏色區(qū)分開'''
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)
 
''' 繪制訓(xùn)練樣本 '''
plt.scatter(x_train[:, 0], x_train[:, 1], c=y_train, cmap=plt.cm.Paired)
plt.xlabel(u'身高')
plt.ylabel(u'體重')
plt.show()

當(dāng)前題目:python機(jī)器學(xué)習(xí)之KNN分類算法-創(chuàng)新互聯(lián)
文章路徑:http://aaarwkj.com/article48/gjohp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化、做網(wǎng)站移動網(wǎng)站建設(shè)、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
亚洲av免费一区二区三区| 精品人妻一区三区蜜桃| 国产一级二级三级黄色| 欧美精品蜜桃激情一区久久| av一级免费在线观看| 中文字幕女同系列av厨房| 白嫩少妇情久久密月久久| 熟妇丰满多毛的大阴户| 四虎最新在线播放视频| 亚洲综合日韩精品国产av| 国产成人亚洲精品乱码| 青青草原免费在线观看| 最新在线中文字幕av不卡| 蜜桃精品人妻一区二区三区| 日韩亚洲欧美不卡在线| 亚洲精品成人午夜久久| 日韩精品一区二区三区电影在线播放| av资源在线观看少妇丰满| 人妻少妇性色精品专区av| 午夜福利日本一区二区| 国产国产精品人在线观看 | 91在线播放欧美国产视频| 少妇精品偷拍高潮少妇在线观看| 久久午夜av一区二区| 精品一区2区3区4区| 日韩一区二区三区中文字幕| 日韩av一区二区国产| 国产三级国产精品国产| 毛茸茸的阴户在线观看| 欧美中文日韩国产字幕| 日本视频天堂在线不卡| 开裆丝袜高跟啪啪高潮av| 日本一区二区高清网址| 白白色成人永久在线观看视频| 一区二区人妻乳中文字幕| 91亚洲熟妇国产熟妇肥婆| 麻豆久久av免费观看| 四虎久久久最新网址| 熟女少妇精品一区二区三区| 91在线观看高清免费| 中文字幕人妻日韩在线|