使用kmeans,按3门课成绩分成3个组,绘制3d图形
时间: 2024-02-16 08:02:49 浏览: 48
好的,下面是按照您的要求使用KMeans算法将成绩分成3组,并绘制3D图形的Python代码示例:
```python
import numpy as np
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 生成随机数据
np.random.seed(42)
data = np.random.rand(100, 3)
# 使用KMeans算法将数据分成3组
kmeans = KMeans(n_clusters=3)
kmeans.fit(data)
labels = kmeans.labels_
# 绘制3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=labels)
ax.set_xlabel('Course 1')
ax.set_ylabel('Course 2')
ax.set_zlabel('Course 3')
plt.show()
```
在这个示例中,我们首先生成了一个100行3列的随机数据矩阵,然后使用KMeans算法将数据分成3组,并将每个数据点的标签存储在labels数组中。最后,我们使用Matplotlib库中的Axes3D来绘制3D散点图,其中x轴、y轴、z轴分别代表3门课的成绩,颜色表示所属的组别。您可以自行替换data矩阵为您的成绩数据,然后运行代码来生成对应的3D图形。
阅读全文