大數(shù)據(jù)挖掘?qū)д撆c案例課件-第9章 案例分析_第1頁(yè)
大數(shù)據(jù)挖掘?qū)д撆c案例課件-第9章 案例分析_第2頁(yè)
大數(shù)據(jù)挖掘?qū)д撆c案例課件-第9章 案例分析_第3頁(yè)
大數(shù)據(jù)挖掘?qū)д撆c案例課件-第9章 案例分析_第4頁(yè)
大數(shù)據(jù)挖掘?qū)д撆c案例課件-第9章 案例分析_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章緒論第2章數(shù)據(jù)分析與可視化技術(shù)第3章認(rèn)識(shí)數(shù)據(jù)第4章數(shù)據(jù)預(yù)處理第5章分類概念與方法第6章關(guān)聯(lián)分析概念與方法第7章聚類分析概念與方法第8章大數(shù)據(jù)挖掘關(guān)鍵技術(shù)第9章案例分析第9章案例分析大數(shù)據(jù)挖掘?qū)д撆c案例學(xué)習(xí)目標(biāo)/Target通過(guò)購(gòu)物籃分析實(shí)例,掌握通過(guò)機(jī)票航班延誤預(yù)測(cè)實(shí)例、購(gòu)物籃分析實(shí)例、航空公司客戶價(jià)值分析實(shí)例的學(xué)習(xí),掌握數(shù)據(jù)挖掘標(biāo)準(zhǔn)過(guò)程模型的流程,掌握分析問(wèn)題的角度和方法,掌握數(shù)據(jù)預(yù)處理方法,掌握分類模型、關(guān)聯(lián)分析模型、聚類模型的訓(xùn)練和評(píng)估方法,領(lǐng)會(huì)具體問(wèn)題具體分析的重要性。目錄/Contents010203機(jī)票航班延誤預(yù)測(cè)零售行業(yè)購(gòu)物籃分析航空公司客戶價(jià)值分析機(jī)票航班延誤預(yù)測(cè)9.19.1.1應(yīng)用背景與目標(biāo)航空業(yè)持續(xù)遭受航班延誤帶來(lái)的經(jīng)濟(jì)損失,根據(jù)美國(guó)運(yùn)輸統(tǒng)計(jì)局(BTS)的數(shù)據(jù)顯示,2018年美國(guó)航班延誤20%以上,這些航班延誤對(duì)美國(guó)造成了相當(dāng)于每年407億美元的經(jīng)濟(jì)影響。歐美及ICAO/CANSO等地區(qū)/國(guó)際組織認(rèn)定航班實(shí)際起飛時(shí)間晚于計(jì)劃起飛時(shí)間15分鐘以上為延誤航班。航班延誤在很多情況下由不可抗力所致(如惡劣天氣),航班的延誤還會(huì)出現(xiàn)連鎖反映,影響航班的后續(xù)運(yùn)行,所以針對(duì)航班延誤不僅要從源頭上減少延誤的可能,更需要實(shí)施航班延誤預(yù)測(cè),實(shí)現(xiàn)在發(fā)生大面積延誤前,完成對(duì)航班未來(lái)延誤情況的有效評(píng)估。對(duì)航班延誤情況進(jìn)行預(yù)測(cè)和分析,對(duì)于旅客、航空公司、機(jī)場(chǎng)和機(jī)票預(yù)定平臺(tái)都具有十分重要的意義,而且能夠提前收到航班延誤通知,進(jìn)而合理計(jì)劃自己的行程對(duì)于旅客而言也很重要。9.1.2數(shù)據(jù)探索與理解

importpandasaspd

frompandas_profilingimportProfileReport

importglob

importos

defgetdata():

fordirname,_,filenamesinos.walk('.\input'):

forfilenameinfilenames:

print(os.path.join(dirname,filename))圖9.1數(shù)據(jù)集中的文件從/網(wǎng)站下載historical-flight-and-weather-data數(shù)據(jù)集,包含了2019年5月至2019年12月的歷史航班延誤數(shù)據(jù)和美國(guó)氣象數(shù)據(jù),數(shù)據(jù)集中每個(gè)月的數(shù)據(jù)為一個(gè)文件,共有8個(gè)文件。定義ExploratoryAnalysis.py文件,加載數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行探索和理解。9.1.2數(shù)據(jù)探索與理解

df=pd.concat([pd.read_csv(f)forfinglob.glob(".\input\*.csv")])

print(df.head())print(df.shape)圖9.2數(shù)據(jù)集示例在getdata()方法中使用glob讀取8個(gè)文件,因文件中的數(shù)據(jù)格式全部相同,每個(gè)文件中都有35列,使用concat將文件合并為一個(gè)DataFrame,作為原始樣本,共有5512903個(gè)樣本,每個(gè)樣本有35個(gè)特征。9.1.2數(shù)據(jù)探索與理解

profile=ProfileReport(df)

