1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 阿里巴巴天池机器学习(数据分析达人赛3:汽车产品聚类分析)

阿里巴巴天池机器学习(数据分析达人赛3:汽车产品聚类分析)

时间:2023-10-05 11:44:15

相关推荐

阿里巴巴天池机器学习(数据分析达人赛3:汽车产品聚类分析)

赛题背景

赛题以竞品分析为背景,通过数据的聚类,为汽车提供聚类分类。对于指定的车型,可以通过聚类分析找到其竞品车型。通过这道赛题,鼓励学习者利用车型数据,进行车型画像的分析,为产品的定位,竞品分析提供数据决策。

赛题数据

数据源:car_price.csv,数据包括了205款车的26个字段

赛题任务

选手需要对该汽车数据进行聚类分析,并找到vokswagen汽车的相应竞品。要求选手在天池实验室中用notebook完成以上任务,并分享到比赛论坛。

(聚类分析是常用的数据分析方法之一,不仅可以帮助我们对用户进行分组,还可以帮我们对产品进行分组(比如竞品分析) 这里的聚类个数选手可以根据数据集的特点自己指定,并说明聚类的依据)

import pandas as pd

from sklearn.cluster import KMeans

from sklearn.preprocessing import LabelEncoder

from sklearn import preprocessing

导入数据

df=pd.read_csv("car_price.csv")

提取数据中值为字符串的列,,,注意include里是O,不是0!!!

cols = df.select_dtypes(include='O').columns

df2 = df.copy()

转换数值标签

for col in cols:

le = LabelEncoder()

df2[col] = le.fit_transform(df[col])

df2

数据缩放

scaler = preprocessing.MinMaxScaler()

注意是df2.loc[:],不能是df2

df2.loc[:] = scaler.fit_transform(df2)

columns = ['symboling', 'fueltype', 'aspiration',

'doornumber', 'carbody', 'drivewheel', 'enginelocation', 'wheelbase',

'carlength', 'carwidth', 'carheight', 'curbweight', 'enginetype',

'cylindernumber', 'enginesize', 'fuelsystem', 'boreratio', 'stroke',

'compressionratio', 'horsepower', 'peakrpm', 'citympg', 'highwaympg',

'price']

kmeans= KMeans(n_clusters=10)

kmeans.fit(df2[columns])

y_pred = kmeans.predict(df2[columns])

df['result'] = y_pred

df

选择无重复的值,便于查看

df['CarName'].unique()

name = 'volkswagen rabbit'

提取标签一样的数据作为我们的汽车竞品

label = df[df['CarName']==name]['result'].values[0]

df[df['result']==label]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。