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

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

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


@TOC


准备

使用到的库:

  • 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个簇,让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。
K-means鸢尾花聚类


1.导入相关包

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

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

# 直接从sklearn中获取数据集
iris = datasets.load_iris()
X = iris.data[:, :4]    # 表示我们取特征空间中的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() 

二维数据分布图


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_  # 获取聚类标签
# 绘制k-means结果
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.预览图

K-means鸢尾花聚类

目录
相关文章
|
11天前
|
机器学习/深度学习 数据可视化 数据处理
python 机器学习 sklearn——一起识别数字吧
python 机器学习 sklearn——一起识别数字吧
|
11天前
|
机器学习/深度学习 Python
python 机器学习 sklearn——手把手教你预测心脏病
python 机器学习 sklearn——手把手教你预测心脏病
|
19天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】K-means 聚类算法在 Python 中的实现
【4月更文挑战第30天】K-means 是一种常见的聚类算法,用于将数据集划分为 K 个簇。其基本流程包括初始化簇中心、分配数据点、更新簇中心并重复此过程直到收敛。在 Python 中实现 K-means 包括数据准备、定义距离函数、初始化、迭代和输出结果。虽然算法简单高效,但它需要预先设定 K 值,且对初始点选择敏感,可能陷入局部最优。广泛应用在市场分析、图像分割等场景。理解原理与实现对应用聚类分析至关重要。
|
19天前
|
数据可视化 数据挖掘 Python
Python用 tslearn 进行时间序列聚类可视化
Python用 tslearn 进行时间序列聚类可视化
|
19天前
|
机器学习/深度学习 数据可视化 数据挖掘
PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化
PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化
|
19天前
|
数据可视化 算法 数据挖掘
Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化
Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化
|
19天前
|
Python
Python中的贝叶斯分类器以及如何使用Sklearn库实现它。
【4月更文挑战第23天】Sklearn库支持多种贝叶斯分类器,如高斯朴素贝叶斯、多项式朴素贝叶斯和伯努利朴素贝叶斯。以下是一个使用GaussianNB的简要示例:导入必要库,加载鸢尾花数据集,将其划分为训练集和测试集,创建高斯朴素贝叶斯分类器,训练模型,预测并评估(通过准确率)模型性能。
21 0
|
19天前
|
自然语言处理 数据可视化 算法
Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集
Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集
|
机器学习/深度学习 算法 搜索推荐
Python数据挖掘与机器学习,快速掌握聚类算法和关联分析
前文数据挖掘与机器学习技术入门实战与大家分享了分类算法,在本文中将为大家介绍聚类算法和关联分析问题。分类算法与聚类到底有何区别?聚类方法应在怎样的场景下使用?如何使用关联分析算法解决个性化推荐问题?本文就为大家揭晓答案。
16234 0
|
3天前
|
存储 索引 Python
元组(Tuple)在Python编程中的应用与实例
元组(Tuple)在Python编程中的应用与实例
14 2