日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

k近邻法matlab_机器学习系列(一)K近邻算法(KNN,KNearestNeigh

發(fā)布時(shí)間:2025/4/16 循环神经网络 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k近邻法matlab_机器学习系列(一)K近邻算法(KNN,KNearestNeigh 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文源自微信公眾號(hào)【Python編程和深度學(xué)習(xí)】原文鏈接:機(jī)器學(xué)習(xí)系列(一)K-近鄰算法(KNN,K-Nearest-Neighbor),歡迎掃碼關(guān)注鴨!

目錄

一、算法概述
二、Python代碼
三、Matlab 代碼

一、算法概述

K-近鄰算法是最簡(jiǎn)單的分類器,沒有顯式的學(xué)習(xí)過程或訓(xùn)練過程,是懶惰學(xué)習(xí)(Lazy Learning),數(shù)據(jù)集事先已經(jīng)有了分類標(biāo)簽和數(shù)據(jù)特征值,對(duì)測(cè)試數(shù)據(jù)可以直接處理,其處理機(jī)制就是通過測(cè)量不同特征值之間的距離來(lái)進(jìn)行分類,簡(jiǎn)單說(shuō)就是如果測(cè)試樣本在特征空間中的k個(gè)最鄰近的樣本中,大多數(shù)樣本屬于某個(gè)類別,則該測(cè)試樣本也劃分到這個(gè)類別,KNN里的K就是最鄰近的K個(gè)數(shù)據(jù)樣本。

要確定綠圓屬于哪個(gè)類別,如果k=3,在其最近的3個(gè)樣本中紅色三角形數(shù)量最多,綠圓屬于紅色三角形類別,如果k=5,在其最近的5個(gè)樣本中藍(lán)色矩形數(shù)量最多,綠圓屬于藍(lán)色矩形類別,可見k的選擇很重要。

當(dāng)k很小時(shí),結(jié)果很容易受噪聲影響,容易發(fā)生過擬合。當(dāng)k很大時(shí),與測(cè)試樣本差別很大的樣本也會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生影響,k通常取奇數(shù),避免產(chǎn)生相等占比的情況。

我們?cè)谟?jì)算相鄰樣本的距離時(shí)一般采用歐式距離或者曼哈頓距離,公式如下:
歐式距離:
麥哈頓距離:
詳細(xì)的算法過程:
1)計(jì)算測(cè)試數(shù)據(jù)與各個(gè)訓(xùn)練數(shù)據(jù)之間的距離;
2)按照距離的遞增關(guān)系進(jìn)行排序;
3)選取距離最小的K個(gè)點(diǎn);
4)確定前K個(gè)點(diǎn)所在類別的出現(xiàn)頻率;
5)返回前K個(gè)點(diǎn)中出現(xiàn)頻率最高的類別作為測(cè)試數(shù)據(jù)的預(yù)測(cè)分類。
KNN的缺點(diǎn):
當(dāng)樣本數(shù)據(jù)量很大時(shí),需要大量的存儲(chǔ)空間,而且計(jì)算距離也會(huì)耗時(shí),不適用于隨機(jī)分布的數(shù)據(jù)和樣本不均衡的數(shù)據(jù)。

二、Python代碼

#!/usr/bin/env?python
#?-*-?coding:utf-8?-*-
import?csv
import?random
import?math
import?operator

#?加載數(shù)據(jù)集
def?loadDataset(filename,?split,?trainingSet?=?[],?testSet?=?[]):
????with?open(filename,?'r')?as?csvfile:
????????lines?=?csv.reader(csvfile)
????????dataset?=?list(lines)
????????for?x?in?range(len(dataset)-1):
????????????for?y?in?range(4):
????????????????dataset[x][y]?=?float(dataset[x][y])
????????????if?random.random()?#將數(shù)據(jù)集隨機(jī)劃分
????????????????trainingSet.append(dataset[x])
????????????else:
????????????????testSet.append(dataset[x])

