K-means聚类算法实现,用python代码展示1. 采用莺尾花数据,学习决策树。 2.画出决策树
时间: 2024-03-20 21:44:42 浏览: 63
对不起,我之前的回答有误。我混淆了 K-means 聚类算法和决策树算法。以下是使用 Python 实现 K-means 聚类算法,采用莺尾花数据集的示例代码:
```python
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
# 加载莺尾花数据集
iris = load_iris()
X = iris.data
# 创建 KMeans 模型并拟合数据
kmeans = KMeans(n_clusters=3, random_state=0)
kmeans.fit(X)
# 打印簇中心点的坐标
print(kmeans.cluster_centers_)
# 打印每个数据点所属的簇
print(kmeans.labels_)
```
以上代码使用了 scikit-learn 库中的 KMeans 类来实现 K-means 聚类算法。首先,我们加载莺尾花数据集,并将数据存储在 X 变量中。然后,我们创建了一个 KMeans 对象,并将要分成的簇数设置为 3。接下来,我们使用 fit() 方法拟合数据,并使用 cluster_centers_ 属性打印簇中心点的坐标。最后,我们使用 labels_ 属性打印每个数据点所属的簇。
由于 K-means 算法是一种无监督学习算法,因此它无法学习决策树。如果您想使用 Python 实现决策树算法,可以考虑使用 scikit-learn 库中的 DecisionTreeClassifier 类。以下是一个使用决策树分类器对莺尾花数据集进行分类的示例代码:
```python
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import plot_tree
import matplotlib.pyplot as plt
# 加载莺尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 创建决策树分类器并拟合数据
clf = DecisionTreeClassifier(random_state=0)
clf.fit(X, y)
# 绘制决策树
plt.figure(figsize=(20,10))
plot_tree(clf, filled=True)
plt.show()
```
以上代码首先加载莺尾花数据集,并将数据存储在 X 和 y 变量中。然后,我们创建了一个 DecisionTreeClassifier 对象,并使用 fit() 方法拟合数据。接下来,我们使用 plot_tree() 函数绘制决策树,并使用 show() 方法显示图形。需要注意的是,由于决策树可能非常大,因此可能需要调整图形的大小以适应屏幕。
阅读全文