profile.to_file('.\output\Report.html’)returndf圖9.3數(shù)據(jù)集概述數(shù)據(jù)集中共有36個(gè)特征,比原始數(shù)據(jù)集中的35特征多出的是索引index,共計(jì)5512903條記錄,數(shù)據(jù)集的缺失率較低,只有0.1%,且缺失數(shù)據(jù)在計(jì)劃起飛時(shí)間和計(jì)劃到達(dá)時(shí)間特征中,23個(gè)特征為數(shù)值類型,10個(gè)特征為類別,3個(gè)特征被定義為拒絕使用的特征,這3個(gè)特征分別是day、year和arrival_delay,其中day與索引index的相關(guān)性達(dá)到0.99839,而到達(dá)延誤arrival_delay與出發(fā)延誤departure_delay的相關(guān)性達(dá)到0.92068,所以day或index、arrival_delay或departure_delay兩組特征可以分別選擇其一來(lái)訓(xùn)練模型,出發(fā)年份year全部為2019年,沒(méi)有實(shí)際價(jià)值。9.1.2數(shù)據(jù)探索與理解(a)HourlyDryBulbTemperature_x圖(a)是對(duì)溫度HourlyDryBulbTemperature_x的分位數(shù)和描述性統(tǒng)計(jì),分位數(shù)統(tǒng)計(jì)中最大值為125、最小值為0,中位數(shù)為71,Q1值為35,Q3為值81,從分位數(shù)統(tǒng)計(jì)中可以看出特征值分布較均勻,也沒(méi)有異常值,從描述性統(tǒng)計(jì)中可以看出,特征HourlyDryBulbTemperature_x的標(biāo)準(zhǔn)差為17.332,變異系數(shù)為0.25472,中值為68.041,絕對(duì)中位差為13.09,偏度為負(fù)偏-0.6126,方差為300.28,特征HourlyDryBulbTemperature_x中有2088個(gè)缺失數(shù)據(jù),可以采用均值或中位數(shù)對(duì)其填充。(b)HourlyPrecipitation_x從圖(b)中可以看出降水量HourlyPrecipitation_x特征的數(shù)值中,90%以上為0,數(shù)據(jù)的分布區(qū)間較小,為0~3.86,對(duì)缺失數(shù)據(jù)的處理使用0填充,HourlyPrecipitation_y特征的分布與圖(b)中的描述類似。9.1.2數(shù)據(jù)探索與理解(c)delay_late_aircarft_arrival從圖(c)可以看出,前序航班到達(dá)延誤delay_late_aircarft_arrival中90%的數(shù)據(jù)為0,即前序航班沒(méi)有延誤,95%的數(shù)據(jù)都在0~33之間,較大的值可定義為異常數(shù)據(jù)。天氣延誤delay_weather、安全延誤delay_security、航空系統(tǒng)延誤delay_national_aviation_system特征的分布情況與前序航班到達(dá)延誤的分布情況類似。能見(jiàn)度HourlyVisibility_x和HourlyVisibility_y特征的中位數(shù)為10,接近10%的數(shù)據(jù)為10,兩個(gè)特征的值中大于10的數(shù)據(jù)占比很低,可能為異常值,需要?jiǎng)h除或替換。(d)departure_delay從圖(d)起飛延誤departure_delay特征的信息可以看出,該特征中沒(méi)有缺失值,且與arrival_delay到達(dá)延誤的相關(guān)性很高,兩個(gè)特征用于標(biāo)識(shí)航班延誤,在后期的分析中可統(tǒng)計(jì)不同航空公司不同時(shí)間段的延誤情況,從而對(duì)航班延誤有更深入的了解。9.1.2數(shù)據(jù)探索與理解

print("到達(dá)延誤占比:{0:.2f}".format((df.arrival_delay>0).sum()/df.shape[0]))

print("到達(dá)延誤15分鐘以上占比:{0:.2f}".format((df.arrival_delay>15).sum()/df.shape[0]))

print("到達(dá)延誤30分鐘以上占比:{0:.2f}".format((df.arrival_delay>30).sum()/df.shape[0]))

print("到達(dá)延誤60分鐘以上占比:{0:.2f}".format((df.arrival_delay>60).sum()/df.shape[0]))

print("起飛延誤占比:{0:.2f}".format((df.departure_delay>0).sum()/df.shape[0]))

print("起飛和到達(dá)延誤占比:{0:.2f}".format(((df.arrival_delay>0)&(df.departure_delay\>0)).sum()/df.shape[0]))運(yùn)行結(jié)果如下:圖9.6不同延誤時(shí)間占比9.1.2數(shù)據(jù)探索與理解

print(df.cancelled_code.value_counts())

print((df.cancelled_code!="N").sum()/df.shape[0])運(yùn)行結(jié)果如下:圖9.6取消航班分類統(tǒng)計(jì)按照cancelled_code特征統(tǒng)計(jì)取消航班的數(shù)量,取消航班的統(tǒng)計(jì)情況如下:9.1.3數(shù)據(jù)預(yù)處理

importpandasaspd

importnumpyasnp

fromExploratoryAnalysisimportgetdata

defdatapreprocessing():

df=getdata()

#篩選出模型訓(xùn)練需要的特征

columns=['month','day','scheduled_elapsed_time','delay_carrier','delay_weather’,\,'delay_national_aviation_system','delay_security’\,'delay_late_aircarft_arrival’,\'HourlyDryBulbTemperature_x','HourlyPrecipitation_x’,\'HourlyStationPressure_x','HourlyVisibility_x’,\'HourlyWindSpeed_x','HourlyPrecipitation_y’,\'HourlyDryBulbTemperature_y','HourlyStationPressure_y’,\'HourlyVisibility_y','HourlyWindSpeed_y','departure_delay’,\'cancelled_code’]

df=df[columns]定義DataPreprocessing.py文件,在其中定義數(shù)據(jù)預(yù)處理方法datapreprocessing()。利用前述數(shù)據(jù)探索和理解中的ExploratoryAnalysis.py文件中的方法getdata(),獲取數(shù)據(jù)集并存儲(chǔ)在df中,從df中篩選能夠影響航班起飛的特征,如機(jī)場(chǎng)執(zhí)勤的延誤情況,出發(fā)機(jī)場(chǎng)和到達(dá)機(jī)場(chǎng)的天氣情況后,形成樣本集。代碼如下:9.1.3數(shù)據(jù)預(yù)處理對(duì)數(shù)據(jù)集中特征的空值和異常值進(jìn)行處理,其中對(duì)取消的航班,將延誤時(shí)間設(shè)置為所有延誤時(shí)間的最大值,將提前起飛的航班按照無(wú)延誤處理,即延誤時(shí)間歸0,對(duì)存在異常值的特征,按照數(shù)據(jù)探索和理解中的分析得出的方法進(jìn)行替換。各個(gè)特征的特征值取值范圍大不相同,如風(fēng)速?gòu)?~20不等,溫度在20~31之間,對(duì)數(shù)據(jù)集中的特征進(jìn)行0-1標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化后可消除不同特征取值對(duì)模型的影響。代碼未列出。

#cancelled_code和departure_delay特征中無(wú)空值#首先將cancelled_code特征中非N的departure_delay替換為departure_delay的最大值df.loc[df.cancelled_code!='N','departure_delay']=df['departure_delay'].max()#departure_delay中的負(fù)數(shù)為提前起飛,將其替換為0df.loc[df.departure_delay<0,'departure_delay']=0#HourlyDryBulbTemperature,值在0~125之間,服從正太分布,使用均值填充df['HourlyDryBulbTemperature_x'].fillna(df['HourlyDryBulbTemperature_x'].mean(),inplace=True)df['HourlyDryBulbTemperature_y'].fillna(df['HourlyDryBulbTemperature_y'].mean(),inplace=True)#HourlyStationPressure,值在21-31之間,使用均值填充df['HourlyStationPressure_x'].fillna(df['HourlyStationPressure_x'].mean(),inplace=True)df['HourlyStationPressure_y'].fillna(df['HourlyStationPressure_y'].mean(),inplace=True)#HourlyWindSpeed使用均值填充df['HourlyWindSpeed_x'].fillna(df['HourlyWindSpeed_x'].mean(),inplace=True)df['HourlyWindSpeed_y'].fillna(df['HourlyWindSpeed_y'].mean(),inplace=True)#HourlyPrecipitation90%為0,區(qū)間0-3.86,用眾數(shù)填充缺失值,95%位置的數(shù)據(jù)為0.02df['HourlyPrecipitation_x'].fillna(df['HourlyVisibility_x'].mode()[0],inplace=True)df['HourlyPrecipitation_y'].fillna(df['HourlyVisibility_y'].mode()[0],inplace=True)9.1.4分類模型構(gòu)建與評(píng)估定義DrawGragh.py文件,在其中定義drawGragh()方法,用于繪制混淆矩陣和ROC_AUC曲線,使用圖形顯示模型的評(píng)估結(jié)果。模型的評(píng)估分為兩部分,分別是ROC_AUC曲線,計(jì)算準(zhǔn)確率、精度、召回率和F1度量。

fromsklearnimportmetricsimportmatplotlib.pyplotaspltdefdrawGragh(y_test,y_pred,y_pred_proba,modelname):#獲得混淆矩陣cm=metrics.confusion_matrix(y_test,y_pred)plt.figure(figsize=(60,8))plt.subplot(1,2,1)plt.matshow(cm,fignum=0)plt.colorbar()foriinrange(len(cm)):forjinrange(len(cm)):plt.annotate(cm[i,j],xy=(i,j),fontsize=10,color='w',horizontalalignment='center',\verticalalignment='center')plt.xlabel('Trueclass',fontsize=10)plt.ylabel('Predictedclass',fontsize=10)plt.subplot(1,2,2)fpr,tpr,thresholds=metrics.roc_curve(y_test,y_pred_proba)auc=metrics.auc(fpr,tpr)plt.plot(fpr,tpr,linewidth=1,label='ROC(AUC={:.2f}%)'.format(auc*100),color='red')plt.plot([0,1],[0,1],color='black',linestyle='--')plt.xlabel('FPR',fontsize=10)plt.ylabel('TPR',fontsize=10)plt.xlim(-0.05,1.05)plt.ylim(-0.05,1.05)plt.title(modelname)plt.legend(loc=4,fontsize=10)plt.show()9.1.4分類模型構(gòu)建與評(píng)估定義邏輯回歸模型LRModel.py文件,加載數(shù)據(jù)預(yù)處理方法datapreprocessing()獲取訓(xùn)練集,在“'__main__'”函數(shù)中將departure_delay大于15的樣本的“l(fā)abel”標(biāo)記為1,其他樣本的“l(fā)abel”標(biāo)記為0,樣本標(biāo)簽的統(tǒng)計(jì)結(jié)果如圖9.9所示,從圖中可以看出,數(shù)據(jù)集中延誤航班的樣本有1074844行。

fromDataPreprocessingimportdatapreprocessingfromsklearnimportmetricsfromsklearn.linear_modelimportLogisticRegressionfromsklearn.model_selectionimporttrain_test_splitfromDrawGraphimportdrawGraghfromsklearn.model_selectionimportGridSearchCVdefLRModel(data,target):x_train,x_test,y_train,y_test=train_test_split(data,target,test_size=0.3,random_state=10)lr=LogisticRegression(penalty='l1',C=1.0)lr.fit(x_train,y_train)y_pred=lr.predict(x_test)y_pred_proba=lr.predict_proba(x_test)[:,1]print('LogisticRegression的準(zhǔn)確率:{0:.3f}'.format(metrics.accuracy_score(y_test,y_pred)))print('LogisticRegression的精度:{0:.3f}'.format(metrics.precision_score(y_test,y_pred)))print('LogisticRegression的召回率:{0:.3f}'.format(metrics.recall_score(y_test,y_pred)))print('LogisticRegression的F1度量:{0:.3f}'.format(metrics.f1_score(y_test,y_pred)))drawGragh(y_test,y_pred,y_pred_proba,'LRROCCurve')if__name__=='__main__':datasets=datapreprocessing()datasets['label']=0datasets.loc[datasets.departure_delay>15,'label']=1data=datasets.iloc[:,2:-3]target=datasets['label']print(target.value_counts())print(data.columns)LRModel(data,target)9.1.4分類模型構(gòu)建與評(píng)估圖9.12決策樹(shù)模型ROC曲線

圖9.13決策樹(shù)模型評(píng)估值圖9.14神經(jīng)網(wǎng)絡(luò)模型ROC曲線

圖9.15神經(jīng)網(wǎng)絡(luò)模型評(píng)估值9.1.5模型的作用

通過(guò)對(duì)航班延誤數(shù)據(jù)集的探索和理解,分析得出出發(fā)機(jī)場(chǎng)和到達(dá)機(jī)場(chǎng)的天氣因素是影響航班延誤的最主要因素,理解數(shù)據(jù)的同時(shí),對(duì)數(shù)據(jù)集中的異常和噪聲數(shù)據(jù)進(jìn)行清洗處理。使用邏輯回歸、CART決策樹(shù)和MLP神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練航班延誤預(yù)測(cè)模型,相比其他模型,在不調(diào)節(jié)參數(shù)的情況下,邏輯回歸模型能夠更好地預(yù)測(cè)航班的延誤。

通過(guò)進(jìn)一步優(yōu)化模型,可以得到更具應(yīng)用價(jià)值的航班延誤預(yù)測(cè)模型,這無(wú)疑有助于盡早預(yù)測(cè)航班的延誤情況,加之潛在的未知模型和更加精準(zhǔn)的數(shù)據(jù)理解結(jié)合后探索新的預(yù)測(cè)算法,期待航班延誤預(yù)測(cè)有更大的突破,在真實(shí)的場(chǎng)景中為航班的延誤發(fā)揮更加有效的作用,提升機(jī)場(chǎng)、航空公司的決策水平和機(jī)票代理服務(wù)平臺(tái)的服務(wù)水平。零售行業(yè)購(gòu)物籃分析9.2購(gòu)物籃分析是零售企業(yè)的管理者進(jìn)行決策分析的有效工具。購(gòu)物籃分析的主要目的是通過(guò)對(duì)交易數(shù)據(jù)進(jìn)行挖掘,找出隱藏的信息從而發(fā)現(xiàn)商品之間的一些有價(jià)值的聯(lián)系,為企業(yè)的促銷、擺架、物流運(yùn)輸?shù)冉?jīng)營(yíng)策略提供技術(shù)支持。隨著大型數(shù)據(jù)庫(kù)的建立和不斷擴(kuò)充,很多分析人員已經(jīng)可以從數(shù)據(jù)庫(kù)中挖掘潛在的關(guān)聯(lián)規(guī)則,從而發(fā)現(xiàn)事物間的相互關(guān)系,進(jìn)而幫助商家進(jìn)行決策、設(shè)計(jì)和分析顧客的購(gòu)買(mǎi)習(xí)慣。9.2.1應(yīng)用背景與目標(biāo)隨著市場(chǎng)規(guī)模的擴(kuò)大和交易數(shù)量的增多,越來(lái)越多的商家意識(shí)到購(gòu)物籃分析的價(jià)值。比如,購(gòu)物籃分析在超市的應(yīng)用已經(jīng)比較成熟,其技術(shù)在超市可有以下應(yīng)用:商品布局設(shè)計(jì)促銷活動(dòng)規(guī)劃交叉銷售精準(zhǔn)營(yíng)銷庫(kù)存管理9.2.1應(yīng)用背景與目標(biāo)基于以上背景,本案例在Groceries數(shù)據(jù)集上進(jìn)行關(guān)聯(lián)分析,Groceries數(shù)據(jù)集來(lái)自R語(yǔ)言開(kāi)發(fā)環(huán)境中的arules程序包,數(shù)據(jù)集包含某雜貨店一個(gè)月的9835條交易數(shù)據(jù),用于使用Apriori、FP_Growth等算法進(jìn)行頻繁項(xiàng)集的挖掘和關(guān)聯(lián)分析。。通過(guò)分析某雜貨店一個(gè)月的9835條真實(shí)交易記錄,完成關(guān)聯(lián)規(guī)則挖掘,并對(duì)挖掘到的關(guān)聯(lián)規(guī)則進(jìn)行解釋和分析,為雜貨店的經(jīng)營(yíng)提供建議,達(dá)到購(gòu)物籃分析的目的。案例包含數(shù)據(jù)探索與理解、數(shù)據(jù)預(yù)處理、關(guān)聯(lián)規(guī)則挖掘與評(píng)估和規(guī)則解釋四部分。其中,關(guān)聯(lián)規(guī)則挖掘與評(píng)估部分使用Apriori算法篩選頻繁項(xiàng)集并產(chǎn)生關(guān)聯(lián)規(guī)則,然后結(jié)合相關(guān)評(píng)估指標(biāo)對(duì)所挖掘的關(guān)聯(lián)規(guī)則進(jìn)行評(píng)估。9.2.2數(shù)據(jù)探索與數(shù)據(jù)理解原始數(shù)據(jù)集以事務(wù)集的形式保存,共9835條記錄,包含事務(wù)索引和商品類目?jī)蓚€(gè)變量。其中商品類目變量為一個(gè)集合,包含該次交易涉及到的不同商品類別,商品類別之間使用逗號(hào)隔開(kāi)。初步統(tǒng)計(jì)分析可知:數(shù)據(jù)集共包含9835條購(gòu)買(mǎi)記錄,涉及169件商品,所有商品共計(jì)交易43367次,購(gòu)買(mǎi)商品最多的交易購(gòu)買(mǎi)了32件商品,該類交易共發(fā)生1次;購(gòu)買(mǎi)商品最少為1件,該類交易共發(fā)生2159次,平均每次交易涉及4.4件商品。此處按雜貨店每天營(yíng)業(yè)12小時(shí)計(jì)算,數(shù)據(jù)集記錄的雜貨店當(dāng)月每小時(shí)完成27.3次交易,可見(jiàn)雜貨鋪規(guī)模不是很大。數(shù)據(jù)準(zhǔn)備9.2.2數(shù)據(jù)探索與數(shù)據(jù)理解在進(jìn)行關(guān)聯(lián)規(guī)則挖掘時(shí),數(shù)據(jù)量的大小和每條交易記錄中商品量的多少對(duì)關(guān)聯(lián)規(guī)則挖掘過(guò)程影響較大,有必要對(duì)商品類目和交易事務(wù)包含的商品量進(jìn)行簡(jiǎn)單的統(tǒng)計(jì)分析。為后續(xù)設(shè)置合理的支持度計(jì)數(shù)和置信度提供支持,描述統(tǒng)計(jì)部分可進(jìn)行(但不限于)以下工作:商品種類描述統(tǒng)計(jì)了解每個(gè)事務(wù)中包含的所有商品的類別,以及各商品在事務(wù)中的分布情況。單次交易商品數(shù)量描述統(tǒng)計(jì)了解單次交易中商品數(shù)量分布。描述統(tǒng)計(jì)9.2.3數(shù)據(jù)預(yù)處理原始數(shù)據(jù)集較為規(guī)整,此處數(shù)據(jù)預(yù)處理過(guò)程的工作主要集中在數(shù)據(jù)集的清洗和轉(zhuǎn)換等。Groceries數(shù)據(jù)集不包含數(shù)值型數(shù)據(jù)。數(shù)據(jù)清洗的主要工作為確認(rèn)每次交易中所包含的商品類別是否有重復(fù)、是否有錯(cuò)誤的名稱以及是否有空事務(wù)等,并對(duì)存在的問(wèn)題進(jìn)行恰當(dāng)?shù)奶幚怼?shù)據(jù)轉(zhuǎn)換工作主要包括關(guān)聯(lián)規(guī)則挖掘過(guò)程中的數(shù)據(jù)格式的轉(zhuǎn)換,統(tǒng)計(jì)計(jì)算過(guò)程和數(shù)據(jù)可視化過(guò)程的數(shù)據(jù)的準(zhǔn)備等。得益于Groceries數(shù)據(jù)集干凈規(guī)整,本案例這部分工作內(nèi)容較少。9.2.3數(shù)據(jù)預(yù)處理特別地,本案例的雜貨店數(shù)據(jù)集中商品的類別較多,實(shí)際應(yīng)用中還可以對(duì)商品進(jìn)行概念分層,然后對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)泛化,即把較低層次的概念用較高層次的概念替換來(lái)匯總數(shù)據(jù)。例如,數(shù)據(jù)集中的蔬菜類別包含“othervegetables”“rootvegetables”“frozenvegetables”“pickledvegetables”“pickledvegetables”“packagedfruit/vegetables”“specialtyvegetables”,通過(guò)數(shù)據(jù)泛化可以把這7種商品統(tǒng)一歸為蔬菜類,以商品大類代替具體商品,可以減少商品類別,提高事務(wù)集中商品的支持度計(jì)數(shù),為挖掘出更好的規(guī)則提供有利條件。此處將這部分內(nèi)容留給讀者自主探索。9.2.4關(guān)聯(lián)規(guī)則挖掘與評(píng)估此處選用Apriori算法進(jìn)行關(guān)聯(lián)規(guī)則挖掘,包含頻繁項(xiàng)集的生成和分析、規(guī)則的生成和分析兩部分。關(guān)聯(lián)規(guī)則挖掘和分析過(guò)程中,使用了支持度、置信度和提升度對(duì)規(guī)則進(jìn)行評(píng)估;使用了氣泡圖和散點(diǎn)圖對(duì)規(guī)則進(jìn)行可視化展示;最后對(duì)規(guī)則進(jìn)行了解釋。9.2.4關(guān)聯(lián)規(guī)則挖掘與評(píng)估數(shù)據(jù)集中包含的9835個(gè)事務(wù)為一個(gè)雜貨店1個(gè)月的所有交易記錄?;贏priori算法,頻繁項(xiàng)集的生成過(guò)程如下:需要指出的是,最小支持度閾值的確定需要經(jīng)過(guò)評(píng)估和反復(fù)計(jì)算,這對(duì)頻繁項(xiàng)集的關(guān)聯(lián)規(guī)則的生成影響較大,甚至后續(xù)規(guī)則生成部分還會(huì)對(duì)最小支持度閾值的設(shè)定進(jìn)行再次討論和重新調(diào)整。頻繁項(xiàng)集的生成和分析生成候選1-項(xiàng)集確定最小支持度閾值篩選出頻繁1-項(xiàng)集生成候選2-項(xiàng)集篩選出頻繁2-項(xiàng)集生成候選N-項(xiàng)集篩選出頻繁N-項(xiàng)集結(jié)束9.2.4關(guān)聯(lián)規(guī)則挖掘與評(píng)估關(guān)聯(lián)規(guī)則的挖掘過(guò)程和結(jié)果也會(huì)受到支持度閾值和置信度閾值的影響。如果設(shè)置一個(gè)比較高的支持度閾值,可能會(huì)丟掉那些支持度低,但置信度較高的規(guī)則;相反,則會(huì)出現(xiàn)較多冗余的、無(wú)意義的規(guī)則。因此,一般實(shí)驗(yàn)策略是:先設(shè)置較低的支持度和置信度閾值,然后逐步提高,根據(jù)獲得的規(guī)則數(shù)量,再通過(guò)提升度的值進(jìn)行有效性驗(yàn)證,過(guò)濾出有意義的規(guī)則。其中提升度表示購(gòu)買(mǎi)一個(gè)商品的同時(shí),對(duì)購(gòu)買(mǎi)另一個(gè)商品的提升程度。提升度值越大,表示商品之間的互相影響程度越強(qiáng)。規(guī)則的生成和分析9.2.4關(guān)聯(lián)規(guī)則挖掘與評(píng)估基于以上論述,此處需要進(jìn)行多次實(shí)驗(yàn),以確定合適的支持度和置信度閾值。在設(shè)定能接受的最小支持度時(shí),結(jié)合第一步對(duì)雜貨店運(yùn)營(yíng)狀況和單個(gè)商品交易次數(shù)的分析,此處假設(shè):若某種商品一天被交易至少兩次,則可以認(rèn)為其交易較頻繁,發(fā)現(xiàn)的關(guān)聯(lián)規(guī)則或許是感興趣的模式。由于數(shù)據(jù)集的時(shí)間跨度為一個(gè)月,因此當(dāng)某商品至少被交易60次時(shí)便認(rèn)為它是頻繁被交易的商品。所以設(shè)定支持度閾值為0.006(60/9835≈0.006);同時(shí),為過(guò)濾顧客隨機(jī)需求引起的偽關(guān)聯(lián),假定最小置信度為0.2,然后進(jìn)行頻繁項(xiàng)集的生成和關(guān)聯(lián)規(guī)則的挖掘,并逐漸調(diào)整參數(shù),直到找到所有的規(guī)則。規(guī)則的生成和分析9.2.4關(guān)聯(lián)規(guī)則挖掘與評(píng)估經(jīng)過(guò)多次試驗(yàn),選擇最小支持度為0.008、最小置信度為0.3進(jìn)行關(guān)聯(lián)規(guī)則挖掘和結(jié)果分析。在所選支持度閾值和置信度閾值的組合條件下,共得到205條符合條件的關(guān)聯(lián)規(guī)則。此處首先利用氣泡圖對(duì)所有205條關(guān)聯(lián)規(guī)則進(jìn)行展示,如右圖所示。圖中橫坐標(biāo)表示關(guān)聯(lián)規(guī)則的支持度,縱坐標(biāo)表示關(guān)聯(lián)規(guī)則的置信度,氣泡大小表示關(guān)聯(lián)規(guī)則的提升度。規(guī)則的生成和分析9.2.4關(guān)聯(lián)規(guī)則挖掘與評(píng)估進(jìn)一步對(duì)比置信度、支持度和提升度之間的關(guān)系,繪制散點(diǎn)圖矩陣,如右圖所示??梢?jiàn)支持度與置信度之間存在一定的相關(guān)關(guān)系,提升度與支持度和置信度之間亦有相關(guān)性,而且隨著支持度和置信度的增長(zhǎng),提升度數(shù)值在逐漸減小。規(guī)則的生成和分析9.2.4關(guān)聯(lián)規(guī)則挖掘與評(píng)估

