这里写自定义目录标题

  • 前言
  • 假设
  • 思路
  • 开搞
  • 代码

前言

在胡乱看了几本书以后,终于开始进行实战,搜了几个实战例子,终于看到一个适合我的。这次的任务要求很简单,就是区分爱情片和动作片,不过电脑没有人脑那么丰富多彩,人只需要大致看一看就可以分别,但是电脑要给数据让他学习。

假设

我们需要的数据有只有两个,就是一部电影的打斗动作数量和爱情动作数量,对于动作电影来说,打斗动作明显是多于爱情动作的,反之则相反。用一个二维数组来表示(如图)。

思路

那我们用什么办法来量化这个标准呢,一个明显的比较算法也可以勉勉强强做出来,但是就不是机器学习了,所以当然得用k值法,用距离当作评判标准,这样就可以求出前k个相近的点对应的坐标是什么电影,那么这部电影就属于哪种类型电影

开搞

inX 为测试数据
dataSst 为训练数据动作数量
labels 为训练数据对应的类型
k 为k值标准,表示前k项作为参考

代码

import numpy as np
import operator
#创建数据
def CreatData():group = np.array([[1,101],[5,89],[102,1],[89,4]])labels = ['爱情片','爱情片','动作片','动作片']return group,labelsdef classify(inX,dataSet,labels,k):#numpy中*.shape[0]为*类型的行数dataSetSize = dataSet.shape[0]#创建一个格式和dataSet的数组相减diffMat = np.tile(inX,(dataSetSize,1)) - dataSet#**为开方sqDiffMat = diffMat**2#.sum(1)为行求和,0为列求和sqDistances = sqDiffMat.sum(1)Distances = sqDistances**0.5#对每个位置数据排序#如[99,19,44,106]#输出[2,1,0,3]sortedDistIndices = Distances.argsort()
#    print(sortedDistIndices)classCount = {}for i in range(k):voteIlabel = labels[sortedDistIndices[i]]classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1print(classCount)   sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)return sortedClassCount[0][0]if __name__=='__main__':group,labels = CreatData()text = [99,19]text_class = classify(text,group,labels,2)print(text_class)
#    print(labels)

机器学习之爱情动作片(k值法)相关推荐

  1. 微分中值定理,常数K值法

    文章目录 微分中值定理技巧,k值法 一个例子 常数k值法 讨论k值法的使用条件 k值法步骤 应用 参考文献 微分中值定理技巧,k值法 一个例子 设f(x)f(x)f(x)在区间[a,b][a,b][a ...

  2. 机器学习(二):k近邻法(kNN)

    引言 一.k近邻法的三要素 1.距离度量 2.k值的选择 3.分类决策规则 二.k近邻算法及代码实现(python) 1.算法 2.代码实现(python) 三.k近邻法的实现:kd树 1.构造kd树 ...

  3. 机器学习作业9 - 自动确定k值的k均值聚类

    自动确定k值的k均值聚类 说实话刚刚看到这个作业我是懵逼的.k均值本身不难,可是要自动确定k值,我就不知所措了.于是脑补了无数种方法,最后决定求助度娘.研究了几个小时以后,渐渐有了思路,于是一步步展开 ...

  4. 【机器学习】KNN算法及K值的选取

    KNN算法是有监督学习中的分类算法,它看起来和另一个机器学习算法K-means有点像(K-means是无监督学习算法),但却是有本质区别的. KNN的原理就是:当预测一个新的值x的时候,根据它距离最近 ...

  5. 【机器学习】——K_means如何选择k值?

      K_means聚类是我们在无监督学习中常用的一种算法,但有一个很让人头疼的问题就是如何选择k值.在实际业务中,如果根据业务场景明确知道要得到的类数,那就好办了,但很多时候不知道K怎么办呢?下面有三 ...

  6. 归一法的计算方法讲解_初三化学计算题中归一法,XY法,拆分法,分配法,K值法是怎样的,最好有具体的例子...

    共回答了23个问题采纳率:87% 归一法:找到化学方程式中关键的化学式,定其化学式前计量数为1,然后根据关键化学式去配平其他化学式前的化学计量数.若出现计量数为分数,再将各计量数同乘以同一整数,化分数 ...

  7. 机器学习-监督学习之分类算法:K近邻法 (K-Nearest Neighbor,KNN)

    目录 KNN概述 举个例子: K值选取 距离计算 曼哈顿距离,切比雪夫距离关系(相互转化) k-近邻(KNN)算法步骤 相关代码实现 简单实例:判断电影类别 创建数据集 数据可视化 分类测试 运行结果 ...

  8. [机器学习-sklearn] KNN(k近邻法)学习与总结

    KNN 学习与总结 引言 一,KNN 原理 二,KNN算法介绍 三, KNN 算法三要素 1 距离度量 2. K 值的选择 四, KNN特点 KNN算法的优势和劣势 KNN算法优点 KNN算法缺点 五 ...

  9. 机器学习之K-Means聚类(python手写实现+使用Silhouette Coefficient来选取最优k值)

    文章目录 K-Means Silhouette Coefficient(轮廓系数) 代码实现 参考 K-Means K-Means聚类又叫K均值聚类,是一种线性时间复杂度的聚类方法,也是比较成熟的一种 ...

最新文章

  1. window文件过长无法删除的处理方式
  2. 向朋友借钱:文章值得一读,让人思索良久
  3. 穿越时空,跟我一起探索云栖数字谷(2021云栖大会免费送票)
  4. 解决Coldfusion连接MySQL数据库的问题
  5. PyCharm无法找到已安装的Python类库的解决方法
  6. python实时监控redis队列_Python的Flask框架应用调用Redis队列数据
  7. Java记录 -89- java.lang.Class
  8. 【项目3-2】多肉植物网站
  9. 软件运行 计算机硬件环境,软件运行环境该怎么写
  10. 大学计算机python教材答案_大学计算机python答案
  11. iphone之参数知识(一)
  12. C语言字母区分大写,C语言中不区分大小写英文字母。()
  13. mysql精度_MySQL几种数据类型精度和标度的情况
  14. wing101 缩进不管用_与lg wing一起使用最有用的双屏手机
  15. Windows下开启Mysql慢查询详解
  16. java火车票订票系统 论文_毕业设计(论文)-基于JAVA的火车票售票系统.doc
  17. .NET 5.0 正式版发布了!
  18. Java 遍历map(Java8)
  19. 在线ps(在线photoshop)编辑器 在线图像编辑器
  20. 2021.8.23-8.30 人工智能行业每周技术动态

热门文章

  1. 学奥数到底对中小学生的思维有帮助吗?
  2. UMDF的第一个win10驱动:驱动程序开发环境完善(三)
  3. 物联网中,北向接口和南向接口是什么?
  4. 工匠:有工艺专长的匠人。
  5. 怎么看外文文献的影响因子_如何看懂英文论文?别找了,方法在这儿!
  6. ignite 2.11.0 节点发现原理及源码分析
  7. Doris系列之动态分区操作
  8. 如何将本地仓库代码推到远程仓库
  9. 海上计算距离为什么用海里,而不用公里?
  10. 致远项目管理SPM系统之合同评审