主頁 > 知識庫 > 分析總結(jié)Python數(shù)據(jù)化運營KMeans聚類

分析總結(jié)Python數(shù)據(jù)化運營KMeans聚類

熱門標簽:湛江智能外呼系統(tǒng)廠家 ai電銷機器人源碼 外呼并發(fā)線路 百度地圖標注沒有了 地圖標注審核表 ai電話機器人哪里好 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 長沙高頻外呼系統(tǒng)原理是什么 宿遷星美防封電銷卡

內(nèi)容介紹

以 Python 使用 Keans 進行聚類分析的簡單舉例應(yīng)用介紹聚類分析。

聚類分析 或 聚類 是對一組對象進行分組的任務(wù),使得同一組(稱為聚類)中的對象(在某種意義上)與其他組(聚類)中的對象更相似(在某種意義上)。

它是探索性數(shù)據(jù)挖掘的主要任務(wù),也是統(tǒng)計數(shù)據(jù)分析的常用技術(shù),用于許多領(lǐng)域,包括機器學(xué)習(xí),模式識別,圖像分析,信息檢索,生物信息學(xué),數(shù)據(jù)壓縮和計算機圖形學(xué)。

一般應(yīng)用場景

目標用戶的群體分類:

根據(jù)運營或商業(yè)目的挑選出來的變量,對目標群體進行聚類,將目標群體分成幾個有明顯的特征區(qū)別的細分群體,在運營活動中為這些細分群體采用精細化、個性化的運營和服務(wù),提升運營的效率和商業(yè)效果。

不同產(chǎn)品的價值組合:

按特定的指標變量對眾多產(chǎn)品種類進行聚類。將產(chǎn)品體系細分成具有不同價值、不同目的、多維度產(chǎn)品組合,在此基礎(chǔ)上制定相應(yīng)的產(chǎn)品開發(fā)計劃、運營計劃和服務(wù)計劃。

探索、發(fā)現(xiàn)孤立點及異常值:

主要是風(fēng)控應(yīng)用。孤立點可能會存在欺詐的風(fēng)險成分。

聚類的常見方法

分為基于劃分、層次、密度、網(wǎng)格、統(tǒng)計學(xué)、模型等類型的算法,典型算法包括K均值(經(jīng)典的聚類算法)、DBSCAN、兩步聚類、BIRCH、譜聚類等。

Keans聚類實現(xiàn)

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn import metrics
import random
# 隨機生成100組包含3組特征的數(shù)據(jù)
feature = [[random.random(),random.random(),random.random()] for i in range(100)]
label = [int(random.randint(0,2)) for i in range(100)]
# 轉(zhuǎn)換數(shù)據(jù)格式
x_feature = np.array(feature)
# 訓(xùn)練聚類模型
n_clusters = 3  # 設(shè)置聚類數(shù)量
model_kmeans = KMeans(n_clusters=n_clusters, random_state=0)  # 建立聚類模型對象
model_kmeans.fit(x_feature)  # 訓(xùn)練聚類模型
y_pre = model_kmeans.predict(x_feature)  # 預(yù)測聚類模型
y_pre

聚類的評估指標

inertias

是K均值模型對象的屬性,表示樣本距離最近的聚類中心的總和,它是作為在沒有真實分類結(jié)果標簽下的非監(jiān)督式評估指標。

該值越小越好,值越小證明樣本在類間的分布越集中,即類內(nèi)的距離越小。

# 樣本距離最近的聚類中心的總和
inertias = model_kmeans.inertia_ 

adjusted_rand_s:

調(diào)整后的蘭德指數(shù)(Adjusted Rand Index),蘭德指數(shù)通過考慮在預(yù)測和真實聚類中在相同或不同聚類中分配的所有樣本對和計數(shù)對來計算兩個聚類之間的相似性度量。

調(diào)整后的蘭德指數(shù)通過對蘭德指數(shù)的調(diào)整得到獨立于樣本量和類別的接近于0的值,其取值范圍為[-1, 1],負數(shù)代表結(jié)果不好,越接近于1越好意味著聚類結(jié)果與真實情況越吻合。

# 調(diào)整后的蘭德指數(shù)
adjusted_rand_s = metrics.adjusted_rand_score(label, y_pre)

mutual_info_s:

互信息(Mutual Information, MI),互信息是一個隨機變量中包含的關(guān)于另一個隨機變量的信息量,在這里指的是相同數(shù)據(jù)的兩個標簽之間的相似度的量度,結(jié)果是非負值。

# 互信息
mutual_info_s = metrics.mutual_info_score(label, y_pre)

adjusted_mutual_info_s:

調(diào)整后的互信息(Adjusted Mutual Information, AMI),調(diào)整后的互信息是對互信息評分的調(diào)整得分。

它考慮到對于具有更大數(shù)量的聚類群,通常MI較高,而不管實際上是否有更多的信息共享,它通過調(diào)整聚類群的概率來糾正這種影響。

