学生饮酒量数据集DBSCAN聚类代码
时间: 2024-01-13 22:04:08 浏览: 139
以下是使用Python中Scikit-learn库实现DBSCAN聚类算法对学生饮酒量数据集进行聚类的示例代码:
```python
import pandas as pd
from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# 读取数据集
data = pd.read_csv('student_alcohol_consumption.csv')
# 筛选出需要的特征
X = data[['age', 'absences', 'G1', 'G2', 'G3']].values
# 数据标准化
scaler = StandardScaler()
X = scaler.fit_transform(X)
# DBSCAN聚类
dbscan = DBSCAN(eps=0.5, min_samples=5)
dbscan.fit(X)
# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=dbscan.labels_, cmap='rainbow')
plt.title('DBSCAN Clustering')
plt.show()
```
在上述代码中,我们首先使用`pandas`库读取了学生饮酒量数据集,并从中筛选出了需要的特征。然后,我们使用`StandardScaler`类进行数据标准化。最后,我们使用`DBSCAN`类进行聚类,其中`eps`参数表示邻域半径,`min_samples`参数表示最小样本数。最后,我们使用`matplotlib`库将聚类结果可视化。
需要注意的是,在进行DBSCAN聚类时,需要调整`eps`和`min_samples`参数以达到最优的聚类效果。
阅读全文