《人工智能基础与应用》第5章 物以类聚:发现新簇群课后习题答案_第1页
《人工智能基础与应用》第5章 物以类聚:发现新簇群课后习题答案_第2页
《人工智能基础与应用》第5章 物以类聚:发现新簇群课后习题答案_第3页
《人工智能基础与应用》第5章 物以类聚:发现新簇群课后习题答案_第4页
《人工智能基础与应用》第5章 物以类聚:发现新簇群课后习题答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章物以类聚:发现新簇群

课后习题答案

一、考考你

L关于聚类说法正确是D。

A.聚类样本一定要有标签B.应该将所有特征数据作为聚类依据

C.聚类的k值可以随意指定D.聚类质心就是各簇群特征的平均值

2.下列C聚类性能评价指标在[-Lll之间,值越接近1说明聚类效果越好。

ACH分数B.戴维森堡丁指数DBlC.轮廓系数DJnertia

3.k-means模型的A参数能保证聚类结果复现。

A.random_stateB.initC.max_iterD.algorithm

4.衡量聚类效果好坏的主要依据是

A.各类之间的界限明显B.各样本离各自质心之和最小

C.类别之间的协方差越大越好D.同类样本紧促,不同类样本相距远

5.关于RFM模型的应用,说法错误的是D。

A.R、F、M是区分客户的三个重要指标

B.这三个指标是基于原始数据统计出来的

C.在具体场景应用RFM模型时,可以添加其它指标

D.训练模型前样本不进行标准化处理也是可以的

二、亮一亮

1.在案例1中用k-均值算法对莺尾花进行聚类时•,有哪些办法能帮你找到最优的k值?

参考答案:

(1)尽可能多的获得莺尾花的特征数据进行初步分析,基于特征数据确定种类的有效

值作为k的数值。

(2)在运行k-means聚类中根据聚类结果对比分析确定最优的k值。

2.在案例2的电商用户分类过程中,求各类客户样本的均值有何意义?请举例说明。

参考答案:

由于聚类前对原始数据进行了标准化处理,所以需要聚类后对质心进行反标准化转换,

得到原始均值,方便观察聚类结果和对业务场景的解释。

三、帮帮我

ɪ.Wholesalecustomersdata.csv文件保存有批发商客户数据,前5行数据如下图5.20所

示。数据集各属性函数如下。

ChannelRegionFreshMilkGroceryFrozenDetergents_PaperDelicassen

023126699656756121426741338

123705798109568176232931776

223635388087684240535167844

313132651196422164045071788

4232261554107198391517775185

图5.20批发商客户数据

÷Channel:客户渠道,1指酒店类,2指零售类。

÷Region:客户所在地区,1指里斯本,2指波尔图,3指其它地区。

令Fresh:在新鲜产品上的支出。

÷Milk:在乳制品上的支出。

令Grocery:在杂货上的支出。

◊Frozen:在冷冻产品上的支出。

令DetergentS-Paper:在清洁剂(纸)上的支出。

令Delicassen:在熟食上的支出。

请运用k-means聚类算法将这400名批发商客户进行聚类,并试图解释聚类结果。提示:

聚类时只考虑后6个特征,因为这6个特征代表客户的进货能力。

参考答案:

#数据预处理

#1.处理异常值在处理异常值之前,先来通过箱线图看看异常值.

importseabornassns

importpandasaspd

importmatplotlib.pyplotaspit

,

df=ρd.read-csv(rdata∖Wholesalecustomersdata.csv',sep=√)

defget_boxplot(data,start,end):

fig,ax=plt.subplots(l,end-start,figsize=(24,4))

foriinrange(start,end):

sns.boxplot(y=data[data.columns[i]],data=data,ax=ax[i-start])

get_boxplot(df,2,8)

解释:可以看到以上6个连续型变量均有异常值,由于k-means算法对异常值较敏感,因

此选择剔除它。

importnumpyasnp

defdrop_outlier(data,start,end):

foriinrange(start,end):

field=data.columns[i]

Ql=np.quantile(data[field],0.25)

Q3=np.quantile(data[field],0.75)

deta=(Q3-Q1)*1.5

data=data[(data[field]>=Ql-deta)&(data[fieldl<=Q3÷deta)]

returndata

del_df=drop_outlier(df,2,8)

Prim("原有样本容量:{0},剔除后样本容量:{1}".format(df.shape[O],del_df.shape[O]))

get_boxplot(del_df,2,8)

原有样本容量:440.剔除后样本容量:318

#2.变量离散化、归一化

deLdfI,ChanneΓ]=del_df.Channel.astype(str)

deLdf[,Region,]=del_df.Region.astype(str)

del_df=pd.get_dummies(del_df)

foriinrange(6):

fieid=del_df.columns[i]

del_df[field]=del_df[field].apply(lambdax:(x-del_df[field].mean())/

del_dflfield].mean())

#3.迭代评估聚类的k值

fromsklearn.clusterimportKMeans

K=range(l,10)

sse=[]

forkinK:

km=KMeans(n_clusters=k,random_state=10)

km.fit(deLdf)

sse.append(km.inertia_)

plt.figure(figsize=(8,6))

plt.plot(K,sse,'-o',alpha=0.7)

plt.xlabel("Kπ)

plt.ylabel("SSEπ)

plt.show()

根据肘部法则,选择K=2,也就是说将客户分成两群.

#4.客户分群

frompandas.plottingimportparallel_coordinates#训练模型

km=KMeans(n_clusters=2,random_state=10)

km.fit(del_df)

centers=km.cluster_centers_

labels=km.labels_

customer=pd.DataFrame({,0,:centers[0J,,,Γ,:centers[l]}).T

customer.columns=del_df.keys()

,

df-median=pd.DataFrame({'2:del_df.median()}).T

customer=pd.concat([customer,dθ∏edian])

cUStomer["category',]=["cuslomerj","CUStOmer_2",'median']#绘制图像

plt.figure(figsize=(12,6))

parallel_coordinates(customer,"category",color=(,red,∕blue,,,black,))

plt.xticks(rotation=15)

plt.show()

从6种产品每年消费支出来看,客户群1在冷冻产品上最高,在洗涤剂和纸制品上最低,

而客户群2则在冷冻产品上最低,在洗涤剂和纸制品上最高,且客户群2在6种产品的消费

支出均高于中位数水平,因此客户群2为重要客户,客户群1则是一般客户。

#5.最终分群结果,将聚类后的标签加入数据集

deLdf[,category,J=Iabels

,,

del-df[category]=np.where(del_df.category==0,'customer.!','customer_2')

customer=pd.DataFrame({'O,:centers[O],,,Γ,:centers[l]}).T

customer[',categoιy',]=「customer」.center',"CUStomer_2_Center”]

customer.columns=del_df.keys()

del_df=pd.concat([del_df,customer])#对6类产品每年消费水平进行绘制图像

df_new=del_df[['Fresh\,Milk∖,Grocery','Frozen1,*Detergents_Paper\,De

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论