2016.12.07
终于接触传说中的机器学习了。
先看一幅图
对于我们人来说,能够很快看出电影的类型,但是机器不一样,这个时候我们会用到机器学习。
这个时候就会用到欧拉距离公式。
下面用一段代码来实现。
下面这个是主函数的类:
package RobotStudy; public class test { public static void main(String[] args) { movie[] movies = new movie[6];// 已有的模板数据 movies[0] = new movie(3, 104, "love"); movies[1] = new movie(2, 100, "love"); movies[2] = new movie(1, 81, "love"); movies[3] = new movie(101, 10, "action"); movies[4] = new movie(99, 5, "action"); movies[5] = new movie(98, 2, "action"); movie new_movie = new movie(18, 90);// 待归类的新数据 double[] distances = new double[6];// 计算欧式距离:新数据和每个模板数据的距离 for (int i = 0; i < 6; i++) { distances[i] = Math.sqrt(Math.pow((new_movie.Action_Count - movies[i].Action_Count),2) + Math.pow( (new_movie.Kiss_Count - movies[i].Kiss_Count), 2)); System.out.println(new_movie.Action_Count); System.out.println(new_movie.Kiss_Count); System.out.println("新电影 与 第" + i + "部电影 的距离为:" + distances[i]); } double min_distance = distances[0];// 找到最小距离 int min = 0;// 最小距离对应的模板序号 for (int i = 1; i < 6; i++) { if(min_distance > distances[i]){ min_distance = distances[i]; min = i; } } System.out.println("新电影的类型是:" + movies[min].type); } }
再定义一个类用来保存属性:
package RobotStudy; public class movie { public int Action_Count; public int Kiss_Count; public String type; public movie(int action_Count, int kiss_Count, String type) { super(); this.Action_Count = action_Count; this.Kiss_Count = kiss_Count; this.type = type; } public movie(int action_Count, int kiss_Count) { super(); this.Action_Count = action_Count; this.Kiss_Count = kiss_Count; } }
相关推荐
在机器学习领域,二分类是一种基础且重要的任务,它的目标是将数据分为两个明确的类别。在这个场景中,我们关注的是判断蘑菇是否有毒,这是一个典型的二分类问题,具有实际生活中的应用价值。为了完成这个任务,我们...
本文是关于机器学习分类算法的实验报告,涵盖了KNN、SVM、Adaboost和决策树等算法在处理数据集时的表现。实验的目标是通过对比分析来深入理解这些经典算法的原理和实现过程。 首先,实验选择了至少四种算法,包括...
在机器学习领域,分类算法是应用最为广泛的模型之一,它主要用于预测数据的类别或标签。本文将深入探讨几种常见的机器学习分类算法,并介绍如何利用Python编程语言进行实现。首先,让我们了解一下基本的分类算法概念...
朴素贝叶斯分类器是一种常用的机器学习算法,它假设样本各维属性独立。这种假设使得模型更简单、更容易训练。 决策函数 决策函数是机器学习模型中的一种重要组成部分。例如,对于正态密度的贝叶斯分类器,决策函数...
机器学习常见算法分类 机器学习是当前数据分析领域的一个热点容,许多人在平时的工作中都或多或少会用到机器学习的算法。根据学习方式和算法的类似性,我们可以将机器学习算法分类如下: 监督式学习 监督式学习是...
在机器学习领域,分类算法是核心工具之一,用于根据数据属性将数据实例分配到预定义的类别中。本文将深入探讨几种在C++和C语言中实现的机器学习分类算法,包括ID3决策树算法、人脸识别源代码以及K近邻算法和人工神经...
线性回归是最简单的机器学习算法之一,用于预测连续型标签。决策树是一种常用的分类算法,用于解决分类问题。随机森林是一种集成学习算法,用于提高模型的泛化能力。支持向量机是一种常用的分类算法,用于解决非线性...
【机器学习分类】 机器学习是人工智能的一个重要分支,它涉及一系列算法和技术,使得计算机系统能够从数据中自动学习规律,并用于预测和决策。在“机器学习分类”这一主题中,我们将深入探讨如何利用数据对事物进行...
线性回归是机器学习中最简单的模型之一,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。它包括简单线性回归(单个自变量)和多元线性回归(多个自变量)。本讲义将详细解析线性回归的理论,包括最小...
实验采用了UCI机器学习库中的mushroom数据集,该数据集包含8124个样本,每个样本有22个特征,分为毒蘑菇和可食用蘑菇两类。PCA用于降低多维度特征,KNN则作为分类算法,由于其简单、精度高和对异常值不敏感的特性,...
【摘要】中提到的是一种将情感词汇与机器学习相结合的方面级情感分类方法。这种方法旨在融合基于情感词典和基于机器学习两类情感分类方法的优点,以更有效地进行情感分析。首先,通过选取少量与评价对象无关的情感...
朴素贝叶斯算法是一种简单而有效的机器学习算法,它可以对高维度的数据进行分类。在整个数据分析过程中,只做最原始、最简单的假设,假设特征之间相互独立并且所有特征一样重要。使用朴素贝叶斯算法对中文邮件进行...
为了解决这一难题,本文提出了一种新的方法,即利用傅立叶级数在机器学习框架下进行小行星分类的研究,以提高对双体小行星预测的准确性。 傅立叶级数作为数学领域的一个经典工具,将复杂信号分解为一系列简单正弦波...
1. 监督学习是机器学习的主要类型之一,包括回归和分类任务。例如,线性回归用于预测连续数值,逻辑回归适用于二分类问题,神经网络和SVM(支持向量机)则可处理多种复杂的分类和回归问题。 2. 垃圾邮件检测是典型...
在机器学习领域,监督学习是一种基本的学习方式,其特点是利用带有标签的训练数据集来训练模型,然后使用模型对新的输入数据进行预测。监督学习技术主要分为分类和回归两种。分类技术用于预测离散的响应,比如判断...
在本主题"Python数据分析与机器学习-新闻分类任务"中,我们将探讨如何使用Python语言进行高效的数据分析,并将其应用于实际的新闻分类问题。新闻分类是自然语言处理(NLP)领域的一个常见任务,旨在将新闻文章自动...
例如,垃圾邮件过滤就是一个典型的文本分类问题,通过机器学习算法,系统可以自动区分垃圾邮件和正常邮件。 现代机器学习的主要特征在于其追求高度准确的预测能力。虽然这些算法的目标不是挖掘潜在的真相,但它们在...
总之,"Python机器学习案例"涵盖了从基础的分类到聚类再到集成学习的关键概念,通过实践加深对这些算法的理解。通过深入研究这些案例,你将能够更好地应用机器学习技术解决实际问题,并为你的数据分析技能添砖加瓦。...
"机器学习期末复习题及答案" 机器学习是人工智能的一个分支,涉及到计算机科学、统计学、优化方法、信息论等多个领域。以下是机器学习的知识点总结: 单项选择题 1. 机器学习把数据集分成训练集和测试集,用于...