目录

第一题

一、加入相应的库

二、去除空值然后进行描述性统计

三、找出CH值最大的时候的k值

四、进行数据分析和处理

第二题

一、建立表格

二、画图


第一题

一、加入相应的库

import pandas as pd
import warnings
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn import metrics
from sklearn import preprocessing
from pyecharts import options as opts
from pyecharts.charts import Radar

二、去除空值然后进行描述性统计

warnings.filterwarnings('ignore')  #去除警告
data=pd.read_excel('文件名字.xlsx')
data=data.dropna(axis=0,how='any')
descriptive_statistics=data.describe()
print(descriptive_statistics)

三、找出CH值最大的时候的k值

data=data[['PURCHASES','INSTALLMENTS_PURCHASES','PURCHASES_FREQUENCY','PURCHASES_TRX','CREDIT_LIMIT']]
norm=preprocessing.scale(data)
chs=[];ks=[]
for k in range(2,11):y_pred=KMeans(n_clusters=k,random_state=10).fit_predict(norm)   ch=metrics.calinski_harabaz_score(norm,y_pred)   #如果出问题将 harabaz 改成 harabaszks.append(k)chs.append(ch)
result=pd.DataFrame({'k':ks,'ch':chs})
print(result[result['ch']==max(result['ch'])])
plt.plot(ks,chs)
plt.show()

四、进行数据分析和处理

model=KMeans(n_clusters=3,random_state=10).fit(norm)
data['group']=model.labels_
centers=model.cluster_centers_
data_mean=data.groupby('group').mean()
data_mean=data_mean.iloc[:,:]
data.iloc[:,:].groupby('group').describe().T
value_1=[data_mean.iloc[0,:].tolist(),]
value_2=[data_mean.iloc[1,:].tolist(),]
value_3=[data_mean.iloc[2,:].tolist(),]
c_schema = [{'name':"PURCHASES","max":8377},
{'name':"INSTALLMENTS_PURCHASES","max":3284},
{"name":"PURCHASES_FREQUENCY","max":1},
{"name":"PURCHASES_TRX","max":105},
{"name":"CREDIT_LIMIT","max":9902}]
c=(Radar()
.add_schema(schema=c_schema, shape="circle",textstyle_opts=opts.TextStyleOpts(color="#130c0e"),)
.add("客户群体 1",value_1,color="#d71345")
.add("客户群体 2",value_2,color="#f47920")
.add("客户群体 3",value_3,color="#71680e")
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
)
c.render_notebook()

第二题

一、建立表格

二、画图

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Radar
datasale=pd.read_excel('文件名字.xlsx')
datasale=datasale.T
value_1=[df.loc['预算分配'].tolist(),]
value_2=[df.loc['实际开销'].tolist(),]
c_schema = [{'name':"销售","max":5000},
{'name':"管理","max":14000},
{"name":"信息技术","max":28000},
{"name":"客服","max":35000},
{"name":"研发","max":50000},
{"name":"研发","max":21000}]
c=(Radar()
.add_schema(schema=c_schema, shape="circle",textstyle_opts=opts.TextStyleOpts(color="#130c0e"),)
.add("预算",value_1,color="#d71345")
.add("实际",value_2,color="#f47920")
.set_series_opts(label_opts=opts.LabelOpts(is_show=False)))
c.render_notebook()

作业写完不易,兄弟们点点关注,点点赞!!!!!

