无监督学习

Kmeans算法与KNN算法的区别

被刻印的时光 ゝ 提交于 2020-03-05 09:52:22
最近研究数据挖掘的相关知识,总是搞混一些算法之间的关联,俗话说好记性不如烂笔头,还是记下了以备不时之需。 首先明确一点KNN与Kmeans的算法的区别: 1.KNN算法是分类算法,分类算法肯定是需要有学习语料,然后通过学习语料的学习之后的模板来匹配我们的测试语料集,将测试语料集合进行按照预先学习的语料模板来分类 2Kmeans算法是聚类算法,聚类算法与分类算法最大的区别是聚类算法没有学习语料集合。 K-means算法是聚类分析中使用最广泛的算法之一。它把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。其聚类过程可以用下图表示: 如图所示,数据样本用圆点表示,每个簇的中心点用叉叉表示。(a)刚开始时是原始数据,杂乱无章,没有label,看起来都一样,都是绿色的。(b)假设 数据集可以分为两类,令K=2,随机在坐标上选两个点,作为两个类的中心点。(c-f)演示了聚类的两种迭代。先划分,把每个数据样本划分到最近的中心点 那一簇;划分完后,更新每个簇的中心,即把该簇的所有数据点的坐标加起来去平均值。这样不断进行”划分—更新—划分—更新”,直到每个簇的中心不在移动为 止。 该算法过程比较简单,但有些东西我们还是需要关注一下,此处,我想说一下"求点中心的算法" 一般来说,求点群中心点的算法你可以很简的使用各个点的X

无监督学习的几种最热门的聚类算法

回眸只為那壹抹淺笑 提交于 2020-02-26 08:30:43
无监督学习是机器学习技术中的一类,用于发现数据中的模式。本文介绍用Python进行无监督学习的几种聚类算法,包括K-Means聚类、分层聚类、t-SNE聚类、DBSCAN聚类等。 无监督学习是机器学习技术中的一类,用于发现数据中的模式。无监督算法的数据没有标注,这意味着只提供输入变量(X),没有相应的输出变量。在无监督学习中,算法自己去发现数据中有意义的结构。 Facebook首席AI科学家Yan Lecun解释说,无监督学习——即教机器自己学习,不需要明确地告诉它们所做的每一件事情是对还是错,是“真正的”AI的关键。 https://blog.csdn.net/sinat_38682860/article/details/85840435 来源: oschina 链接: https://my.oschina.net/pengchanghua/blog/3161679

《机器学习实战》笔记(十):Ch10 - 利用k-均值聚类算法对未标注数据分组

浪尽此生 提交于 2020-01-31 23:47:21
第10章 K-均值聚类算法([代码][ch10]) K-均值算法的优缺点 K-均值是发现给定数据集的 K 个簇的聚类算法, 之所以称之为 K-均值 是因为它可以发现 K 个不同的簇, 且每个簇的中心采用簇中所含值的均值计算而成. 簇个数 K 是用户指定的, 每一个簇通过其质心(centroid), 即簇中所有点的中心来描述. 聚类与分类算法的最大区别在于, 分类的目标类别已知, 而聚类的目标类别是未知的. 优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢 使用数据类型 : 数值型数据 K-均值聚类算法 伪代码 创建 k 个点作为起始质心(通常是随机选择) 当任意一个点的簇分配结果发生改变时(不改变时算法结束) 对数据集中的每个数据点 对每个质心 计算质心与数据点之间的距离 将数据点分配到距其最近的簇 对每一个簇, 计算簇中所有点的均值并将均值作为质心 开发流程 收集数据:使用任意方法 准备数据:需要数值型数据类计算距离, 也可以将标称型数据映射为二值型数据再用于距离计算 分析数据:使用任意方法 训练算法:不适用于无监督学习,即无监督学习不需要训练步骤 测试算法:应用聚类算法、观察结果.可以使用量化的误差指标如误差平方和(后面会介绍)来评价算法的结果. 使用算法:可以用于所希望的任何应用.通常情况下, 簇质心可以代表整个簇的数据来做出决策. K-均值 的评价标准

聚类

