KNN英文全称K-nearst neighbor,中文名称为K近邻算法,它是由Cover和Hart在1968年提出来的
KNN算法原理:

  1. 计算已知类别数据集中的点与当前点之间的距离;
  2. 按照距离递增次序排序;
  3. 选择与当前距离最小的k个点;
  4. 确定前k个点所在类别的出现概率
  5. 返回前k个点出现频率最高的类别作为当前点的预测分
#-*-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
#加载数据
data=pd.read_excel('./电影分类数据.xlsx')
#获取训练集
train=data.iloc[:,:6]
print('train',train)
#获取训练集的特征值与目标值
train_x=train.iloc[:,:-1]
train_y=train.iloc[:,-1]
#获取测试集
test=data.columns[-4:]
print('test',test)
#进行计算距离
#循环计算每一个样本与测试集的距离
for i in range(train.shape[0]):#计算距离dist=distance(train_x.iloc[i,2:5],test[1:])train.loc[1,'dist']=dist
#对距离按照升序排序
train.sort_values(by='dist',inplace=True)
#确定K值,k值不同结果不同
k=1
res=train.loc[:,'电影类型'][:k].mode()[0]
print(res)

knn算法实现电影分类相关推荐

  1. python实现KNN算法在电影分类中的应用

    使用python实现KNN算法在电影分类中的应用 代码如下: import numpy as np import operator""" 使用KNN算法对电影进行分类 K ...

  2. KNN算法:电影分类(投票算法)

    一.了解KNN K最近邻 (k-Nearest Neighbors,KNN) 算法是一种分类算法,也是最简单 易懂的机器学习算法,没有之一.1968年由 Cover 和 Hart 提出,应用场景有 字 ...

  3. Knn算法实现鸢尾花分类

    文章目录 前言 引例 KNN算法实现鸢尾花分类 1获取数据 2划分数据集 3特征工程:标准化数据 4模型训练 5模型评估 总结 前言 近朱者赤近墨者黑,物以类聚人以群分.KNN算法就是计算和别人和自己 ...

  4. java knn文本分类算法_使用KNN算法的文本分类.PDF

    使用KNN算法的文本分类.PDF 第31 卷 第8 期 计 算 机 工 程 2005 年4 月 Vol.31 8 Computer Engineering April 2005 人工智能及识别技术 文 ...

  5. 基于Python Scrapy爬虫改进KNN算法的网站分类系统

    目 录 摘 要 I Abstract II 第 1 章 绪 论 1 1.1课题的研究背景和意义 1 1.1.1目前网站分类的研究情况 1 1.1.2现有解决方案的优点与不足 1 1.1.3基于特征熵值 ...

  6. KNN算法解决鸢尾花分类案例

    KNN算法解决鸢尾花分类案例 本文分别通过KNN底层算法实现和sklearn中的KNeighbors Classifier(K近邻分类模拟)和对3中不同的鸢尾花的分类. 一.K近邻(KNN)算法介绍 ...

  7. Python编程实现用KNN算法对红酒分类功能

    一.任务要求 导入红酒数据集(load_wine),编写Python代码,完成以下任务: 1.实现计算平均酒精含量的功能: 2.实现对数据的标准化: 3.使用kNN算法实现红酒分类功能 二.代码实现 ...

  8. 机器学习实战——KNN算法预测电影类型

    预测电影类型 现有爱情片和动作片(不是爱情动作片,雾)的打斗场面和接吻场面的次数统计,然后给出一个电影打斗场面和接吻场面出现的次数,预测其类型. 那么如何预测呢?当然用KNN了. KNN算法的原理就是 ...

  9. 机器学习之Python使用KNN算法进行电影类型预测

    1. 使用KNN进行电影类型预测: 给定训练样本集合如下: 求解:testData={"老友记": [29, 10, 2, "?片"]}. 解题步骤: 1.计算 ...

最新文章

  1. 评审过程中,A小组发现了5个缺陷,B小组发现了9个缺陷,他们发现的缺陷中有3个是相同的。请问:还有多少个潜在的缺陷没有发现?
  2. imu oracle,问一个关于IMU REDO的问题~
  3. 基于TransactionScope类的分布式隐式事务
  4. 登陆模块防止恶意用户客户端攻击
  5. nagios全攻略(一)----准备阶段
  6. 结构体数组实现的简易学生信息管理系统
  7. struts2类型转换+校验
  8. Linux下怎么创建和进入带有空格的文件夹
  9. Eclipse 修改文本编码方式
  10. BZOJ 1040 [ZJOI2008]骑士
  11. bfv同态加密_五分钟了解同态加密及三种常见方案
  12. Android Studio(五):修改Android Studio项目包名
  13. PHP 使用 ZipArchive 将文件打包成 zip
  14. Unity3D游戏开发之Unity3D场景编辑器扩展开发
  15. 树莓派——实时时钟模块(RTC)
  16. java根据公历获得农历1921年到2050年
  17. (数论)[SDOI2008]沙拉公主的题目描述
  18. 使用翻译的neko模块
  19. Quartus II各版本支持的器件
  20. c语言测试软件的编写,用c语言编写智商测试软件

热门文章

  1. 【jQuery】使用id选择器,找出外层div中嵌套的内层div
  2. 【GitHub】GitHub 的 Pull Request 和 GitLab 的 Merge Request 有区别吗?
  3. 【PAT甲级 sc.nextInt()的使用】1008 Elevator (20 分) Java版 9/9通过
  4. java安全编码指南之:Mutability可变性
  5. 技术回顾系列:最新最热门的技术大事-第一周
  6. vant按需引入没样式_传统背景墙早看腻了,不如走一圈石膏线简单好看,8种样式随意选...
  7. java中实现同步的两种方式:syschronized和lock的区别和联系
  8. jsp Request获取url信息的各种方法比较
  9. spark实验遇到的问题
  10. 自然语言处理中的模式(模式1.概率化模式)