python数据分析可视化实例_Python数据分析及可视化实例之基于Kmean分析RFM进行用户关怀...
系列文章總目錄:Python數據分析及可視化實例目錄
數據集下載
Python數據分析及可視化實例之全國各城市房價分析(含數據采集)
Python數據分析及可視化實例之帝都房價預測
Python數據分析及可視化實例之房屋制熱、制冷功率預測
Python數據分析及可視化實例之商品銷量預測
Python數據分析及可視化實例之基于Kmean分析RFM進行用戶關懷
Python數據分析及可視化實例之基于RFM基本概念進行用戶關懷
Python數據分析及可視化實例之銀行信用卡違約預測
加載數據
import pandas as pd import numpy as np pd.set_option('display.max_columns', None) # 設置顯示所有列 df = pd.read_excel('UXFTLB.xls', index_col = 'Id') #讀取數據 df.head()R F M Id 1 27 6 232.61 2 3 5 1507.11 3 4 16 817.62 4 3 11 232.81 5 14 7 1913.05
聚類分析
X=1.0*(df - df.mean())/df.std() #數據標準化 X.head()R F M Id 1 0.764186 -0.493579 -1.158711 2 -1.024757 -0.630079 0.622527 3 -0.950217 0.871423 -0.341103 4 -1.024757 0.188922 -1.158432 5 -0.204824 -0.357079 1.189868
from yellowbrick.cluster import KElbowVisualizer from sklearn.cluster import MiniBatchKMeans visualizer = KElbowVisualizer(MiniBatchKMeans(), k=(1,9)) visualizer.fit(X) visualizer.poof() # 肘部不明顯,分為4類分類輪廓
from yellowbrick.cluster import SilhouetteVisualizer model = MiniBatchKMeans(4) visualizer = SilhouetteVisualizer(model) visualizer.fit(X) visualizer.poof()Kmean聚類
from sklearn.cluster import KMeans model = KMeans(n_clusters = 4, n_jobs = 4, max_iter = 500) #分為k類,并發數4,#聚類最大循環次數500 model.fit(X) #開始聚類 KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=500,n_clusters=4, n_init=10, n_jobs=4, precompute_distances='auto',random_state=None, tol=0.0001, verbose=0) #簡單打印結果 r1 = pd.Series(model.labels_).value_counts() #統計各個類別的數目 r2 = pd.DataFrame(model.cluster_centers_) #找出聚類中心 r = pd.concat([r2, r1], axis = 1) #橫向連接(0是縱向),得到聚類中心對應的類別下的數目 r.columns = list(X.columns) + ['類別成員數'] #重命名表頭 print(r) R F M 類別成員數 0 -0.167313 1.202923 0.187762 308 1 3.551564 -0.256500 0.423271 38 2 -0.138992 -0.681412 -0.802742 351 3 -0.142555 -0.500320 0.855340 243 #詳細輸出原始數據及其類別 r = pd.concat([df, pd.Series(model.labels_, index = X.index)], axis = 1) #詳細輸出每個樣本對應的類別 r.columns = list(df.columns) + ['類別'] #重命名表頭 r.head()R F M 類別 Id 1 27 6 232.61 2 2 3 5 1507.11 3 3 4 16 817.62 0 4 3 11 232.81 2 5 14 7 1913.05 3
res = r[r['類別']==3] res.head(10)R F M 類別 Id 2 3 5 1507.11 3 5 14 7 1913.05 3 13 17 11 1744.55 3 15 5 7 1713.79 3 22 17 3 1845.34 3 27 4 2 1795.41 3 28 7 12 1786.24 3 34 14 11 1165.68 3 38 1 1 1383.39 3 39 24 8 3280.77 3
新手可查閱歷史目錄:
yeayee:Python數據分析及可視化實例目錄?zhuanlan.zhihu.com總結
以上是生活随笔為你收集整理的python数据分析可视化实例_Python数据分析及可视化实例之基于Kmean分析RFM进行用户关怀...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一万块钱八个点是多少
- 下一篇: 花呗申请退款教程