謝鐘揚(yáng)
摘要:在本篇文章當(dāng)中主要是以Python為編程語言和機(jī)器學(xué)習(xí)庫Scikit-Lear為工具,來對某個(gè)電商的庫戶數(shù)據(jù)進(jìn)行分類,從而建立起客戶的價(jià)值評估模型,文中可以清晰的看到聚類過程,并且使用肘方式和輪廓系數(shù)來對建立的模型來進(jìn)行一個(gè)有效的定量分析。
關(guān)鍵詞:基于Python;聚類方法;電商客戶
中圖分類號:F713.36 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)03-0230-02
0 引言
聚類分析是我們在進(jìn)行研究數(shù)據(jù)挖掘當(dāng)中的一個(gè)重要課題,它分別在電子商務(wù),圖像處理,文本應(yīng)用等領(lǐng)域有著較為廣泛的作用。而對于電子商務(wù)來講,基于客戶價(jià)值進(jìn)行客戶細(xì)分是當(dāng)前企業(yè)和專家著重的重點(diǎn)關(guān)注,因此如何能夠準(zhǔn)確有效的對客戶進(jìn)行分類成為了當(dāng)前企業(yè)優(yōu)化營銷資源的重要根據(jù)。
在本篇文章當(dāng)中,以一家電子商務(wù)女裝店為實(shí)例,我們可以使用Python當(dāng)中的機(jī)器學(xué)習(xí)庫Scikit-Lear來對電子商務(wù)中的客戶數(shù)據(jù)進(jìn)行聚類的方法進(jìn)行準(zhǔn)確有效的分析,從而可以在一定的程度上幫助企業(yè)進(jìn)行制定個(gè)性化的服務(wù)。
1 對Python簡單介紹
Python這是一門簡單易學(xué)并且編程功能較為強(qiáng)大的計(jì)算機(jī)語言,它具有著高效并且準(zhǔn)確的數(shù)據(jù)結(jié)構(gòu)模式,并且可以使用快捷及準(zhǔn)確的方法來面向?qū)ο筮M(jìn)行程序編程。對于Python來講它有著簡單的語法以及動態(tài)類型,那么再融合它的解釋性效果,就可以很好在很多行業(yè)領(lǐng)域當(dāng)中成為編寫腳本或者應(yīng)用程序的最佳計(jì)算機(jī)語言。隨著計(jì)算機(jī)技術(shù)的不斷進(jìn)步,NumPy,SciPy,Matplotilb等許多程序庫的逐漸被開發(fā)出來,Python在行業(yè)當(dāng)中占據(jù)著越來越重要的位置,其中有著計(jì)算機(jī)科學(xué),數(shù)學(xué)建模,數(shù)據(jù)挖掘等等。
2 K-Means聚類算法
對于聚類算法來講,我們可以從大體上分為幾類:劃分方式,層次方式,基于密度的方式,基于網(wǎng)格的方式以及基于模型的方式。由此可以知道K-Means算法也是分化方式當(dāng)中的一個(gè)類型,它具備著運(yùn)行效率較快和準(zhǔn)確的優(yōu)點(diǎn),因此常常在實(shí)際當(dāng)中被進(jìn)行使用到。
2.1 算法的基本概念
K-Means的聚類方法是一種較為典型的基于距離聚類算法,其主要的算法概念為,應(yīng)當(dāng)先在需要進(jìn)行分類的數(shù)據(jù)當(dāng)中尋找K組數(shù)據(jù)來當(dāng)作初始聚類的中心點(diǎn),接著在對其計(jì)算其他樣本和這個(gè)中心點(diǎn)的大致距離,然后將樣本中的中心點(diǎn)歸納到最為接近的聚類中心當(dāng)中,最后我們重新計(jì)算各簇當(dāng)中所有樣本的中心點(diǎn),當(dāng)作為一個(gè)新的聚類中心,依次循環(huán),一直到出現(xiàn)新的聚類中心和上一次聚類中心點(diǎn)不變或者達(dá)到預(yù)定的迭代次數(shù)時(shí),算法終止。
我們在進(jìn)行使用K-Means算法的時(shí)候,應(yīng)當(dāng)應(yīng)用隨機(jī)點(diǎn)來當(dāng)中我們的初始中心點(diǎn),若是初中的中心點(diǎn)選擇不當(dāng)?shù)脑?,那么就可能在一定的程度上使得我們的簇效果不好甚至出現(xiàn)收斂速度慢的問題出現(xiàn)。
對于K-Means算法的初始過程我們進(jìn)行簡單的講述:
Step1:初始化一個(gè)為空的集合取名為M,這個(gè)M能夠用于存儲選定的K個(gè)中心點(diǎn)。
Step2:我們可以從輸入當(dāng)中的樣本來進(jìn)行隨機(jī)的選擇一個(gè)中心點(diǎn),并且把它加入到集合M當(dāng)中去。
Step3:在對于集合M之外的任何一個(gè)樣本點(diǎn),可以使用計(jì)算方式來進(jìn)行找到其平方距離最為較小的樣本。
Step4:我們可以使用加權(quán)概率分布算法,來進(jìn)行測試隨機(jī)的下一個(gè)中心點(diǎn)。
Step5:如果直到現(xiàn)在還沒有對于K中心點(diǎn)進(jìn)行選擇,那么我們就需要重復(fù)第二,第三的步驟依次循環(huán)。
Step6:對于已經(jīng)選定的中心點(diǎn)我們需要進(jìn)行K-Means算法處理。
2.2 對聚類算法出的結(jié)果進(jìn)行有效準(zhǔn)確評估
有效性的標(biāo)準(zhǔn)評價(jià)方法,對于聚類方法的有效性,指的是對聚類結(jié)果進(jìn)行評價(jià)并且確定評價(jià)出的結(jié)果是否正確和有效。對于這類指標(biāo)來講,它們并不需要有著外部的參考標(biāo)準(zhǔn),只需要對于數(shù)據(jù)集本身和聚類結(jié)果進(jìn)行一個(gè)評估,就能按照聚類的結(jié)果來進(jìn)行選擇最佳聚類數(shù)。因?yàn)闊o監(jiān)督學(xué)習(xí)不能達(dá)到數(shù)據(jù)及樣本的準(zhǔn)確數(shù)值,那么這個(gè)時(shí)候就需要我們對聚類效果進(jìn)行定量解析。那么需要進(jìn)行使用到的模型內(nèi)部固有度量來對K-Means的聚類結(jié)果進(jìn)行比較。在本篇文章當(dāng)中肘方式以及輪廓系數(shù)評價(jià)方式來對聚類質(zhì)量進(jìn)行討論,下面對這兩種方法進(jìn)行簡單的介紹。
2.2.1 應(yīng)用肘方式來對簇進(jìn)行一個(gè)數(shù)量測試
在肘方式當(dāng)中主要是使用簇內(nèi)誤差平方和來進(jìn)行計(jì)算的。
2.2.2 輪廓系數(shù)評價(jià)方式
對于輪廓方式這種方法來講,它主要是采用圖形工具來對簇中樣本的密集程度進(jìn)行一個(gè)計(jì)算,計(jì)算出數(shù)據(jù)中單個(gè)樣本的輪廓系數(shù),具體步驟如下:(1)將某一個(gè)樣本和簇內(nèi)其他點(diǎn)進(jìn)行計(jì)算,計(jì)算兩者之間的平均距離,來當(dāng)作為簇內(nèi)的內(nèi)聚數(shù)據(jù)。(2)使得樣本和最近的所有點(diǎn)之間的距離,計(jì)算出它們的平均數(shù)值,來當(dāng)作為與下一個(gè)簇?cái)?shù)據(jù)的分離度。(3)讓簇分離度和簇內(nèi)聚度進(jìn)行相減,得出兩者之間的差,接著在除以兩者中心的較大數(shù)值。
3 對客戶價(jià)值呈現(xiàn)的模型進(jìn)行搭建
RFM模型這是一種可以對用戶價(jià)值和客戶創(chuàng)利能力的管理工具,在眾多的客戶關(guān)系管理當(dāng)中,RFM這種模型被廣泛的使用到,這種模型可以通過對客戶進(jìn)行分析,比如客戶的購買能力,交易頻率和交易金額,RFM這種模型根據(jù)這三個(gè)指標(biāo)來對客戶的價(jià)值進(jìn)行簡單的記錄,在一般的管理軟件當(dāng)中,分析型的CRM注重于對客戶的貢獻(xiàn)值分析,而RFM則強(qiáng)調(diào)以客戶的行為來區(qū)分客戶。
對于RFM在電子商務(wù)的使用上,我們對RFM進(jìn)行一個(gè)簡單概括。R代表著客戶最近一次購買時(shí)間距今有多久,F(xiàn)代表著客戶在最近一段時(shí)間當(dāng)中購買的次數(shù),而M則代表著客戶在最近一段時(shí)間當(dāng)中購買的總數(shù)金額。
在本篇文章當(dāng)中以一家電商女裝為例子,我們在對這家網(wǎng)店的交易數(shù)據(jù)進(jìn)行一個(gè)聚類分析和數(shù)據(jù)收集。我們通過對于這些數(shù)據(jù)的提取和變換等步驟之后,使用K-Means算法來對當(dāng)中的客戶群體進(jìn)行分類,并且使用Python當(dāng)中的可視化工具。
4 結(jié)語
本篇文章對于某個(gè)電商當(dāng)中的客戶數(shù)據(jù)使用K-Means聚類進(jìn)行一定的分類,并且建立了客戶價(jià)值評估的模型,在文章當(dāng)中使用了Python當(dāng)中強(qiáng)大的開源庫,并且展示了聚類效果,在聚類方法之中有著一個(gè)不足之處,那么便是需要在事先指定分類數(shù)目。
參考文獻(xiàn)
[1] 薛芯菊.基于Python的K-means算法及其應(yīng)用[J].科技視界,2018(24):141-142.
[2] 唐琳,何天宇.基于Python的自然語言數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2018(16):160-162.
[3] 趙金暉.基于python的數(shù)據(jù)處理和模糊層次聚類[J].無線互聯(lián)科技,2018,15(14):141-142.
[4] 賈桂霞,賈桂云,李向偉,張睿敏.基于Python的聚類方法在電商客戶細(xì)分中的應(yīng)用研究[J].蘭州文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2018,32(03):55-58.
[5] 陳偉,李紅,王維.一種基于Python的K-means聚類算法分析[J].數(shù)字技術(shù)與應(yīng)用,2017(10):118-119.
Application and Exploration of Python Based Clustering
Method in E-Business Customer Subdivision
XIE Zhong-yang
(Hunan Software Vocational College,Xiangtan Hunan? 411100)
Abstract:In this article, Python is mainly used as a programming language and machine learning library Sikit-Lear as a tool to classify the library data of an e-commerce to establish a customer's value assessment model. In this article, the clustering process can be clearly seen. And using elbow methods and contour coefficients to perform an effective quantitative analysis of the established model.
Key words:based on Python; cluster method; E-commerce customers