一、非监督学习

无监督学习,顾名思义,就是不受监督的学习,一种自由的学习方式。该学习方式不需要先验知识进行指导,而是不断地自我认知,自我巩固,最后进行自我归纳,在机器学习中,无监督学习可以被简单理解为不为训练集提供对应的类别标识(label),其与有监督学习的对比如下:有监督学习(Supervised Learning)下的训练集:

(x(1),y(1)),(x(2),y2)(x(1),y(1)),(x(2),y2)

无监督学习(Unsupervised Learning)下的训练集:

(x(1)),(x(2)),(x(3))(x(1)),(x(2)),(x(3))

在有监督学习中,我们把对样本进行分类的过程称之为分类(Classification),而在无监督学习中,我们将物体被划分到不同集合的过程称之为聚类(Clustering)

二、非监督学习之k-means

K-means通常被称为劳埃德算法,这在数据聚类中是最经典的,也是相对容易理解的模型。算法执行的过程分为4个阶段。

  • 1.首先,随机设K个特征空间内的点作为初始的聚类中心。
  • 2.然后,对于根据每个数据的特征向量,从K个聚类中心中寻找距离最近的一个,并且把该数据标记为这个聚类中心。
  • 3.接着,在所有的数据都被标记过聚类中心之后,根据这些数据新分配的类簇,通过取分配给每个先前质心的所有样本的平均值来创建新的质心重,新对K个聚类中心做计算。
  • 4.最后,计算旧和新质心之间的差异,如果所有的数据点从属的聚类中心与上一次的分配的类簇没有变化,那么迭代就可以停止,否则回到步骤2继续循环。

K均值等于具有小的全对称协方差矩阵的期望最大化算法

sklearn.cluster.KMeans

class sklearn.cluster.KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='auto', verbose=0, random_state=None, copy_x=True, n_jobs=1, algorithm='auto')""":param n_clusters:要形成的聚类数以及生成的质心数:param init:初始化方法,默认为'k-means ++',以智能方式选择k-均值聚类的初始聚类中心,以加速收敛;random,从初始质心数据中随机选择k个观察值(行:param n_init:int,默认值:10使用不同质心种子运行k-means算法的时间。最终结果将是n_init连续运行在惯性方面的最佳输出。:param n_jobs:int用于计算的作业数量。这可以通过并行计算每个运行的n_init。如果-1使用所有CPU。如果给出1,则不使用任何并行计算代码,这对调试很有用。对于-1以下的n_jobs,使用(n_cpus + 1 + n_jobs)。因此,对于n_jobs = -2,所有CPU都使用一个。:param random_state:随机数种子,默认为全局numpy随机数生成器"""
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],[4, 2], [4, 4], [4, 0]])
kmeans = KMeans(n_clusters=2, random_state=0)

方法

fit(X,y=None)

使用X作为训练数据拟合模型

kmeans.fit(X)

predict(X)

预测新的数据所在的类别

kmeans.predict([[0, 0], [4, 4]])
array([0, 1], dtype=int32)

属性

clustercenters

集群中心的点坐标

kmeans.cluster_centers_
array([[ 1.,  2.],[ 4.,  2.]])

labels_

每个点的类别

kmeans.labels_

三、k-means案例分析

手写数字数据上K-Means聚类的演示

from sklearn.metrics import silhouette_score
from sklearn.cluster import KMeansdef kmeans():"""手写数字聚类过程:return: None"""# 加载数据ld = load_digits()print(ld.target[:20])# 聚类km = KMeans(n_clusters=810)km.fit_transform(ld.data)print(km.labels_[:20])print(silhouette_score(ld.data,km.labels_))return Noneif __name__=="__main__":kmeans()

