ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-07-09 22:30:52  阅读:310  来源: 互联网

标签:plt score 笔记 train import 天池 sklearn data 聚类分析


文章目录

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的实战传送门

标签:plt,score,笔记,train,import,天池,sklearn,data,聚类分析
来源: https://blog.csdn.net/qq_34271349/article/details/118610172

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有