#?計(jì)算點(diǎn)之間的距離,多維度的
def?euclideanDistance(instance1,?instance2,?length):
????distance?=?0
????for?x?in?range(length):
????????distance?+=?pow((instance1[x]-instance2[x]),?2)
????return?math.sqrt(distance)

#?獲取k個(gè)鄰居
def?getNeighbors(trainingSet,?testInstance,?k):
????distances?=?[]
????length?=?len(testInstance)-1
????for?x?in?range(len(trainingSet)):
????????dist?=?euclideanDistance(testInstance,?trainingSet[x],?length)
????????distances.append((trainingSet[x],?dist))???#獲取到測(cè)試點(diǎn)到其他點(diǎn)的距離
????distances.sort(key=operator.itemgetter(1))????#對(duì)所有的距離進(jìn)行排序
????neighbors?=?[]
????for?x?in?range(k):???#獲取到距離最近的k個(gè)點(diǎn)
????????neighbors.append(distances[x][0])
????????return?neighbors

#?得到這k個(gè)鄰居的分類中最多的那一類
def?getResponse(neighbors):
????classVotes?=?{}
????for?x?in?range(len(neighbors)):
????????response?=?neighbors[x][-1]
????????if?response?in?classVotes:
????????????classVotes[response]?+=?1
????????else:
????????????classVotes[response]?=?1
????sortedVotes?=?sorted(classVotes.items(),?key=operator.itemgetter(1),?reverse=True)
????return?sortedVotes[0][0]???#獲取到票數(shù)最多的類別

#計(jì)算預(yù)測(cè)的準(zhǔn)確率
def?getAccuracy(testSet,?predictions):
????correct?=?0
????for?x?in?range(len(testSet)):
????????if?testSet[x][-1]?==?predictions[x]:
????????????correct?+=?1
????return?(correct/float(len(testSet)))*100.0
def?main():
????#prepare?data
????trainingSet?=?[]
????testSet?=?[]
????split?=?0.67
????loadDataset(r'irisdata.txt',?split,?trainingSet,?testSet)
????print('Trainset:?'?+?repr(len(trainingSet)))
????print('Testset:?'?+?repr(len(testSet)))
????#generate?predictions
????predictions?=?[]
????k?=?3
????for?x?in?range(len(testSet)):
????????#?trainingsettrainingSet[x]
????????neighbors?=?getNeighbors(trainingSet,?testSet[x],?k)
????????result?=?getResponse(neighbors)
????????predictions.append(result)
????????print?('predicted='?+?repr(result)?+?',?actual='?+?repr(testSet[x][-1]))
????print('predictions:?'?+?repr(predictions))
????accuracy?=?getAccuracy(testSet,?predictions)
????print('Accuracy:?'?+?repr(accuracy)?+?'%')

if?__name__?==?'__main__':
main()
在實(shí)際使用時(shí),可以用sklearn庫(kù),簡(jiǎn)單易用,例如

from?sklearn?import?neighbors???//包含有kNN算法的模塊
knn?=?neighbors.KNeighborsClassifier()
knn.fit(data,?target)
predictedLabel?=?knn.predict(testdata)

三、Matlab 代碼

%%?KNN
clear?all
clc
%%?data
trainData?=?[1.0,2.0;1.2,0.1;0.1,1.4;0.3,3.5];
trainClass?=?[1,1,2,2];
testData?=?[0.5,2.3];
k?=?3;

%%?distance
row?=?size(trainData,1);
col?=?size(trainData,2);
test?=?repmat(testData,row,1);
dis?=?zeros(1,row);
for?i?=?1:row
????diff?=?0;
????for?j?=?1:col
????????diff?=?diff?+?(test(i,j)?-?trainData(i,j)).^2;
????end
????dis(1,i)?=?diff.^0.5;
end