我怕爱的太早我们不能终老 提交于 2020-01-28 05:32:34
聚类 相关概念 1、无监督学习: 无监督学习是机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。无监督学习的主要运用包含:聚类分析、关系规则、维度缩减。它是监督式学习和强化学习等策略之外的一种选择。 一个常见的无监督学习是数据聚类。在人工神经网络中,生成对抗网络、自组织映射和适应性共振理论则是最常用的非监督式学习。 2、聚类: 聚类是一种无监督学习。聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集,这样让在同一个子集中的成员对象都有相似的一些属性,常见的包括在坐标系中更加短的空间距离等。 聚类和分类的区别 数据分类是分析已有的数据,寻找其共同的属性,并根据分类模型将这些数据划分成不同的类别,这些数据赋予类标号。这些类别是事先定义好的,并且类别数是已知的。相反,数据聚类则是将本没有类别参考的数据进行分析并划分为不同的组,即从这些数据导出类标号。聚类分析本身则是根据数据来发掘数据对象及其关系信息,并将这些数据分组。每个组内的对象之间是相似的,而各个组间的对象是不相关的。不难理解,组内相似性越高,组间相异性越高,则聚类越好。 K-means聚类算法 k-means算法以数据间的距离作为数据对象相似性度量的标准,因此选择计算数据间距离的计算方式对最后的聚类效果有显著的影响,常用计算距离的方式有:余弦距离、欧式距离、曼哈顿距离等 代码实现:

数据分析系列:数据挖掘之客户细分

情到浓时终转凉″ 提交于 2020-01-27 05:01:23
数据挖掘(金融) ​ 数据挖掘是指从大量的不完全,有噪音,模糊的,随机的数据中提取出隐含在其中的有用的信息和知识的过程。金融行业的分析方案旨在帮助银行和保险也客户进行交叉销售来增加销售收入,对客户进行细分和细致的行为描述来有效的挽回有价值的客户,提高市场活动的相应效果,降低市场推广成本,达到有效增加客户数量的母的等。 客户细分 ​ 使客户收益最大化的同时最大化的降低风险的一种方法 ​ 客户细分是指按照一定的标准将企业的现有客户划分为不同的客户群。这是客户关系管理 的核心之一。 ​ 主要是指企业在明确的战略,业务,市场的条件下,根据客户的价值,需求和偏好的综合因素对客户进行分类,分属于统一客户群的消费者具备一定程度上的相似性,细分的依据主要是: 客户需求不同。影响消费者购买决策因素的差异后决定了消费者的需求,导致了不同的消费行为。 消费档次假说。消费者收入水平的提高,消费量会随着增加,但是这个增加是称区间台阶式的,一旦消费者达到莫衷消费层次后,消费的趋势将遍的非常平缓。 企业的资源是有限的,必须有选择地分配资源。为了充分发挥资源的最大效用,企业必须区分不同的客户群,对不同的客户制定不同的服务策略,集中资源服务好重点客户。 稳定性。有效的客户细分还必须具有相对的稳定性,足以实现在此基础上进行的实际应用,如果变化太快,应用方案还未来得及实施,群体就已面目全非,这样的细分方法就显得毫无意义

有监督学习 无监督学习

风流意气都作罢 提交于 2020-01-22 21:16:19
原文作者:aihorizon.com 原文链接: Machine Learning, Part I: Supervised and Unsupervised Learning 译者: commondata 监督学习是指我们来教计算机如何“学习”,非监督学习是指让计算机自己学习。监督学习又有两个大的分支,一个是 regression,另一个是 classification。 既然是我们来教计算机如何学习,那就必定有一个“标准答案”。regression 是说,这个标准答案是连续的。 比如说,对三个月销售量的估计。classification 是说,这个标准答案是离散的。比如说,对是否患有cancer的判断。非监督学习就没有标准答案了。比如说,给你一堆数据,让你来分析这堆数据的结构。 上次我们讨论了基于结果的两类学习。这篇文章我们将关注一些其他方面的学习:监督还是无监督。当训练用例被标记了正确结果的时候,监督学习方式为怎样改进学习给出一个反馈。这类似于教官教导某个Agent,它的行为是否正确。对无监督学习来说这个目标很难实现,因为缺乏事先确定的分类。 ·监督学习 监督学习是最常见的分类问题,因为目标往往是让计算机去学习我们已经创建好的分类系统。数字识别再一次成为分类学习的常见样本。更一般地说,对于那些有用的分类系统,和容易判断的分类系统,分类学习都适用。在某些情况下