Kmeans 算法实例,入门必看!!!!相关推荐

  1. c#语言经典程序100例,C#入门必看的实例程序100个 - 源码下载|Windows编程|其他小程序|源代码 - 源码中国...

    C#入门必看的实例程序100个\实例01\01.bmp C#入门必看的实例程序100个\实例01\csc编译器路径.txt C#入门必看的实例程序100个\实例01\hello.cs C#入门必看的实 ...

  2. java 经典 实例_5个JAVA入门必看的经典实例

    入门必看的5个java经典实例,供大家参考,具体内容如下 1.一个饲养员给动物喂食物的例子体现java中的面向对象思想,接口(抽象类)的用处 package com.softeem.demo; /** ...

  3. 95后数据科学家教你从零自学机器学习,这有3本入门必看书籍

    晓查 发自 凹非寺  量子位 编译 | 公众号 QbitAI 厌倦了现在的工作,想转行做数据科学,但是却没有计算机专业的相关学历,应该怎样才能入门? 这类的教程已经有很多.最近一位22岁的数据科学家D ...

  4. 语音识别从菜鸟到入门必看的参考书目

    原标题:语音识别从菜鸟到入门必看的参考书目 此前研究这一方面的容,搜罗了些资料,在这里整理如下,做毕业设计,写毕业论文的朋友购书时可以参考一下: 一.<MATLAB数字信号处理> 编者:王 ...

  5. c++ stack用法 入门必看 超详细

    1.stack的作用 stack是一个比较简单易用的数据结构,其最大的特性就是先进后出.就好比一个桶,先放进出的数据就在底部,如果想要取出就先要把上面的数据取出,现在不懂没关系,看完本文就可以理解了. ...

  6. [入门必看]数据结构4.2:串的模式匹配

    [入门必看]数据结构4.2:串的模式匹配 第四章 串 4.2 串的模式匹配 知识总览 4.2.1_朴素模式匹配算法 4.2.2_1_KMP算法 4.2.2_2_求next数组 4.2.3_KMP算法的 ...

  7. python基础教程书籍推荐-初学者python入门必看书籍推荐(上)

    随着最近Python的热度上涨,学习的人数也在增多,也因为Python这门语言的简短.易学.语言优美的优点,吸引了很多人来学习它.初学者想要入门,就必须先通过阅读,学习大量的理论知识对Python有一 ...

  8. arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 群里经常有朋友问arduino开发ESP8266的配置方法,今天在之前的文章基础上, ...

  9. 200528更新arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1...

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 群里经常有朋友问arduino开发ESP8266的配置方法,今天(200528)在之 ...

  10. 怎么安装python_零基础入门必看篇:浅析python,PyCharm,Anaconda三者之间关系

    今天为大家带来的内容是:零基础入门必看篇:浅析python ,PyCharm,Anaconda三者之间关系 众所周知,Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C, ...

最新文章

  1. 《精通Nginx》——1.2 从源代码安装Nginx
  2. 一行代码实现strlen
  3. Apache CXF实现Web Service(3)——Tomcat容器和不借助Spring的普通Servlet实现JAX-RS(RESTful) web service...
  4. android 源码各版本下载 原生纯净版
  5. 深入理解领域驱动设计中的聚合
  6. .net中javascript去调用webservice
  7. CCS的一些问题(转帖)
  8. navicat 只对比一张表的数据_Excel VBA批量新建工作表(对比数据透视表的使用)...
  9. 论文学习4-An Attentive Neural Architecture for Fine-grained Entity Type Classification
  10. HTML+CSS+JS实现 ❤️酷炫HUD科幻数据屏幕动画界面❤️
  11. java中md5加密和解密_如何在java中实现md5加密和解密
  12. python安卓自动化脚本_Autojs-用JavaScript实现自己的安卓手机自动化工具脚本
  13. 【语音去噪】基于matlab基本维纳滤波算法语音去噪【含Matlab源码 570期】
  14. Eclipse字体颜色控制
  15. VPP教程 基本命令 记录
  16. 交换机和路由器的基本命令
  17. Javascript中transducer的应用
  18. 06.ESP8266驱动OLED屏
  19. win10禁用计算机属性,Win10可以禁用哪些服务优化技巧?
  20. AR小项目的制作过程(一)

热门文章

  1. 算法的时间复杂度比较,计算多项式的直接法和秦九韶法
  2. emacs 自带的简单入门教程(TUTORIAL)
  3. win10 outlook邮件设置
  4. kindeditor 自定义上传图片
  5. Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解
  6. 后缀自动机1003 HDU 4416
  7. java前后端分离框架_Spring Boot 入门及前后端分离项目实践
  8. 【信号与系统】(二)信号与系统概述——基本信号
  9. APP自动化测试框架搭建(五)--Python+Appium+pytest-html
  10. anchor base和anchor free, 小物体检测, YOLO V1-3 9000 V4 V5 的区别,yolov5-8, yolox创新点