%%?sort
jointDis?=?[dis;trainClass];
sortDis=?sortrows(jointDis');
sortDisClass?=?sortDis';

%%?find
class?=?sort(2:1:k);
member?=?unique(class);
num?=?size(member);

max?=?0;
for?i?=?1:num
????count?=?find(class?==?member(i));
????if?count?>?max
????????max?=?count;
????????label?=?member(i);
????end
end
disp('最終的分類結(jié)果為:');
fprintf('%d\n',label)

部分轉(zhuǎn)自:https://www.cnblogs.com/jyroy/p/9427977.html
https://www.cnblogs.com/ybjourney/p/4702562.html

總結(jié)

以上是生活随笔為你收集整理的k近邻法matlab_机器学习系列(一)K近邻算法(KNN,KNearestNeigh的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩美女国产精品 | 真实的国产乱xxxx在线91 | 亚欧色视频 | 97超碰网 | 性一交一乱一透一a级 | 丰满人妻在公车被猛烈进入电影 | 翔田千里一区二区三区av | 依依综合网 | 亚洲不卡av一区二区 | 欧美日韩一区在线 | 亚洲图片欧美激情 | 九月婷婷 | 日本www高清 | 欧美久久久久久又粗又大 | 在线看你懂得 | 国产91专区 | 国产在线视频在线观看 | 国产免费久久久 | 欧美一区二区最爽乱淫视频免费看 | 嫩草大剧院 | 伊人久久大香线 | 最近免费中文字幕大全免费版视频 | 99久久人妻精品免费二区 | 欧美一级片免费在线观看 | 久久久久久久久影院 | 国产免费黄色小视频 | 中国大陆高清aⅴ毛片 | 干欧美 | 久久精品人妻av一区二区三区 | 色婷婷久久久亚洲一区二区三区 | 色哟哟在线| 欧美大片网站 | 国产精品一区在线观看你懂的 | 色婷婷狠狠 | 亚洲国产精品久久AV | 天天射天天干天天 | 亚洲免费观看在线 | 图片区偷拍区小说区 | 免费一区二区在线观看 | 国产精视频 | 2014亚洲天堂 | 亚洲熟妇一区二区三区 | 9191在线视频 | 又大又粗欧美黑人aaaaa片 | 精品国精品国产自在久不卡 | 24小时日本在线www免费的 | 天天想你在线观看完整版电影免费 | 亚洲永久无码精品一区二区 | 99视频在线免费 | 日韩一级大片 | 伊人久久超碰 | 亚洲激情视频一区 | 日本视频www | 亚洲精品综合在线观看 | 亚洲a成人 | 久久成人午夜 | 欧美精品亚洲精品 | 亚洲免费一区二区 | 天堂影视在线观看 | 精品一区二区三区在线免费观看 | 欧美在线不卡 | 日本亚洲最大的色成网站www | www亚洲一区 | 国产999精品| 国产成人毛片 | 日韩电影中文字幕 | 白浆四溢 | 日韩国产精品一区 | 国产又粗又长又黄的视频 | 国产精品自拍区 | av大片在线免费观看 | 日韩美女做爰高潮免费 | 古装三级吃奶做爰 | 在线亚洲欧美 | 黄色avv | 91麻豆精品国产91久久久更新时间 | 中文字幕视频在线观看 | 黄色一及毛片 | 日本免费三片在线播放 | 亚洲综合无码一区二区 | 欧美在线不卡 | 亚洲天堂网一区二区 | 成人黄色视屏 | 国产福利视频网站 | 久久天堂av综合合色蜜桃网 | 色妞综合 | 午夜综合| 韩日av在线播放 | 亚洲字幕| 国产视频一区二区三区在线 | 欧美国产日韩精品 | 亚欧日韩 | 亚洲17p| 三级全黄做爰龚玥菲在线 | 亚洲美女福利视频 | 久久精品国产露脸对白 | 欧美性另类 | 毛片在线观看网站 | 国产女人与zoxxxx另类 |