當(dāng)兩個聚類集相同(即完全匹配)時,AMI返回值為1;隨機分區(qū)(獨立標簽)平均預(yù)期AMI約為0,也可能為負數(shù)。

# 調(diào)整后的互信息
adjusted_mutual_info_s = metrics.adjusted_mutual_info_score(label, y_pre) 

homogeneity_s:

同質(zhì)化得分(Homogeneity),如果所有的聚類都只包含屬于單個類的成員的數(shù)據(jù)點,則聚類結(jié)果將滿足同質(zhì)性。其取值范圍[0,1]值越大意味著聚類結(jié)果與真實情況越吻合。

# 同質(zhì)化得分
homogeneity_s = metrics.homogeneity_score(label, y_pre)  

completeness_s:

完整性得分(Completeness),如果作為給定類的成員的所有數(shù)據(jù)點是相同集群的元素,則聚類結(jié)果滿足完整性。其取值范圍[0,1],值越大意味著聚類結(jié)果與真實情況越吻合。

# 完整性得分
completeness_s = metrics.completeness_score(label, y_pre) 

v_measure_s:

它是同質(zhì)化和完整性之間的諧波平均值,v = 2 (均勻性 完整性)/(均勻性+完整性)。其取值范圍[0,1],值越大意味著聚類結(jié)果與真實情況越吻合。

v_measure_s = metrics.v_measure_score(label, y_pre) 

silhouette_s:

輪廓系數(shù)(Silhouette),它用來計算所有樣本的平均輪廓系數(shù),使用平均群內(nèi)距離和每個樣本的平均最近簇距離來計算,它是一種非監(jiān)督式評估指標。其最高值為1,最差值為-1,0附近的值表示重疊的聚類,負值通常表示樣本已被分配到錯誤的集群。

# 平均輪廓系數(shù)
silhouette_s = metrics.silhouette_score(x_feature, y_pre, metric='euclidean') 

calinski_harabaz_s:

該分數(shù)定義為群內(nèi)離散與簇間離散的比值,它是一種非監(jiān)督式評估指標。

# Calinski和Harabaz得分
calinski_harabaz_s = metrics.calinski_harabasz_score(x_feature, y_pre) 

聚類效果可視化

# 模型效果可視化
centers = model_kmeans.cluster_centers_  # 各類別中心
colors = ['#4EACC5', '#FF9C34', '#4E9A06']  # 設(shè)置不同類別的顏色
plt.figure()  # 建立畫布
for i in range(n_clusters):  # 循環(huán)讀類別
    index_sets = np.where(y_pre == i)  # 找到相同類的索引集合
    cluster = x_feature[index_sets]  # 將相同類的數(shù)據(jù)劃分為一個聚類子集
    plt.scatter(cluster[:, 0], cluster[:, 1], c=colors[i], marker='.')  # 展示聚類子集內(nèi)的樣本點
    plt.plot(centers[i][0], centers[i][1], 'o', markerfacecolor=colors[i], markeredgecolor='k',
             markersize=6)  # 展示各聚類子集的中心
plt.show()  # 展示圖像

數(shù)據(jù)預(yù)測

# 模型應(yīng)用
new_X = [1, 3.6,9.9]
cluster_label = model_kmeans.predict(np.array(new_X).reshape(1,-1))
print ('聚類預(yù)測結(jié)果為: %d' % cluster_label)

以上就是分析總結(jié)Python數(shù)據(jù)化運營KMeans聚類的詳細內(nèi)容,更多關(guān)于Python數(shù)據(jù)化運營KMeans聚類的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python實現(xiàn)雙軸組合圖表柱狀圖和折線圖的具體流程
  • 用Python做個個性的動畫掛件讓桌面不單調(diào)
  • 如何用Python寫一個簡單的通訊錄
  • python實現(xiàn)多個視頻文件合成畫中畫效果
  • 自己用python做的一款超炫酷音樂播放器
  • Python做個自定義動態(tài)壁紙還可以放視頻
  • python中的zip模塊
  • 總結(jié)分析python數(shù)據(jù)化運營關(guān)聯(lián)規(guī)則
  • python項目--使用Tkinter的日歷GUI應(yīng)用程序
  • 如何使用Python做個自定義動態(tài)壁紙

標簽:寧夏 南平 漯河 盤錦 林芝 大同 海南 普洱

巨人網(wǎng)絡(luò)通訊聲明:本文標題《分析總結(jié)Python數(shù)據(jù)化運營KMeans聚類》,本文關(guān)鍵詞  分析,總結(jié),Python,數(shù)據(jù),化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《分析總結(jié)Python數(shù)據(jù)化運營KMeans聚類》相關(guān)的同類信息!
  • 本頁收集關(guān)于分析總結(jié)Python數(shù)據(jù)化運營KMeans聚類的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章