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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

knn算法实现电影分类

發(fā)布時(shí)間:2024/1/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 knn算法实现电影分类 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

KNN英文全稱K-nearst neighbor,中文名稱為K近鄰算法,它是由Cover和Hart在1968年提出來(lái)的
KNN算法原理:

  • 計(jì)算已知類別數(shù)據(jù)集中的點(diǎn)與當(dāng)前點(diǎn)之間的距離;
  • 按照距離遞增次序排序;
  • 選擇與當(dāng)前距離最小的k個(gè)點(diǎn);
  • 確定前k個(gè)點(diǎn)所在類別的出現(xiàn)概率
  • 返回前k個(gè)點(diǎn)出現(xiàn)頻率最高的類別作為當(dāng)前點(diǎn)的預(yù)測(cè)分
  • #-*-coding:utf-8-*- import numpy as np import pandas as pd def distance(v1,v2):dist=np.sqrt(np.sum(np.power((v1-v2),2)))return dist #加載數(shù)據(jù) data=pd.read_excel('./電影分類數(shù)據(jù).xlsx') #獲取訓(xùn)練集 train=data.iloc[:,:6] print('train',train) #獲取訓(xùn)練集的特征值與目標(biāo)值 train_x=train.iloc[:,:-1] train_y=train.iloc[:,-1] #獲取測(cè)試集 test=data.columns[-4:] print('test',test) #進(jìn)行計(jì)算距離 #循環(huán)計(jì)算每一個(gè)樣本與測(cè)試集的距離 for i in range(train.shape[0]):#計(jì)算距離dist=distance(train_x.iloc[i,2:5],test[1:])train.loc[1,'dist']=dist #對(duì)距離按照升序排序 train.sort_values(by='dist',inplace=True) #確定K值,k值不同結(jié)果不同 k=1 res=train.loc[:,'電影類型'][:k].mode()[0] print(res)

    總結(jié)

    以上是生活随笔為你收集整理的knn算法实现电影分类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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