下载葡萄酒数据集,使用k均值聚类模型实现样本分类
时间: 2024-01-06 19:07:11 浏览: 73
好的,以下是使用k均值聚类模型对葡萄酒数据集进行样本分类的代码:
首先,我们需要下载葡萄酒数据集。可以通过以下代码进行下载:
```python
from sklearn.datasets import load_wine
wine = load_wine()
X = wine.data
y = wine.target
```
接下来,我们可以使用KMeans模型对数据进行聚类:
```python
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)
y_kmeans = kmeans.predict(X)
```
这里我们将数据分为3个簇,然后使用KMeans模型对数据进行聚类,并将聚类结果存储在y_kmeans中。
最后,我们可以将聚类结果可视化:
```python
import matplotlib.pyplot as plt
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5);
```
这里我们使用了第一维和第二维特征来绘制数据点的散点图,并将不同簇的数据点用不同颜色标记。同时,我们还将簇中心以黑色圆圈的形式标记在图中。
完整代码如下所示:
```python
from sklearn.datasets import load_wine
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
wine = load_wine()
X = wine.data
y = wine.target
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)
y_kmeans = kmeans.predict(X)
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5);
plt.show()
```
阅读全文