聚类算法 KMedoids KMeans

数据集下载 adaptiveBoosting算法_步步清风皆是你的博客-CSDN博客

pip install scikit-learn-extra
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
import numpy as np

from sklearn_extra.cluster import KMedoids
from sklearn.datasets import make_blobs

# https://scikit-learn-extra.readthedocs.io/en/stable/index.html
'''
KMedoids KMeans

# 聚类算法
ModuleNotFoundError: No module named 'sklearn_extra'
pip install scikit-learn-extra
'''

import matplotlib.pyplot as plt

# 聚类算法
f = open("../Dataset/ClusterData.text", "r")
lines = f.readlines()
data = []
label = []
for line in lines:
    x, y = map(float, line.split())
    data.append((x, y))

# model = KMeans(n_clusters=3, random_state=0)
model = KMedoids(n_clusters=3, random_state=0)
model.fit(data)
# label = model.predict(data, sample_weight=None)
label = model.predict(data)
c = dict(zip(data, label))
'''
zip() 函数用于将可迭代的对象作为参数,
将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
可以将包转化为列表,查看包中的内容 
'''
for data in c:
    if c[data] == 0:
        plt.scatter(data[0], data[1], c='red', label='类别1')
    elif c[data] == 1:
        plt.scatter(data[0], data[1], c='blue', label='类别2')
    elif c[data] == 2:
        plt.scatter(data[0], data[1], c='yellow', label='类别3')

plt.show()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值