机器学习非监督学习—k-means及案例分析相关推荐

  1. 机器学习 -- 非监督学习 之 Clustering

    什么是非监督学习(unsupervised learning)? 在监督学习中,我们的数据特征有一部分作为输入,一个特征作为输出. 输出特征是标签好的数据,我们已经提前知道会输出的分类结果. 比如有一 ...

  2. 机器学习回归算法—岭回归及案例分析

    一.回归算法之岭回归 具有L2正则化的线性最小二乘法.岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息.降低精度为代价获 ...

  3. 机器学习-非监督学习

    非监督学习 视频 height="510" width="900" src="https://d3c33hcgiwev3.cloudfront.net ...

  4. 机器学习集成学习进阶Xgboost算法案例分析

    目录 1 xgboost算法api介绍 1.1 xgboost的安装 2 xgboost参数介绍 2.1 通用参数(general parameters) 2.2 Booster 参数(booster ...

  5. 【机器学习】:sklearn逻辑回归案例分析 《良/恶性乳腺癌肿瘤预测》

    由于对逻辑回归等算法做到深刻理解有点难,目前还在学习中,尽管有现成的模型库,我们还是需要对模型的底层实现有一个了解.这里先记录一下如何利用sklearn的LogisticRegression来做一个简 ...

  6. 低代码如何助力非标零售业务新增长案例分析

    目录 典型应用场景 搭建过程中令人印象深刻的功能亮点 公司全员使用LCHub后的感受如何? 下一步规划 通过LCHub,我们将内部的酒品生产体系形成标准,实现了时间.人员.酒款等不同维度的酒品分析,最 ...

  7. 算法——机器学习——无监督学习—— K均值(K-means)图解动画

    快速排序 简介 算法过程 算法过程详解 一:聚类 二:聚类中心移动 算法结束 简介 k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,预 ...

  8. 非居民企业税收筹划案例分析题,企业分立的税收筹划

    税收筹划对企业具有重要意义,可以帮助企业实现税收利益最大化.今天,我们将讨论税收筹划在企业中的应用. 1.筹资过程中 筹集资金是企业开展经营活动的前提.企业可以通过多种渠道以不同的方式筹集所需资金,这 ...

  9. 吴恩达机器学习笔记-非监督学习

    聚类 之前的课程中我们学习的都是监督学习相关的算法,现在来开始看非监督学习.非监督学习相对于监督非学习来看,其使用的是未标记的训练集而监督学习的是标记的训练集.换句话说,我们不知道向量y的预期结果,仅 ...

最新文章

  1. 考研规划计算机科学与技术,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  2. 网络电话如何营造成熟的通信商业模式
  3. 基于阈值的损失函数_【代码+推导】常见损失函数和评价指标总结
  4. java猜数字小游戏_Java实现简单猜数字小游戏
  5. 使用jquery解析xml
  6. 下班啦!做那么多老板不会心疼你的
  7. 干货设计素材|环保平面画册模板
  8. 根据控件ID得到句柄
  9. 【重点:DP 双指针 栈】LeetCode 42. Trapping Rain Water
  10. 关于String a=new String(a)创建几个对象问题的正确答案
  11. java版txt文件下载解决
  12. 中文版putty后门事件分析
  13. 【单片机】2.1 AT89S52单片机的硬件组成
  14. 3.3.3 使用集线器的星形拓补
  15. 经典运放电路详细分析(模拟电子技术)
  16. 怎么申请企业邮箱,企业邮箱快速登录入口
  17. turtle绘制八边形、八角边形
  18. OBS Studio下载速度慢,加速下载!11m/s
  19. vue中日期格式转化
  20. mechanize 是 pthon 的并且可编程的 浏览器插件,

热门文章

  1. python 内置方法 BUILT-IN METHODS
  2. SQLAlchemy Script
  3. Linux Crontab 安装使用详细说明
  4. 51nod 1379 索函数
  5. error_reporting()的用法
  6. WP7 网络请求之WebClient
  7. Unparsed aapt error(s)! Check the console for output
  8. 在2008 server安装vm server时发生的错误error1718、error1335……
  9. exe程序的启动过程
  10. 母版中menu控件上传后出现脚本错误