本文主要是介绍python数据分析与挖掘实战之航空公司客户价值分析---k-means聚类与雷达图绘制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- python数据分析与挖掘实战之航空公司客户价值分析—k-means聚类与雷达图绘制
# -*- coding: utf-8 -*-
"""
Created on Sun Dec 30 12:48:53 2018@author: muli
"""import numpy as np
import pandas as pd
import matplotlib.pyplot as plt#导入K均值聚类算法
from sklearn.cluster import KMeans #K-Means聚类算法
#待聚类的数据文件
inputfile = './tmp/zscoreddata.xls'
#需要进行的聚类类别数
k = 5 #读取数据并进行聚类分析
#读取数据
data = pd.read_excel(inputfile) #调用k-means算法,进行聚类分析
kmodel = KMeans(n_clusters = k)
#训练模型
kmodel.fit(data) #查看聚类中心
print(kmodel.cluster_centers_)
#查看各样本对应的类别
print(kmodel.labels_ )#####################
# 绘制雷达图
#标签
labels = data.columns
#数据个数
k = 5
plot_data = kmodel.cluster_centers_
#指定颜色
color = ['b', 'g', 'r', 'c', 'y'] angles = np.linspace(0, 2*np.pi, k, endpoint=False)
# 闭合
plot_data = np.concatenate((plot_data, plot_data[:,[0]]), axis=1)
# 闭合
angles = np.concatenate((angles, [angles[0]])) fig = plt.figure()
#polar参数
ax = fig.add_subplot(111, polar=True)
for i in range(len(plot_data)):# 画线ax.plot(angles, plot_data[i], 'o-', color = color[i], label = 'client'+str(i), linewidth=2)ax.set_rgrids(np.arange(0.01, 3.5, 0.5), np.arange(-1, 2.5, 0.5), fontproperties="SimHei")
ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties="SimHei")
plt.legend(loc = 4)
plt.show()
- 雷达图:
这篇关于python数据分析与挖掘实战之航空公司客户价值分析---k-means聚类与雷达图绘制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!