丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

使用 K-means 算法進(jìn)行客戶分類

本文作者: AI研習(xí)社-譯站 2018-09-26 11:48
導(dǎo)語:聚類是將一組數(shù)據(jù)點(diǎn)劃分為少量聚類的過程。在本部分中,你將理解并學(xué)習(xí)到如何實現(xiàn)K-Means聚類。

使用 K-means 算法進(jìn)行客戶分類

本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :

Customer segmentation using Machine Learning K-Means Clustering

翻譯 | 呂鑫燦、就2    校對 | 就2    整理 | 志豪

原文鏈接:

http://www.patterns7tech.com/customer-segmentation-using-machine-learning-k-means-clustering/


Rajshekhar Bodhale | 2017年11月17日 | 機(jī)器學(xué)習(xí)

基于信息技術(shù)的大多數(shù)平臺正在生成大量數(shù)據(jù)。這些數(shù)據(jù)稱為大數(shù)據(jù),它承載了大量的商業(yè)智能。這些數(shù)據(jù)互相交融以滿足不同的目標(biāo)和可能性。應(yīng)用機(jī)器學(xué)習(xí)技術(shù)就很有可能為客戶創(chuàng)造價值。


  問題描述

  1. 我們在會計學(xué)和物聯(lián)網(wǎng)領(lǐng)域擁有基于大數(shù)據(jù)的平臺,可以持續(xù)生成客戶行為和設(shè)備監(jiān)控數(shù)據(jù)。

  2. 識別目標(biāo)客戶群或者基于不同維度分析(推導(dǎo))模式非常關(guān)鍵,并且實在的為平臺提供了優(yōu)勢。


  對應(yīng)想法

假設(shè)你有1000個客戶使用你的平臺并且不斷地產(chǎn)生體量龐大的大數(shù)據(jù),任何關(guān)于這方面的深入見解都將產(chǎn)生新的價值。

作為Patterns7團(tuán)隊不斷嘗試的機(jī)器學(xué)習(xí)計劃和創(chuàng)新事物的一部分,我們對K-Means聚類算法進(jìn)行了實驗,這為客戶帶來的價值非常驚人。


  解決方案

聚類是將一組數(shù)據(jù)點(diǎn)劃分為少量聚類的過程。在本部分中,你將理解并學(xué)習(xí)到如何實現(xiàn)K-Means聚類。


  K-Means聚類

K-Means聚類是一種常用于將數(shù)據(jù)集自動劃分為K個組的方法,它屬于無監(jiān)督學(xué)習(xí)算法。

使用 K-means 算法進(jìn)行客戶分類


  K-Means目標(biāo)

  • K均值的目的是使每個點(diǎn)到其對應(yīng)的聚類質(zhì)心的距離的平方和最小。給定一組觀測值(x1,x2,...,xn),其中每一個觀測值都是d維實數(shù)向量,K均值聚類旨在將n個觀測值劃分為k(k≤n)個集合S={S1,S2,...,Sk}以最小化聚類內(nèi)的平方和,其中μi是Si中的點(diǎn)的平均值。

  • 保證K-Means算法收斂到局部最優(yōu)。


  業(yè)務(wù)用途

這是一種通用算法,可用于任何類型的分組。部分使用案例如下:

  • 行為細(xì)分:按購買歷史記錄細(xì)分,按應(yīng)用程序、網(wǎng)站或者購買平臺上的活動細(xì)分。

  • 庫存分類:按照銷售活動分組存貨(準(zhǔn)備庫存)。

  • 傳感器測量:檢測運(yùn)動傳感器中的活動類型,并分組圖像。

  • 檢測機(jī)器人或異常:從機(jī)器人中分離出有效地活動組。


  k - means聚類算法

  • 步驟1:選擇集群的數(shù)量K。

  • 步驟2:隨機(jī)選擇K個點(diǎn),作為質(zhì)心。(不一定要從你的數(shù)據(jù)集中選擇)

  • 步驟3:將每個數(shù)據(jù)點(diǎn)分配到-> 構(gòu)成K簇的最近的質(zhì)心。

  • 步驟4:計算并重新放置每個集群的新質(zhì)心。

  • 步驟5:將每個數(shù)據(jù)點(diǎn)重新分配到最近的質(zhì)心。如果有任何重置發(fā)生,轉(zhuǎn)到步驟4,否則轉(zhuǎn)到FIN。


  示例:在python中對客戶費(fèi)用和發(fā)票數(shù)據(jù)應(yīng)用K-Means集群。

對于python,我使用的是Spyder Editor。

下面,我們將展示K-means算法如何處理客戶費(fèi)用和發(fā)票數(shù)據(jù)的例子。

我們有500個客戶數(shù)據(jù),我們關(guān)注兩個客戶特征: 客戶發(fā)票,客戶費(fèi)用。

一般來說,只要數(shù)據(jù)樣本的數(shù)量遠(yuǎn)遠(yuǎn)大于特征的數(shù)量,該算法可以用于任意數(shù)量的特征。


步驟1:清理和轉(zhuǎn)換數(shù)據(jù)

對于這個示例,我們已經(jīng)清理和做了一些簡單的數(shù)據(jù)轉(zhuǎn)換。下面是pandas  DataFrame的數(shù)據(jù)樣本。

導(dǎo)入庫,

