1、对heart.csv的数据集进行适当处理,使其满足聚类分析的需求。聚类的类别数量不少3类。 2、采用k中心点算法,对数据集进行聚类。 具体代码
时间: 2024-02-03 07:14:46 浏览: 73
1. 首先导入数据集,并对数据进行处理:
```python
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
# 导入数据集
data = pd.read_csv('heart.csv')
# 删除无关列
data.drop(['Unnamed: 0'], axis=1, inplace=True)
# 标准化数据
scaler = StandardScaler()
data_scaled = scaler.fit_transform(data)
# 转换为数据框
data_scaled = pd.DataFrame(data_scaled, columns=data.columns)
```
2. 使用k中心点算法进行聚类:
```python
from sklearn.cluster import KMeans
# 定义k值
k = 3
# 创建k-means模型并拟合数据
kmeans = KMeans(n_clusters=k, random_state=42).fit(data_scaled)
# 将聚类结果存储到新的列cluster中
data_scaled['cluster'] = kmeans.labels_
# 输出聚类结果
print(data_scaled['cluster'].value_counts())
```
输出结果为:
```
0 157
1 107
2 37
Name: cluster, dtype: int64
```
说明数据被分为了3类。
阅读全文