机器学习task_05聚类

一个人想着一个人 提交于 2020-01-21 09:15:00
1.相关概念(无监督学习、聚类的定义) 2.性能度量(外部指标、内部指标) 3.距离计算 4.原型聚类 K均值 LVQ 5.高斯混合聚类 层次聚类 AGNES 自顶而下 6.密度聚类 DBSCAN 其他密度聚类算法 7.优缺点 8.sklearn参数详解  聚类分析是按照个体的特征将他们分类,让同一个类别内的个体之间具有较高的相似度,不同类别之间具有较大的差异性 聚类分析属于无监督学习 聚类对象可以分为Q型聚类和R型聚类 Q型聚类:样本/记录聚类 以距离为相似性指标 (欧氏距离、欧氏平方距离、马氏距离、明式距离等) R型聚类:指标/变量聚类 以相似系数为相似性指标 (皮尔逊相关系数、夹角余弦、指数相关系数等) 二、常用的聚类算法 K-Means划分法 层次聚类法 DBSCAN密度法 1、K-Means划分法 K表示聚类算法中类的个数,Means表示均值算法,K-Means即是用均值算法把数据分成K个类的算法。 K-Means算法的目标,是把n个样本点划分到k个类中,使得每个点都属于离它最近的质心(一个类内部所有样本点的均值)对应的类,以之作为聚类的标准。 算法原理见 http://www.aboutyun.com/thread-18178-1-1.html【转】 K-Means算法的计算步骤 取得k个初始质心:从数据中随机抽取k个点作为初始聚类的中心,来代表各个类

01-机器学习基础

天涯浪子 提交于 2020-01-08 09:26:05
第1章 机器学习基础 机器学习 概述 机器学习(Machine Learning,ML) 是使用计算机来彰显数据背后的真实含义,它为了把无序的数据转换成有用的信息。是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。 海量的数据 获取有用的信息 机器学习 研究意义 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。 “机器学习是对能通过经验自动改进的计算机算法的研究”。 “机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。” 一种经常引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

机器学习之无监督学习

只愿长相守 提交于 2020-01-06 19:26:30
注:本篇博客所有案例数据由MOOC平台提供! 无监督学习-聚类 K-means 算法 k-means算法以k为参数,将n个对象分成k个簇,使簇内具有较高的相似度,而簇内具有较高的相似度,而簇间的相似度较低。 其处理过程如下: (1)随机选择k个点作为初始的聚类中心; (2)对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇; (3)对每个簇,计算所有点的均值作为新的聚类中心; (4)重复(2)、(3)直到聚类中心不再发生变化。 import numpy as np from sklearn.cluster import KMeans def loadData(filePath): fr = open(filePath,'r+') lines = fr.readlines() retData = [] retCityName = [] for line in lines: items = line.strip().split(",") retCityName.append(items[0]) retData.append([float(items[i]) for i in range(1,len(items))]) return retData,retCityName if __name__ == '__main__': data,cityName = loadData(

有监督学习与无监督学习区别(转)

拈花ヽ惹草 提交于 2020-01-06 17:02:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在理解监督学习和无监督学习之前,我们先来聊一聊什么是机器学习(ML)? 机器学习: 首先呢,学习可以称为一个 举一反三 的过程,举个栗子:我们在学生时代经常参加的考试,考试的题目在上考场前我们未必做过,但是在考试之前我们通常都会刷很多的题目,通过刷题目学会了解题方法,因此考场上面对陌生问题也可以算出答案。 机器学习的思路也类似:我们可以利用一些 训练数据(已经做过的题) ,使机器能够利用 它们(解题方法) 分析 未知数据(考场的题目) 。就像考试前老师给我们预测考试会考什么一样。 简单的一句话:机器学习就是让机器从大量的数据集中学习,进而得到一个更加符合现实规律的模型,通过对模型的使用使得机器比以往表现的更好。 进入正题~ 监督学习 定义: 根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。 也就是说,在监督学习中训练数据 既有特征(feature)又有标签(label) ,通过训练,让机器可以自己找到特征和标签之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。 通俗一点,可以把机器学习理解为我们教机器如何做事情。 监督学习的分类: 回归(Regression)、分类(Classification) 回归(Regression) 回归问题是针对于连续型变量的。