ZBLOG

读取数据moon.csv, 部分数据如下 X1 X2 Label 0.682988 -0.3452 1 2.04099 -0.13161 1 -0.13975 0.454391 1 0.885748 0.286342 0 1.182459 -0.49771 1 1.019208 -0.42547 1 0.389362 -0.24712 1 -0.56038 0.712681 0 0.901844 0.053931 0 0.206748 0.006208 1 1.323523 -0.2891...

为了完成你的要求,我们可以使用Python中的Pandas、Matplotlib和Scikit-learn库。首先,我们将读取moon.csv文件,并绘制散点图来展示数据。

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_csv('moon.csv')

# 绘制散点图
plt.scatter(data[data['Label'] == 0]['X1'], data[data['Label'] == 0]['X2'], c='blue', label='Label 0')
plt.scatter(data[data['Label'] == 1]['X1'], data[data['Label'] == 1]['X2'], c='red', label='Label 1')
plt.xlabel('X1')
plt.ylabel('X2')
plt.legend()
plt.show()

接下来,我们可以使用K-means算法对数据进行聚类分析,并生成新的标签。

from sklearn.cluster import KMeans

# 提取特征向量
features = data[['X1', 'X2']]

# 使用K-means算法进行聚类分析
kmeans = KMeans(n_clusters=2)
kmeans.fit(features)

# 获取新的聚类标签并添加到原数据中
data['New_Label'] = kmeans.labels_

# 打印结果
print(data.head())

然后,我们可以统计正确分类的比例,并计算K-means聚类算法的轮廓系数。

from sklearn.metrics import silhouette_score

# 计算正确分类比例
correct_classification_ratio = sum(data['Label'] == data['New_Label']) / len(data)
print("Correct Classification Ratio (K-means):", correct_classification_ratio)

# 计算轮廓系数
silhouette_coefficient = silhouette_score(features, kmeans.labels_)
print("Silhouette Coefficient (K-means):", silhouette_coefficient)

类似地,我们可以使用层次聚类和DBSCAN算法进行分析,并计算正确分类比例和轮廓系数。你可以尝试修改代码来完成这两个任务。

希望以上代码对你有所帮助!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=14436

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?