1、numpy 即用于數(shù)學(xué)工具的,以在我們的代碼中包含任何類型的數(shù)學(xué)
2、matplotlib  繪制漂亮的圖表
3、pandas 用于導(dǎo)入數(shù)據(jù)集和管理數(shù)據(jù)集

使用 K-means 算法進(jìn)行客戶分類


步驟2: 我們對總費(fèi)用和總發(fā)票應(yīng)用聚類。在X中選擇必需的列。

使用 K-means 算法進(jìn)行客戶分類

下圖顯示了500個客戶的數(shù)據(jù)集,總發(fā)票在x軸,總費(fèi)用在y軸。

使用 K-means 算法進(jìn)行客戶分類


步驟3:選擇K并運(yùn)行算法

選擇K

上面描述的算法找到一個特定的預(yù)先選擇K的集群和數(shù)據(jù)集標(biāo)簽。
為了找到數(shù)據(jù)中的集群數(shù)量,用戶需要運(yùn)行K-means聚類算法對K個值的范圍進(jìn)行聚類并比較結(jié)果。一般來說,沒有確定K的精確值的方法,但是可以使用以下技術(shù)得到精確的估計值。

通常用于比較不同K值之間的結(jié)果的度量之一是:

數(shù)據(jù)點(diǎn)與它們的集群中心之間的平均距離。

因為增加集群的數(shù)量總是會減少到數(shù)據(jù)點(diǎn)的距離,所以增加K總是會減少這個度量,當(dāng)K等于數(shù)據(jù)點(diǎn)的數(shù)量時達(dá)到0的極限。因此,這個指標(biāo)不能作為唯一的目標(biāo)。相反,將與質(zhì)心的平均距離作為K的函數(shù)繪制出來,并使用“彎頭點(diǎn)”(急劇下降的速度)來粗略地確定K。

使用 K-means 算法進(jìn)行客戶分類

用彎頭法求出最優(yōu)簇數(shù)K=3。對于本例,使用Python包scikit-learn進(jìn)行計算,如下所示:

# K-Means Clustering

# importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# importing tha customer Expenses Invoices dataset with pandas
dataset=pd.read_csv('Expense_Invoice.csv')
X=dataset.iloc[: , [3,2]].values

# Using the elbow method to find  the optimal number of clusters
from sklearn.cluster import KMeans
wcss = []
for i in range(1, 11):
 kmeans=KMeans(n_clusters=i, init='k-means++', max_iter= 300, n_init= 10, random_state= 0)
 kmeans.fit(X)
 wcss.append(kmeans.inertia_)
plt.plot(range(1, 11),wcss)
plt.title('The Elbow Method')
plt.xlabel('Number of clusters K')
plt.ylabel('Average Within-Cluster distance to Centroid (WCSS)')  
plt.show()
 
# Applying k-means to the mall dataset
kmeans=KMeans(n_clusters=3, init='k-means++', max_iter= 300, n_init= 10, random_state= 0)
y_kmeans=kmeans.fit_predict(X)

# Visualizing the clusters
plt.scatter(X[y_kmeans == 0, 0], X[y_kmeans == 0, 1], s = 100, c = 'red', label='Careful(c1)')
plt.scatter(X[y_kmeans == 2, 0], X[y_kmeans == 2, 1], s = 100, c = 'green', label='Standard(c2)')
plt.scatter(X[y_kmeans == 1, 0], X[y_kmeans == 1, 1], s = 100, c = 'blue', label='Target(c3)')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s = 250, c = 'yellow',
           label='Centroids')
plt.title('Clusters of customer Invoices & Expenses')
plt.xlabel('Total Invoices ')
plt.ylabel('Total Expenses')
plt.legend()
plt.show()


步驟4:查看結(jié)果

下面的圖表顯示了結(jié)果。

  • “謹(jǐn)慎型客戶”誰的收入越少,他們花的也就越少。

  • “一般客戶”收入是平均的,他們花得更少,

  • “目標(biāo)客戶”是誰的收入更多,他們花得更多。

使用 K-means 算法進(jìn)行客戶分類


想要繼續(xù)查看該篇文章更多代碼、鏈接和參考文獻(xiàn)?

戳鏈接:

http://www.gair.link/page/TextTranslation/691


AI研習(xí)社每日更新精彩內(nèi)容,點(diǎn)擊文末【閱讀原文】即可觀看更多精彩內(nèi)容:

Google 啟動新搜索引擎,幫助科學(xué)家找到需要的數(shù)據(jù)集

立志成為數(shù)據(jù)科學(xué)家?掌握以下基礎(chǔ)

當(dāng)機(jī)器學(xué)習(xí)遇上運(yùn)動鞋

基于opencv和python的手指識別及追蹤


等你來譯:雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

建立一個基于深度學(xué)習(xí)的混合型的內(nèi)容協(xié)同電影推薦系統(tǒng)

決策樹:一種像人腦一樣工作的算法

如何用 Dask 數(shù)據(jù)框架運(yùn)行并行數(shù)據(jù)分析

蒙特卡洛模擬航空公司超訂

游戲 AI 入門指南

使用 K-means 算法進(jìn)行客戶分類

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

使用 K-means 算法進(jìn)行客戶分類

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學(xué)習(xí)知識的門檻。(原雷鋒字幕組)
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說