Scala实现Kmeans聚类算法

Scala实现Kmeans聚类算法

Python实现Kmeans聚类

# -*- coding: utf-8 -*-
# 使用K-Means算法聚类消费行为特征数据

import pandas as pd
from sklearn.cluster import KMeans

# 参数初始化
inputfile = r'D:\1zhuomian\期末题目\大数据期末数据 参考文件 电子书\consumption_data.xls'  # 销量及其他属性数据文件路径
outputfile = r'D:\1zhuomian\期末题目\大数据期末数据 参考文件 电子书\data_type.xlsx'  # 保存结果的文件路径
k = 3  # 聚类的类别数量
iteration = 500  # 聚类最大迭代次数
data = pd.read_excel(inputfile, index_col='Id')  # 读取数据并以'Id'列为索引
data_zs = 1.0 * (data - data.mean()) / data.std()  # 数据标准化处理

# 创建KMeans模型并进行训练
model = KMeans(n_clusters=k, max_iter=iteration)  # 分为k类,并发数4
model.fit(data_zs)  # 开始聚类

# 简单打印结果
r1 = pd.Series(model.labels_).value_counts()  # 统计各个类别的数目
r2 = pd.DataFrame(model.cluster_centers_)  # 找出聚类中心
r = pd.concat([r2, r1], axis=1)  # 横向连接(0是纵向),得到聚类中心对应的类别下的数目
r.columns = list(data.columns) + ['类别数目']  # 重命名表头
print(r)

# 详细输出原始数据及其类别
r = pd.concat([data, pd.Series(model.labels_, index=data.index)], axis=1)  # 详细输出每个样本对应的类别
r.columns = list(data.columns
转载请说明出处内容投诉
CSS教程网 » Scala实现Kmeans聚类算法

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买