机器学习-sklearn.cluster:Clustering的使用

import random

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

# 生成随机数据集(100个二维数据)
X = []
for _ in range(100):
    x = random.random()
    y = random.random()
    X.append([x, y])

# 创建一个聚类器并训练模型(分成3类)
kmeans = KMeans(n_clusters=3, random_state=215275).fit(X)

# 获取聚类结果(标签和中心)
labels = kmeans.labels_
centers = kmeans.cluster_centers_

# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.scatter(centers[:, 0], centers[:, 1], marker='x', color='red')
plt.xlabel('X')
plt.ylabel('Y')
plt.title('K-means Clustering')
plt.show()

心得:

1.sklearn.cluster 模块提供了多种聚类算法的实现,以上代码是调用cluster中的kmeans算法.

2.KMeans有这些参数:

n_clusters:整数值,指定要聚类的簇的数量。

init:字符串或可调用对象,指定初始化质心的方法。默认为 "k-means++",表示使用智能初始方法。也可以使用字符串 "random" 表示随机初始化,或者传递一个自定义初始化方法。

n_init:整数值,指定多次重新初始化的次数。每次重新初始化都会运行完整的 K-means 算法,并返回最好的结果。默认为 10。

max_iter:整数值,指定最大迭代次数,即运行算法的最大迭代次数。默认为 300。

tol:浮点数值,指定收敛的阈值。当连续两次迭代之间的平均质心移动小于该值时,算法被认为已经收敛。默认为 1e-4。

algorithm:字符串,指定计算簇质心的算法。可以是 "auto"(自动选择最适合的算法),"full"(使用传统的 K-means 算法),或 "elkan"(使用更快的 Elkan 算法)。默认为 "auto"。

random_state:整数值或 RandomState 实例,指定随机数生成器的种子。

verbose:整数值,控制详细程度输出的冗余程度。默认为 0,表示不输出任何信息。

3.聚类的最好展示方式就是通过matplotlib绘图展示。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值