規(guī)則的生成和分析9.2.5規(guī)則解釋

9.2.5規(guī)則解釋需要強(qiáng)調(diào)的是,在關(guān)聯(lián)規(guī)則挖掘中,較大的提升度值十分重要。當(dāng)lift值>1時(shí),說(shuō)明對(duì)應(yīng)的兩類商品被同時(shí)購(gòu)買(mǎi)比只有一類商品被購(gòu)買(mǎi)更為常見(jiàn)。較大提升度值表明一個(gè)規(guī)則很可能是有價(jià)值的,并反映了商品之間的真實(shí)聯(lián)系。按照規(guī)則的實(shí)用性、適用性等指標(biāo),通常將關(guān)聯(lián)規(guī)則劃分為3大類。(1)可以直接應(yīng)用在業(yè)務(wù)上的規(guī)則(ActionableRules)。(2)很清晰,但是作用不大的規(guī)則(TrivialRulse)。(3)需要額外的研究來(lái)判定是否是有用的規(guī)則(InexplicableRules)。本案例所挖掘的關(guān)聯(lián)規(guī)則大多屬于前兩類,更多更有效的關(guān)聯(lián)規(guī)則有待讀者改進(jìn)數(shù)據(jù)集中的商品類別后進(jìn)行挖掘研究。面向購(gòu)物籃分析的關(guān)聯(lián)規(guī)則挖掘是交互式的。應(yīng)用實(shí)踐中需要結(jié)合業(yè)務(wù)運(yùn)營(yíng)情況不斷對(duì)挖掘過(guò)程進(jìn)行檢查、優(yōu)化,才能不斷發(fā)現(xiàn)新的、有意義的關(guān)聯(lián)規(guī)則,進(jìn)而為商業(yè)運(yùn)營(yíng)提供幫助。航空公司客戶價(jià)值分析9.3除航班延誤外,航空公司還經(jīng)常面臨著旅游客戶流失、競(jìng)爭(zhēng)力下降和資源未充分利用等經(jīng)營(yíng)危機(jī)和市場(chǎng)競(jìng)爭(zhēng)。面對(duì)激烈的市場(chǎng)競(jìng)爭(zhēng),各個(gè)航空公司會(huì)推出更優(yōu)惠的營(yíng)銷方案來(lái)吸引更多的客戶。為制定有效的營(yíng)銷策略,在公司運(yùn)營(yíng)中注重客戶關(guān)系管理,重視客戶價(jià)值,引入客戶價(jià)值分析機(jī)制是必要的。航空公司可以通過(guò)建立客戶價(jià)值評(píng)估模型,對(duì)客戶分群并分析不同客戶群的客戶價(jià)值,來(lái)制定相應(yīng)的營(yíng)銷策略。9.3.1應(yīng)用背景與目標(biāo)案例以航空公司客戶價(jià)值分析為例,通過(guò)分析航空公司客戶數(shù)據(jù)信息,建立客戶分群模型對(duì)客戶進(jìn)行細(xì)分,然后對(duì)不同客戶群進(jìn)行客戶價(jià)值評(píng)估,并以此為依據(jù)制定相應(yīng)的個(gè)性化營(yíng)銷方案,以達(dá)到鞏固客戶關(guān)系,提升企業(yè)競(jìng)爭(zhēng)力,充分利用企業(yè)資源的目的。航空公司客戶價(jià)值分析的目標(biāo)如下。(1)基于客戶數(shù)據(jù)進(jìn)行客戶分群。(2)分析不同客戶群的客戶價(jià)值。(3)對(duì)不同客戶群制定對(duì)應(yīng)的營(yíng)銷策略。案例使用k-means聚類算法進(jìn)行客戶分群。聚類算法屬于無(wú)監(jiān)督學(xué)習(xí)算法,k-means聚類算法是常用的聚類算法之一。k-means算法的輸入數(shù)據(jù)是沒(méi)有標(biāo)簽或目標(biāo)值的樣本,算法對(duì)輸入的數(shù)據(jù)樣本進(jìn)行相應(yīng)的距離計(jì)算,根據(jù)計(jì)算結(jié)果將樣本數(shù)據(jù)進(jìn)行分組,分組原則是誤差平方和達(dá)到最小。得到分組結(jié)果后對(duì)每個(gè)組設(shè)定相應(yīng)的類別標(biāo)簽,完成數(shù)據(jù)分群。9.3.1應(yīng)用背景與目標(biāo)本案例的具體步驟如下。(1)進(jìn)行數(shù)據(jù)抽取,以航空公司的客戶飛行記錄數(shù)據(jù)為數(shù)據(jù)源進(jìn)行數(shù)據(jù)整合,形成歷史數(shù)據(jù)集和增量數(shù)據(jù)集。(2)對(duì)歷史數(shù)據(jù)集和增量數(shù)據(jù)集進(jìn)行數(shù)據(jù)探索分析與預(yù)處理,了解數(shù)據(jù)集的基本信息,構(gòu)建聚類模型的輸入數(shù)據(jù)。(3)基于輸入數(shù)據(jù)構(gòu)建k-means模型,完成客戶分群,進(jìn)行模型固化。(4)基于客戶群的特征進(jìn)行客戶價(jià)值分析并制定相應(yīng)的營(yíng)銷策略,并確定不同客戶群的營(yíng)銷策略。(5)確定增量數(shù)據(jù)集的更新策略,定期將固化的聚類模型和客戶價(jià)值分析結(jié)論應(yīng)用于新客戶。基于此,本案例討論的內(nèi)容包含數(shù)據(jù)探索與理解、數(shù)據(jù)預(yù)處理、聚類模型構(gòu)建與評(píng)估和模型解釋與應(yīng)用4部分。9.3.2數(shù)據(jù)探索與理解案例使用某航空公司積累的會(huì)員檔案信息和航班記錄數(shù)據(jù),數(shù)據(jù)包含62988條記錄,共44個(gè)屬性。數(shù)據(jù)集選取寬度為2年的時(shí)間段作為分析觀測(cè)窗口,以2014-03-31為觀測(cè)窗口的結(jié)束時(shí)間,抽取了觀測(cè)窗口內(nèi)有乘機(jī)記錄的會(huì)員的檔案信息和航班記錄數(shù)據(jù)進(jìn)行整合,得到歷史數(shù)據(jù)集。需要說(shuō)明的是,對(duì)于新增的會(huì)員檔案信息和會(huì)員航班記錄數(shù)據(jù),航空公司需要以新的時(shí)間點(diǎn)作為觀測(cè)窗口的結(jié)束時(shí)間,采用與生成歷史數(shù)據(jù)集相同的方式進(jìn)行數(shù)據(jù)抽取和整合,形成增量數(shù)據(jù)集。簡(jiǎn)單分析可知,歷史數(shù)據(jù)集不是原始記錄數(shù)據(jù)集的簡(jiǎn)單抽取,而是經(jīng)過(guò)了數(shù)據(jù)的整合和匯總計(jì)算。歷史數(shù)據(jù)集中每一條記錄表示一個(gè)會(huì)員的會(huì)員檔案信息和觀測(cè)窗口內(nèi)的乘機(jī)行為信息。數(shù)據(jù)準(zhǔn)備9.3.2數(shù)據(jù)探索與理解歷史數(shù)據(jù)集中共62988條會(huì)員信息,對(duì)所有會(huì)員檔案信息和所有會(huì)員的航班記錄進(jìn)行探索分析,有助于后續(xù)的客戶分群和客戶價(jià)值分析。同時(shí),數(shù)據(jù)集中共包含44個(gè)屬性,訓(xùn)練模型時(shí)使用全部44個(gè)屬性是沒(méi)有必要的。因此,有必要對(duì)數(shù)據(jù)集進(jìn)行探索分析。數(shù)據(jù)集中44個(gè)屬性按照屬性含義可分為記錄會(huì)員檔案信息的屬性和記錄觀測(cè)窗口內(nèi)會(huì)員乘機(jī)行為信息的屬性兩類,數(shù)據(jù)探索以此為依據(jù)進(jìn)行。即分別進(jìn)行會(huì)員檔案信息描述統(tǒng)計(jì)和會(huì)員航班信息描述統(tǒng)計(jì),了解航空公司會(huì)員特征畫(huà)像和價(jià)值分布。數(shù)據(jù)探索9.3.3數(shù)據(jù)預(yù)處理在進(jìn)行數(shù)據(jù)預(yù)處理之前,有必要確定模型的輸入數(shù)據(jù)。案例使用k-means算法完成客戶分群。案例目標(biāo)包括客戶分群、客戶價(jià)值分析和個(gè)性化營(yíng)銷方案制定,以幫助航空公司充分挖掘客戶價(jià)值,提升企業(yè)資源的利用效率。此處考慮以RFM模型為基礎(chǔ)進(jìn)行特征構(gòu)建,以所構(gòu)建的結(jié)果特征產(chǎn)生k-means模型的輸入數(shù)據(jù)。RFM模型是客戶價(jià)值管理中應(yīng)用最廣泛的模型。該模型通過(guò)一個(gè)客戶的最近一次消費(fèi)間隔(Recency)、消費(fèi)頻率(Frequency)以及消費(fèi)金額(Monetary)3項(xiàng)指標(biāo)描述客戶的價(jià)值狀況,進(jìn)而進(jìn)行客戶細(xì)分,識(shí)別高價(jià)值客戶。9.3.3數(shù)據(jù)預(yù)處理結(jié)合歷史數(shù)據(jù)集各屬性含義和航空公司的運(yùn)營(yíng)特點(diǎn),RFM模型中的最近一次消費(fèi)間隔指標(biāo)可以使用數(shù)據(jù)集中的LAST_TO_END屬性(記為R)直接表示,消費(fèi)頻率指標(biāo)可以使用數(shù)據(jù)集中的FIGHT_COUNT屬性(記為F)直接表示。消費(fèi)金額指標(biāo)則需要結(jié)合航空服務(wù)業(yè)務(wù)進(jìn)行分析。由于航空票價(jià)受到運(yùn)輸距離、航位等級(jí)、節(jié)假日等多種因素影響,會(huì)員客戶同樣消費(fèi)金額的飛行記錄對(duì)航空公司的價(jià)值不同,此處選擇會(huì)員在觀測(cè)窗口內(nèi)的累計(jì)飛行里程SEG_KM_SUM屬性(記為M)和會(huì)員在觀測(cè)窗口內(nèi)的折扣系數(shù)的平均值avg_discount屬性(記為C)代替消費(fèi)金額指標(biāo)。這樣,上述4個(gè)指標(biāo)分別從RFM模型的三個(gè)角度來(lái)反應(yīng)客戶價(jià)值。此外,會(huì)員客戶的入會(huì)時(shí)間長(zhǎng)短在一定程度上也體現(xiàn)了會(huì)員的客戶價(jià)值,所以增加入會(huì)時(shí)長(zhǎng)指標(biāo)(記為L(zhǎng))。至此,k-means聚類模型的輸入數(shù)據(jù)包含最近一次乘機(jī)時(shí)間間隔R、觀測(cè)窗口內(nèi)的乘機(jī)次數(shù)F、觀測(cè)窗口內(nèi)的飛行里程M、觀測(cè)窗口內(nèi)的平均折扣系數(shù)C和會(huì)員的入會(huì)時(shí)間長(zhǎng)度L五個(gè)特征。9.3.3數(shù)據(jù)預(yù)處理案例使用的歷史數(shù)據(jù)集為合并計(jì)算之后的數(shù)據(jù)集,數(shù)據(jù)格式較為規(guī)范,數(shù)據(jù)預(yù)處理的主要工作包含屬性規(guī)約、特征構(gòu)造和數(shù)據(jù)變換。原始數(shù)據(jù)中的屬性多達(dá)44個(gè),此處基于上文結(jié)論,保留與確定的5個(gè)指標(biāo)相關(guān)的6個(gè)屬性,分別為FFP_DATE、LOAD_TIME、FLIGHT_COUNT、avg_discount、SEG_KM_SUM、LAST_TO_END。此處保留會(huì)員號(hào)屬性MEMBER_NO,以對(duì)每個(gè)會(huì)員進(jìn)行區(qū)分。剩余的屬性與模型計(jì)算關(guān)系不大,采取刪除方式完成屬性歸約。需要注意的是,屬性歸約的目的是減少模型輸入,并盡可能使模型輸入符合具體業(yè)務(wù)以增加模型的可解釋性,因此刪除屬性是有意義和作用的。完成數(shù)據(jù)歸約后,數(shù)據(jù)集包含62988條記錄,7個(gè)屬性,每條數(shù)據(jù)表示一個(gè)會(huì)員的會(huì)員號(hào)和會(huì)員相關(guān)信息。屬性規(guī)約9.3.3數(shù)據(jù)預(yù)處理數(shù)據(jù)變換是將數(shù)據(jù)轉(zhuǎn)換成適當(dāng)?shù)母袷?,以適應(yīng)數(shù)據(jù)挖掘算法的需要。原始數(shù)據(jù)集中沒(méi)有直接給出全部五個(gè)指標(biāo)的值,需要通過(guò)原始數(shù)據(jù)來(lái)計(jì)算,以構(gòu)造需要的屬性。五個(gè)指標(biāo)的構(gòu)造方法如下:(1)最近一次乘機(jī)時(shí)間間隔R,計(jì)算方式為:R=LAST_TO_END其中,LAST_TO_END為數(shù)據(jù)集中的現(xiàn)有屬性,R的單位為天,R值越大表示會(huì)員最后一次乘機(jī)時(shí)間離當(dāng)前觀測(cè)窗口越遠(yuǎn)。(2)觀測(cè)窗口內(nèi)的乘機(jī)次數(shù)F,計(jì)算方式為:F=FLIGHT_COUNT其中,F(xiàn)LIGHT_COUNT為數(shù)據(jù)集中的現(xiàn)有屬性,F(xiàn)的單位為次,F(xiàn)值越大表示觀測(cè)窗口內(nèi)會(huì)員的乘機(jī)次數(shù)越多。屬性構(gòu)造9.3.3數(shù)據(jù)預(yù)處理(3)觀測(cè)窗口內(nèi)的累計(jì)飛行里程M,計(jì)算方式為:M=SEG_KM_SUM其中,SEG_KM_SUM為數(shù)據(jù)集中的現(xiàn)有屬性,M的單位為公里,M值越大表示會(huì)員累計(jì)飛行里程越長(zhǎng)。(4)觀測(cè)窗口內(nèi)的平均折扣率C,計(jì)算方式為:C=avg_discount其中,avg_discount為數(shù)據(jù)集中的現(xiàn)有屬性,C表示折扣率,沒(méi)有實(shí)際單位,C值越大表示會(huì)員艙位對(duì)應(yīng)的折扣系數(shù)越大。(5)客戶關(guān)系長(zhǎng)度L,計(jì)算方式為:L=LOAD_DATE-FFP_DATE其中,LOAD_DATE為觀測(cè)窗口的結(jié)束時(shí)間,F(xiàn)FT_DATE為會(huì)員入會(huì)時(shí)間,L的單位為天,L值越大表示會(huì)員入會(huì)時(shí)間越長(zhǎng),客戶關(guān)系長(zhǎng)度越長(zhǎng)。屬性構(gòu)造9.3.3數(shù)據(jù)預(yù)處理數(shù)據(jù)集中不同屬性的值域差異很大,為了防止具有較大值域的屬性與具有較小值域的屬性相比,權(quán)重過(guò)大現(xiàn)象的發(fā)生,使用z-score方法(或其他方法,此處可進(jìn)行更進(jìn)一步的分析探索)將5個(gè)屬性進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理。標(biāo)準(zhǔn)化后的每個(gè)屬性均值為0,標(biāo)準(zhǔn)差為1,且成為無(wú)量綱指標(biāo)。至此,數(shù)據(jù)集已經(jīng)符合模型的基本要求,接下來(lái)可以進(jìn)入模型的構(gòu)建和評(píng)估階段建模和計(jì)算。屬性變換9.3.4聚類模型構(gòu)建與評(píng)估案例基于Python完成,使用sklearn包中的聚類模塊完成模型構(gòu)建。進(jìn)行k-means模型構(gòu)建時(shí),需要首先確定簇的個(gè)數(shù)k(即最終劃分的客戶群數(shù)量),此處使用2個(gè)常用的聚類結(jié)果評(píng)估指標(biāo)“樣本與最近簇質(zhì)心的距離總和inertia”以及“輪廓系數(shù)silhouette”進(jìn)行結(jié)果評(píng)估,并結(jié)合客戶價(jià)值評(píng)估時(shí)對(duì)客戶群的基本要求,以確定最優(yōu)的簇個(gè)數(shù)。其中,inertia值反映聚類結(jié)果的精細(xì)程度,inertia值越小表示簇內(nèi)樣本相異性越小,聚類效果越好。但是,樣本與最近簇質(zhì)心的距離總和inertia值只考慮聚類結(jié)果中類簇內(nèi)部的樣本間的相異性(即簇內(nèi)距離),沒(méi)有考察聚類結(jié)果中類簇之間的相異性(即簇間距離),因此,手肘圖觀察inertia值隨類簇?cái)?shù)k的變化情況,同時(shí)考察類簇?cái)?shù)k變化時(shí)inertia值的變化幅度和變化趨勢(shì)。此處取不同的k值進(jìn)行多次實(shí)驗(yàn),手肘圖如下圖所示,其中inertia值為每次實(shí)驗(yàn)的值對(duì)應(yīng)的inertia值的均值。9.3.4聚類模型構(gòu)建與評(píng)估由圖可知,k∈[2,10]時(shí),樣本與最近簇質(zhì)心的距離總和inertia隨k值增加而減少,其中k=4和k=6時(shí)都出現(xiàn)了較為明顯的inertia值下降趨勢(shì)的拐點(diǎn)(即手肘圖的“手肘”對(duì)應(yīng)的k值)。k=4時(shí)inertia值的變化更明顯,而顯然k=6時(shí)聚類結(jié)果的inertia值小,各類簇內(nèi)部樣本的距離更近。9.3.4聚類模型構(gòu)建與評(píng)估輪廓系數(shù)silhouette反映聚類結(jié)果中簇間距離的大小,silhouette值越趨近于1,表示簇間樣本相異性越大,聚類結(jié)果越好。根據(jù)不同k值的silhouette制作的折線圖也被稱為輪廓系數(shù)圖,反映聚類結(jié)果的silhouette值隨k值的變化情況。輪廓系數(shù)silhouette考察聚類結(jié)果中簇間距離,是本與最近簇質(zhì)心的距離總和inertia的補(bǔ)充,同時(shí)考慮兩個(gè)指標(biāo),即可得到最優(yōu)的聚類類簇?cái)?shù)目k。同時(shí),由于最終制定的營(yíng)銷策略對(duì)應(yīng)于不同價(jià)值的客戶群體,聚類模型計(jì)算出的客戶群不宜過(guò)多。此處同樣取不同的k值進(jìn)行多次實(shí)驗(yàn),輪廓系數(shù)圖如下圖所示,其中silhouette值為每次實(shí)驗(yàn)的k值對(duì)應(yīng)的silhouette值的均值。9.3.4聚類模型構(gòu)建與評(píng)估由圖可知,k∈[2,10]時(shí)輪廓系數(shù)silhouette取k=2時(shí)最優(yōu),而根據(jù)圖9.1.2的結(jié)果,k=2時(shí)inertia值最大,因此此處取除k=2之外輪廓系數(shù)silhouette最大值對(duì)應(yīng)的k值,即k=6。同時(shí),考慮到k=4和k=6時(shí)輪廓系數(shù)差異較小,且手肘中k=4也是inertia值的拐點(diǎn)之一,因此此處分別對(duì)k=4和k=6進(jìn)行實(shí)驗(yàn),即通過(guò)k-means聚類算法分別將會(huì)員劃分為4個(gè)和6個(gè)客戶群,考察兩個(gè)k值的聚類結(jié)果并分別進(jìn)行客戶分群。9.3.4聚類模型構(gòu)建與評(píng)估需要說(shuō)明的是,k-means聚類算法為非監(jiān)督學(xué)習(xí)算法,確定聚類的簇?cái)?shù)量后,在數(shù)據(jù)集中隨機(jī)選取k個(gè)樣本作為聚類的初始質(zhì)心并開(kāi)始迭代計(jì)算。不同的初始質(zhì)心常常會(huì)得到不同的聚類結(jié)果,因此模型的每次運(yùn)行結(jié)果都會(huì)有差異。總體而言,本案例多次實(shí)驗(yàn)的差異處于可接受范圍內(nèi)。k分別取4和6,多次重復(fù)運(yùn)行k-means聚類算法。再次說(shuō)明,由于聚類算法為無(wú)監(jiān)督學(xué)習(xí)算法,每次聚類后類簇均發(fā)生變化,實(shí)驗(yàn)過(guò)程中,按每次聚類結(jié)果質(zhì)心的距離進(jìn)行匹配,將實(shí)驗(yàn)結(jié)果中最接近的簇視為一類,多次實(shí)驗(yàn)后取質(zhì)心的均值,每個(gè)簇的質(zhì)心點(diǎn)的均值及其包含的會(huì)員數(shù)量均值如下表所示,結(jié)果保留四位小數(shù),會(huì)員數(shù)量展示為整數(shù)。然后分別分析將會(huì)員劃分為4類和6類時(shí)各客戶群的特征,然后確定最終的分群策略和對(duì)應(yīng)的營(yíng)銷策略。9.3.4聚類模型構(gòu)建與評(píng)估9.3.4聚類模型構(gòu)建與評(píng)估9.3.5模型解釋與應(yīng)用將會(huì)員劃分為4個(gè)群體時(shí),分別考察各群體五個(gè)特征值的均值,如右圖所示。圖中客戶群1、客戶群2、客戶群3和客戶群4分別對(duì)應(yīng)4個(gè)簇的信息表中的簇編號(hào)“1”“2”“3”和“4”。圖中每行表示一個(gè)客戶群,每列表示一個(gè)指標(biāo)的平均值,需要注意的是,圖中指標(biāo)的平均值是真實(shí)的指標(biāo)數(shù)據(jù)標(biāo)準(zhǔn)化之后的數(shù)值的平均值。9.3.5模型解釋與應(yīng)用將會(huì)員劃分為6個(gè)群體時(shí),結(jié)果如右圖所示。圖中客戶群1、客戶群2、客戶群3、客戶群4、客戶群5和客戶群6分別對(duì)應(yīng)6個(gè)簇的信息表中的簇“1”、“2”、“3”、“4”、“5”和“6”。圖中每行表示一個(gè)客戶群,每列表示一個(gè)指標(biāo)的平均值,需要注意的是,圖

溫馨提示

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

評(píng)論

0/150

提交評(píng)論