机器学习————聚类

本文详细介绍了聚类的概念,聚类算法包括计算距离、相似度、K-Means聚类及其改进、Canopy聚类等。重点讨论了K-Means的原理和优化方法,如K-Mediods和二分K-Means,并提到了聚类评估和不同的聚类类型,如层次聚类和密度聚类,特别是DBSCAN算法。聚类是无监督学习的一种,旨在通过样本相似性发现数据的内在结构。
摘要由CSDN通过智能技术生成

机器学习————聚类

聚类

聚类是一个无监督的算法

有X
没有Y
利用X相似性
对大量未标注的数据集,按内在相似性划分为多个类别,类别内相似度大,类之间相似度小

聚类算法
计算距离

欧几里得距离(欧式距离)
在这里插入图片描述
欧几里得距离(欧式距离)在这里插入图片描述
曼哈顿距离在这里插入图片描述
闵可夫斯基距离

闵氏距离不是一种距离,而是一组距离的定义,其中的p是一个参数

当p=1时,就是曼哈顿距离
当p=2时,就是欧式距离
当p->∞时,就是切比雪夫距离
在这里插入图片描述
在这里插入图片描述

相似度

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

聚类试图将数据中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”(cluster)

本质上,N个样本,映射到K个簇中
每个簇至少有一个样本
一般情况下,一个样本只属于一个簇(也有一个样样本属于多个簇的)

最基本:
先给定一个初始划分,迭代改变样本和簇的隶属关系,每次都比前一次好

K-Means聚类

聚类是一种无监督的机器学习任务,它可以自动将数据划分成类cluster。因此聚类分组不需要提前被告知所划分的组应该是什么样子的。因为我们甚至可能都不知道我们再寻找什么,所以聚类是用于知识发现而不是预测
在这里插入图片描述

聚类原则是一个组内的记录彼此必须非常相似,而与该组之外的记录截然不同。所有聚类做的就是遍历所有数据,然后找到这些相似性。

使用距离来分配和更新类。
在这里插入图片描述
在这里插入图片描述
选择K个初始的簇中心,随机的(拍脑袋给的),或者先验知识给的
某一个样本和某一个聚类中心的距离
计算所属聚类的样本均值
在这里插入图片描述

K-Means实现
# encoding: utf-8

import numpy as np
import matplotlib.pyplot as plt
import sklearn.datasets as ds
import matplotlib.colors
from sklearn.cluster import KMeans

def expand(a, b):
    """
    为了扩展x,y轴的长度
    """
    d = (b - a) * 0.1
    return a-d, b+d

if __name__ == '__main__':
    # 创建400个样本
    N = 400
    # 准备分出4个类别
    centers = 4
    # 创建聚类的数据(按照4个正太分布创建点)【想看看方差一样的,数据量一样的,分类效果好不好】
    data, y = ds.make_blobs(N, n_features=2, centers=centers, random_state=2)
    # print(data)
    # 方差和上面不一样,方差越大,数据集越分散;方差越小,数据集越密集【想看看方差不一样,数据量一样,分类效果好不好】
    data2, y2 = ds.make_blobs(N, n_features=2, centers=centers, cluster_std=(1, 2.5, 0.5, 2), random_state=2)
    # 从原来数据中选一部分的数据出来【想看看从每条数据里选不同的样本数量的分类效果好不好】
    data3 = np.vstack((data[y==0][:], data[y==1][:50], data[y==2][:20], data[y==3][:5]))
    # 按道理来说,聚类是不需要y值的,这里的y主要是为了看我们的聚类效果准不准
    y3 = np.array([0] * 100 + [1] * 50 + [2] * 20 + [3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值