k-means算法的matlab代码实现_【学习】利用python的KMeans和PCA包实现聚类算法

参考:利用python的KMeans和PCA包实现聚类算法 - 鸿燕藏锋 - 博客园

2.csv随便填了几列简单的数据

39ff9ac3547fe4c21a4a4b432020435e.png
2.csv
# encoding: utf-8
from pandas import DataFrame, Series
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as ss
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA


df = pd.read_csv("./data/2.csv",low_memory=False)

#df1=df.ix[:,2:]
#print(df)
#print(df1)

kmeans = KMeans(n_clusters=3,random_state=10).fit(df)
df['label']=kmeans.labels_
df_count_type=df.groupby('label').apply(np.size)

#各类别数目
df_count_type
#聚类中心
kmeans.cluster_centers_
##新的dataframe,命名为new_df ,并输出到本地,命名为new_df.csv。
new_df=df[:]
new_df
new_df.to_csv('new_df.csv')
 
##将用于聚类的数据的特征的维度降至2维,并输出降维后的数据,形成一个dataframe名字new_pca
pca = PCA(n_components=2)
new_pca = pd.DataFrame(pca.fit_transform(new_df))
 
##可视化
d = new_pca[new_df['label'] == 0] 
plt.plot(d[0], d[1], 'r.')
d = new_pca[new_df['label'] == 1]
plt.plot(d[0], d[1], 'go')
d = new_pca[new_df['label'] == 2]
plt.plot(d[0], d[1], 'b*')
plt.gcf().savefig('kmeans.png')
plt.show()

0d95fe7b62f172ce2b75e24401180c99.png
结果降维可视化
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值