会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132358个问题

pip install scikit-learn matplotlib scikit-learn-extra
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans, MiniBatchKMeans
from sklearn_extra.cluster import KMedoids

# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target

# 示例1: KMedoids
kmedoids = KMedoids(n_clusters=3, random_state=0)
kmedoids.fit(X)
labels_kmedoids = kmedoids.labels_

# 示例3: KMeans++ 初始化
kmeans_plus = KMeans(n_clusters=3, init='k-means++', random_state=0)
kmeans_plus.fit(X)
labels_kmeans_plus = kmeans_plus.labels_

# 示例4: elkan KMeans
kmeans_elkan = KMeans(n_clusters=3, algorithm='elkan', random_state=0)
kmeans_elkan.fit(X)
labels_kmeans_elkan = kmeans_elkan.labels_

# 示例5: Mini Batch KMeans
minibatch_kmeans = MiniBatchKMeans(n_clusters=3, random_state=0)
minibatch_kmeans.fit(X)
labels_minibatch = minibatch_kmeans.labels_

# 可视化聚类结果
fig, axs = plt.subplots(2, 2, figsize=(15, 10))

# KMedoids
axs[0, 0].scatter(X[:, 0], X[:, 1], c=labels_kmedoids)
axs[0, 0].set_title('KMedoids')

# KMeans++
axs[0, 1].scatter(X[:, 0], X[:, 1], c=labels_kmeans_plus)
axs[0, 1].set_title('KMeans++')

# elkan KMeans
axs[1, 0].scatter(X[:, 0], X[:, 1], c=labels_kmeans_elkan)
axs[1, 0].set_title('elkan KMeans')

# Mini Batch KMeans
axs[1, 1].scatter(X[:, 0], X[:, 1], c=labels_minibatch)
axs[1, 1].set_title('Mini Batch KMeans')

plt.show()

说明

  1. KMedoids: 使用scikit-learn-extra库中的KMedoids类进行实现,适合处理包含异常值的数据集。

  2. KMeans++: 通过设置init='k-means++'参数,使用KMeans++初始化方法,提高聚类效果。

  3. elkan KMeans: 通过设置algorithm='elkan'参数,使用elkan优化算法,减少距离计算。

  4. Mini Batch KMeans: 使用MiniBatchKMeans类,适合处理大规模数据集,提高计算效率。


人工智能/第七阶段:机器学习-无监督学习/KMeans聚类变形 1楼
人工智能/第七阶段:机器学习-无监督学习/KMeans聚类 2楼
人工智能/第七阶段:机器学习-无监督学习/密度聚类 3楼
人工智能/第七阶段:机器学习-无监督学习/KMeans聚类变形 4楼
人工智能/第七阶段:机器学习-无监督学习/层次聚类 6楼
人工智能/第七阶段:机器学习-无监督学习/KMeans聚类 7楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637