k-means聚类分析并pyecharts可视化
时间: 2023-07-04 13:29:05 浏览: 295
下面是一个使用Python实现k-means聚类分析并用pyecharts进行可视化的示例代码:
```python
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
from pyecharts.charts import Scatter
from pyecharts import options as opts
# 生成随机数据
np.random.seed(0)
X = np.random.randn(100, 2)
# 模型训练及预测
k = 3
model = KMeans(n_clusters=k)
labels = model.fit_predict(X)
centers = model.cluster_centers_
# 可视化结果
df = pd.DataFrame({'x': X[:, 0], 'y': X[:, 1], 'label': labels})
colors = ['#FF0000', '#00FF00', '#0000FF']
scatter = (
Scatter()
.add_xaxis(df['x'].tolist())
.add_yaxis(df['y'].tolist(), df['label'].tolist())
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
xaxis_opts=opts.AxisOpts(type_="value"),
yaxis_opts=opts.AxisOpts(type_="value"),
visualmap_opts=opts.VisualMapOpts(is_piecewise=True, pieces=[{'value': i, 'color': colors[i]} for i in range(k)]),
title_opts=opts.TitleOpts(title="k-means聚类分析")
)
)
scatter.render_notebook()
```
上述代码中,我们首先生成了一个二维的随机数据集X,然后使用sklearn库中的KMeans类训练了一个k-means模型,并对数据进行预测,得到了每个数据点所属的簇。接着,我们使用pyecharts库中的Scatter类将数据可视化出来,其中不同簇的数据点用不同颜色表示。最后,我们调用render_notebook()方法将图表显示在Jupyter Notebook中。
阅读全文