《人工智能基礎(chǔ)與應(yīng)用》第5章 物以類聚:發(fā)現(xiàn)新簇群課后習(xí)題答案_第1頁
《人工智能基礎(chǔ)與應(yīng)用》第5章 物以類聚:發(fā)現(xiàn)新簇群課后習(xí)題答案_第2頁
《人工智能基礎(chǔ)與應(yīng)用》第5章 物以類聚:發(fā)現(xiàn)新簇群課后習(xí)題答案_第3頁
《人工智能基礎(chǔ)與應(yīng)用》第5章 物以類聚:發(fā)現(xiàn)新簇群課后習(xí)題答案_第4頁
《人工智能基礎(chǔ)與應(yīng)用》第5章 物以類聚:發(fā)現(xiàn)新簇群課后習(xí)題答案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第5章物以類聚:發(fā)現(xiàn)新簇群

課后習(xí)題答案

一、考考你

L關(guān)于聚類說法正確是D。

A.聚類樣本一定要有標簽B.應(yīng)該將所有特征數(shù)據(jù)作為聚類依據(jù)

C.聚類的k值可以隨意指定D.聚類質(zhì)心就是各簇群特征的平均值

2.下列C聚類性能評價指標在[-Lll之間,值越接近1說明聚類效果越好。

ACH分數(shù)B.戴維森堡丁指數(shù)DBlC.輪廓系數(shù)DJnertia

3.k-means模型的A參數(shù)能保證聚類結(jié)果復(fù)現(xiàn)。

A.random_stateB.initC.max_iterD.algorithm

4.衡量聚類效果好壞的主要依據(jù)是

A.各類之間的界限明顯B.各樣本離各自質(zhì)心之和最小

C.類別之間的協(xié)方差越大越好D.同類樣本緊促,不同類樣本相距遠

5.關(guān)于RFM模型的應(yīng)用,說法錯誤的是D。

A.R、F、M是區(qū)分客戶的三個重要指標

B.這三個指標是基于原始數(shù)據(jù)統(tǒng)計出來的

C.在具體場景應(yīng)用RFM模型時,可以添加其它指標

D.訓(xùn)練模型前樣本不進行標準化處理也是可以的

二、亮一亮

1.在案例1中用k-均值算法對鶯尾花進行聚類時?,有哪些辦法能幫你找到最優(yōu)的k值?

參考答案:

(1)盡可能多的獲得鶯尾花的特征數(shù)據(jù)進行初步分析,基于特征數(shù)據(jù)確定種類的有效

值作為k的數(shù)值。

(2)在運行k-means聚類中根據(jù)聚類結(jié)果對比分析確定最優(yōu)的k值。

2.在案例2的電商用戶分類過程中,求各類客戶樣本的均值有何意義?請舉例說明。

參考答案:

由于聚類前對原始數(shù)據(jù)進行了標準化處理,所以需要聚類后對質(zhì)心進行反標準化轉(zhuǎn)換,

得到原始均值,方便觀察聚類結(jié)果和對業(yè)務(wù)場景的解釋。

三、幫幫我

?.Wholesalecustomersdata.csv文件保存有批發(fā)商客戶數(shù)據(jù),前5行數(shù)據(jù)如下圖5.20所

示。數(shù)據(jù)集各屬性函數(shù)如下。

ChannelRegionFreshMilkGroceryFrozenDetergents_PaperDelicassen

023126699656756121426741338

123705798109568176232931776

223635388087684240535167844

313132651196422164045071788

4232261554107198391517775185

圖5.20批發(fā)商客戶數(shù)據(jù)

÷Channel:客戶渠道,1指酒店類,2指零售類。

÷Region:客戶所在地區(qū),1指里斯本,2指波爾圖,3指其它地區(qū)。

令Fresh:在新鮮產(chǎn)品上的支出。

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

令Grocery:在雜貨上的支出。

?Frozen:在冷凍產(chǎn)品上的支出。

令DetergentS-Paper:在清潔劑(紙)上的支出。

令Delicassen:在熟食上的支出。

請運用k-means聚類算法將這400名批發(fā)商客戶進行聚類,并試圖解釋聚類結(jié)果。提示:

聚類時只考慮后6個特征,因為這6個特征代表客戶的進貨能力。

參考答案:

#數(shù)據(jù)預(yù)處理

#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個連續(xù)型變量均有異常值,由于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()

根據(jù)肘部法則,選擇K=2,也就是說將客戶分成兩群.

#4.客戶分群

frompandas.plottingimportparallel_coordinates#訓(xùn)練模型

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種產(chǎn)品每年消費支出來看,客戶群1在冷凍產(chǎn)品上最高,在洗滌劑和紙制品上最低,

而客戶群2則在冷凍產(chǎn)品上最低,在洗滌劑和紙制品上最高,且客戶群2在6種產(chǎn)品的消費

支出均高于中位數(shù)水平,因此客戶群2為重要客戶,客戶群1則是一般客戶。

#5.最終分群結(jié)果,將聚類后的標簽加入數(shù)據(jù)集

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類產(chǎn)品每年消費水平進行繪制圖像

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論