天池-车辆产品聚类分析-积累笔记

1 LabelEncoder方法

sklearn.preprocess.LabelEncoder

pd.get_dummies(data)

import pandas as pd
data = pd.read_csv("data/car_price.csv")

one_matrix = pd.get_dummies(data)
one_matrix

在这里插入图片描述

2 特征之间关联性分析

sns.pairplot(data=data)


import seaborn as sns 
import matplotlib.pyplot as plt

sns.pairplot(data=df)
plt.savefig("pairplot.svg")
plt.show()

train_corr=x_train.corr()

# 删除无关数据
x_train = data_price.drop(columns=['car_ID', 'symboling', 'CarName'])
train_corr=x_train.corr()

在这里插入图片描述

3 聚类评估方法

(kmeans.inertia_)簇内误差平方和

# 寻找聚类最优簇的个数
score=[]
for n_cluster in range(1,11):
    kmeans = KMeans(n_cluster)
    kmeans.fit(x_train)
    score.append(kmeans.inertia_)
plt.plot(range(1,11),score)
plt.show    

在这里插入图片描述

轮廓系数 sklearn.metrics.silhouette_score

专门做的笔记传送门


from sklearn.metrics import silhouette_score

sc_score = silhouette_score(x, kmeans_model.labels_, metric="euclidean")

4 层次聚类 sklearn.cluster.AgglomerativeClustering


#使用层次聚类
from scipy.cluster.hierarchy import dendrogram, ward
from sklearn.cluster import KMeans, AgglomerativeClustering
import matplotlib.pyplot as plt
model = AgglomerativeClustering(linkage='ward', n_clusters=3)
y = model.fit_predict(train_x)
print(y)

linkage_matrix = ward(train_x)
dendrogram(linkage_matrix)
plt.show()

传送门


from scipy.spatial.distance import pdist
from scipy.cluster.hierarchy import linkage, dendrogram
import matplotlib.pyplot as plt
%matplotlib inline
row_clusters = linkage(pdist(data_copy, metric='euclidean'), method='ward')
fig = plt.figure(figsize=(12,10))
# 参数p和参数truncate_mode用来将谱系图截断,部分结点的子树被剪枝,横轴显示的是该结点包含的样本数
row_dendr = dendrogram(
    row_clusters,
    p=data_copy.shape[0],
    truncate_mode='lastp',
    color_threshold=7,
)

在这里插入图片描述

5. 个人实战

GardenLu的实战传送门

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

古承风

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值