jupyter notebook实现聚类分析
时间: 2023-08-09 18:07:48 浏览: 79
要在Jupyter Notebook上实现聚类分析,你可以使用scikit-learn库中的KMeans算法。首先,你需要导入所需的库和数据集。在这个例子中,我们使用鸢尾花数据集作为示例。你可以使用以下代码导入数据集和KMeans算法:
```
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
iris = load_iris()
model = KMeans(n_clusters=3).fit(iris.data)
```
这段代码将加载鸢尾花数据集,并使用KMeans算法将数据分为3个簇。你可以通过`model.labels_`查看聚类结果,每个样本都会被分配一个簇的标签。
如果你想手动实现聚类分析,你可以使用以下代码:
```
from sklearn.datasets import load_iris
import numpy as np
iris = load_iris()
data = iris.data
k = 2 # 设置聚类中心
n = len(data)
dist = np.zeros(\[n,k+1\]) # 1.选中心
center = data\[:k, :\]
center_new = np.zeros(\[k, data.shape\[1\]\])
while True:
# 2.求距离
for i in range(n):
for j in range(k):
dist\[i, j\] = np.sqrt(sum((data\[i, :\] - center\[j, :\])**2))
dist\[i,k\] = np.argmin(dist\[i, :k\]) # 求最小值的位置,并归类
# 4.求新类中心
for i in range(k):
index = dist\[:,k\] == i # 找到不同类类索引
center_new\[i, :\] = data\[index, :\].mean(axis=0) # 求同类的新样本中心
# 5.判定结果
if np.all(center == center_new):
break
center = center_new
print(dist) # 查看聚类结果
```
这段代码将使用鸢尾花数据集进行聚类分析。你可以根据需要修改`k`的值来设置聚类中心的数量。最后,你可以通过`dist`数组查看聚类结果。
希望这些代码能帮助到你在Jupyter Notebook上实现聚类分析。
#### 引用[.reference_title]
- *1* *3* [Python实现 K-Means聚类(jupyter notebook)](https://blog.csdn.net/weixin_52300428/article/details/127463130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [基于Jupiter Notebook的回归、分类和聚类可视化分析](https://blog.csdn.net/newlw/article/details/122463700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]