1.机器学习模型代码——聚类与评估参数

数据集

在这里插入图片描述
模型训练

import sklearn.metrics as skm
from sklearn import cluster #聚类包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import joblib

data=pd.read_excel("数据\\01.聚类数据1.xlsx")
data.index=data.姓名
data_select=data.iloc[:,1:]
data_select=data_select.apply(lambda x:(x-min(x))/(max(x)-min(x)),axis=0)
from sklearn import cluster
model=cluster.KMeans(2,max_iter=10)
result=model.fit(data_select)
print("1.分类结果标签:",result.labels_)# 分类结果标签
print("2.各特征各分组的中心点值:",result.cluster_centers_)# 各特征各分组的中心点值
print("*3.ch 指标vrc =F值=ssa/sse:",skm.calinski_harabasz_score(data_select,result.labels_)) #ch指标得vrc =F值=ssa/sse 越大越好
print("*4.SI(轮廓系数,越大分得越好) :",skm.silhouette_score(data_select,result.labels_))
print("*5.sse (组内距离,簇内距离,越小越好): ",result.inertia_)
print("6.SI(每个点数据轮廓系数,越大分得越好) :",skm.silhouette_samples(data_select,result.labels_))
print("7.存储模型:",joblib.dump(model,'2.模型保存\\01.聚类及参数模型.pkl'))

# print("读取",joblib.load('2.模型保存\\01.聚类及参数模型.pkl'))
train_model=joblib.load('2.模型保存\\01.聚类及参数模型.pkl')
print("结果:",train_model.fit(data_select).labels_)
print("预测推断:",train_model.predict([[0.000000,0.363636,1.000000] ]))

out:

1.分类结果标签: [1 0 1 1 0 1]
2.各特征各分组的中心点值: [[0.14285714 0.18181818 1.        ]
 [0.625      0.70454545 0.41666667]]
*3.ch 指标vrc =F值=ssa/sse: 3.164640105724566
*4.SI(轮廓系数,越大分得越好) : 0.30853316791257973
*5.sse (组内距离,簇内距离,越小越好):  1.425726420044602
6.SI(每个点数据轮廓系数,越大分得越好) : [0.13635519 0.56654    0.00488626 0.21229708 0.59024083 0.34087965]
7.存储模型: ['2.模型保存\\01.聚类及参数模型.pkl']
结果: [1 0 1 1 0 1]
预测推断: [0]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Captain_Data

打赏一下~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值