python鸢尾花数据集聚类_基于python的鸢尾花简单聚类模型分析

1、导入数据

#导入花萼数据

from sklearn.datasets import load_iris

iris=load_iris()

iris.data

前四列为花萼长度,花萼宽度,花瓣长度,花瓣宽度等4个用于识别鸢尾花的属性

2、建模

#创建kmeans聚类

from sklearn.cluster import KMeans

kmeans=KMeans(n_clusters=3,init='k-means++',random_state=123) #分为三类

y_kmeans=kmeans.fit_predict(iris.data)

y_kmeans

可以看出0聚类得很好,但是2当中夹杂着1,1中夹杂着2,1和2存在混淆

3、可视化聚类模型

import matplotlib.pyplot as plt

#画出了三个类的中心点位置

plt.scatter(iris.data[y_kmeans==0,2],iris.data[y_kmeans==0,3],s=100,c='red',label='Cluter 1')

plt.scatter(iris.data[y_kmeans==1,2],iris.data[y_kmeans==1,3],s=100,c='blue',label='Cluter 2')

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以给您提供以下步骤: 1. 导入数据集和必要的库 2. 数据预处理 3. 聚类分析 4. 可视化结果 下面是详细的步骤: 1. 导入数据集和必要的库 首先,我们需要导入数据集和必要的库。在这里,我们将使用sklearn库中的尾花数据集。 ```python from sklearn.datasets import load_iris import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline ``` 2. 数据预处理 接下来,我们需要对数据进行预处理。我们将使用pandas库将数据集转换为DataFrame对象,并删除不必要的列。 ```python iris = load_iris() df = pd.DataFrame(data=iris.data, columns=iris.feature_names) df.head() ``` 输出结果: ``` sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) 0 5.1 3.5 1.4 0.2 1 4.9 3.0 1.4 0.2 2 4.7 3.2 1.3 0.2 3 4.6 3.1 1.5 0.2 4 5.0 3.6 1.4 0.2 ``` ```python df.drop(['sepal length (cm)', 'sepal width (cm)'], axis=1, inplace=True) df.head() ``` 输出结果: ``` petal length (cm) petal width (cm) 0 1.4 0.2 1 1.4 0.2 2 1.3 0.2 3 1.5 0.2 4 1.4 0.2 ``` 3. 聚类分析 现在,我们可以使用KMeans算法对数据进行聚类分析。在这里,我们将使用sklearn库中的KMeans算法。 ```python from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3) kmeans.fit(df) ``` 输出结果: ``` KMeans(n_clusters=3) ``` 4. 可视化结果 最后,我们可以使用matplotlib库将聚类结果可视化。 ```python plt.scatter(df['petal length (cm)'], df['petal width (cm)'], c=kmeans.labels_) plt.xlabel('Petal Length') plt.ylabel('Petal Width') plt.title('K-Means Clustering Results') plt.show() ``` 输出结果: ![image](https://img-blog.csdn.net/20180530163412909?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmdsZV9jaGF0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值