Python sklearn实现K-means鸢尾花聚类

Python sklearn实现K-means鸢尾花聚类

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的博客
🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
🥭本文内容:Python sklearn实现K-means鸢尾花聚类
更多内容请见👇

本文目录

; 准备

使用到的库:

  • numpy
  • matplotlib
  • sklearn

安装:

pip install numpy
pip install matplotlib
pip install sklearn

数据集:
使用开源数据集”鸢尾花数据集”。包含3种类型数据集,共150条数据;数据包含4项特征,花萼长度、花萼宽度、花瓣长度、花瓣宽度;将80%的数据划分为训练集,20%划分为测试集。

下载地址:
https://download.csdn.net/download/qq_63585949/86827472

对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇,让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。

Python sklearn实现K-means鸢尾花聚类

; 1.导入相关包

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

2.直接从sklearn.datasets中加载数据集


iris = datasets.load_iris()
X = iris.data[:, :4]
print(X.shape)

3.绘制二维数据分布图

每个样本使用两个特征,绘制其二维数据分布图


plt.scatter(X[:, 0], X[:, 1], c="red", marker='o', label='see')
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.legend(loc=2)
plt.show()

Python sklearn实现K-means鸢尾花聚类

4.实例化K-means类,并且定义训练函数

def Model(n_clusters):
    estimator = KMeans(n_clusters=n_clusters)
    return estimator

def train(estimator):
    estimator.fit(X)

5.训练


estimator=Model(3)
train(estimator)

6.可视化展示

label_pred = estimator.labels_

x0 = X[label_pred == 0]
x1 = X[label_pred == 1]
x2 = X[label_pred == 2]
plt.scatter(x0[:, 0], x0[:, 1], c="red", marker='o', label='label0')
plt.scatter(x1[:, 0], x1[:, 1], c="green", marker='*', label='label1')
plt.scatter(x2[:, 0], x2[:, 1], c="blue", marker='+', label='label2')
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.legend(loc=2)
plt.show()

7.预览图

Python sklearn实现K-means鸢尾花聚类

Original: https://blog.csdn.net/qq_63585949/article/details/127550767
Author: 小嗷犬
Title: Python sklearn实现K-means鸢尾花聚类

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/623283/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球