鸢尾花数据使用streamlit作k-means聚类
时间: 2023-05-29 16:06:27 浏览: 218
以下是使用streamlit实现鸢尾花数据的k-means聚类的示例代码:
```python
import streamlit as st
from sklearn import datasets
from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt
# 加载鸢尾花数据
iris = datasets.load_iris()
X = iris.data
st.title('鸢尾花数据聚类')
# 显示数据
st.write('数据:')
st.write(X)
# 设置k值
k = st.slider('选择k值:', 1, 10, 3)
# 创建模型并训练
model = KMeans(n_clusters=k)
model.fit(X)
# 预测聚类结果
y_pred = model.predict(X)
# 显示聚类结果
st.write('聚类结果:')
st.write(y_pred)
# 绘制聚类结果图像
colors = ['red', 'blue', 'green', 'yellow', 'purple', 'orange', 'black', 'pink', 'gray', 'brown']
for i in range(len(X)):
plt.scatter(X[i][0], X[i][1], color=colors[y_pred[i]])
st.pyplot()
```
运行以上代码,将会得到一个交互式的streamlit应用程序,可以使用滑块选择k值,然后显示数据和聚类结果,并绘制聚类结果图像。用户可以根据需要调整k值,观察聚类结果的变化。
阅读全文