1. 程式人生 > >python資料分析與挖掘實戰 第七章 拓展思考

python資料分析與挖掘實戰 第七章 拓展思考

流失客戶分類模型

  • 1 資料預處理
  • 如果動手做過的人可能面臨的第一個問題就是,這資料讀進pandas怎麼弄編碼結果都是錯的。如果你存在這樣的問題,那麼我建議你使用NotePad++載入檔案以後,改成無BOM的UTF-8編碼,然後就可以正常讀取了。

  • 資料預處理部分
    根據書上的條件,預處理需要分以下幾條:
    1、老客戶:飛行次數大於6次
    2、已流失客戶:第二年飛行次數’L1Y_Flight_Count’ 低於 第一年飛行次數’P1Y_Flight_Count’ 的50%, 型別為0
    3、準流失客戶:第二年飛行次數’L1Y_Flight_Count’ 在 第一年飛行次數’P1Y_Flight_Count’ 的 50%-90% 之間, 型別為1
    4、未流失客戶:第二年飛行次數大於 第一年飛行次數的90%以上, 型別為2
    5、單位里程票價:這也是沒有現成的,我採用的是((第一年總票價+第二年總票價)/總里程)
    6、單位里程積分:(總積分/總里程)

然後因為有些客戶沒有票價,造成了單位里程票價為0,這類客戶不是很多,所以我也就全部丟棄掉了。最後,把小數部分都取成2位。得到結果如下圖:
這裡寫圖片描述

然後進行標準化,這次我採用的是max-min標準化。得到的結果是:
這裡寫圖片描述

到這裡資料應該算準備完成了。但我在這裡遇見了一個問題,在把這個資料匯入KMeans的時候,會報一個ValueError的錯誤。所以需要通過以下程式碼,解除錯誤。

# data_zc就是上面的表
from sklearn.preprocessing import Imputer
data_zcc = pd.DataFrame(Imputer().fit_transform(data_zc))
  • 進行Kmeans分類,程式碼不貼了,基本就是書上一樣的,不過這裡只分3個質心。

然後劃分80%資料為訓練集,20%為測試集。在這裡其實我有一個很大的疑惑以至於我對整個過程表示懷疑。通過KMeans對以上的資料進行了分類,那麼訓練集和測試集有本質性的區別嗎?為什麼不把測試集做為增量資料和訓練集一起進行訓練分類呢?當然,如果訓練級如果確實數量很大,那麼從效能角度而言,確實分開比較好。

這裡寫圖片描述

好了,無論如何,我也把訓練資料分成了三類。
那麼下面就是要分析一下,這三類究竟是什麼情況了。

  • 分析結果
  • 0群:會員等級高,平均出行間隔短,平均里程長,積分兌換次數高,單位里程票價和單位里程積分高,人數最少,那麼我認為這就是可以算是鐵桿客戶,這一類客戶當然是VIP咯。但是這一類客戶的MEMBER_TYPE並不都是2,也就是說部分客戶已經減少了通過航空公司出行的量,針對這一部分客戶應當加強回訪,找出這一部分客戶為什麼會減少出行的原因,進行改進。

我們看一下這群體客戶的原始資料。
這裡寫圖片描述
很明顯,這一群的客戶資料都好好看。

  • 1群:可以說所有資料都在中等水平,但是呢MEMBER_TYPE值缺最低,那麼意味著這一類的客戶裡面,第二年的飛行里程已經達不到第一年的50%了。那麼這一類客戶基本上說是已經流失的客戶了。

我們也看一下這個群體的客戶原始資料。
這裡寫圖片描述
很明顯,這一群體裡面第二年的乘機次數都有明顯的下降。對於這一群體中的會員卡等級較高且第一年乘機次數較多的客戶,應當進行回訪,瞭解客戶為什麼會減少乘機次數,找出原因進行改進。爭取把這一部分流失的客戶重新召回。

  • 2群:所有值都處於最低,人數也最廣。但是MEMBER_TYPE確是最高的值。我們先來看一下,這一群體的資料究竟是怎樣的。
    這裡寫圖片描述

根據資料,我們可以認為,這一群體應該是剛剛加入這家航空公司不久的會員,所以會員等級等等資料並不是那麼好看,但是他們都有一個共同的特徵,就是他們的飛行次數在增加。也就是他們正處於一個上升區間,把這一群體的客戶努力轉變為0群客戶,那麼就可以增加忠誠使用者的數量。這顯然是至關重要的。那麼可以通過給這些會員更多的晉升VIP等級,更好的折扣加強使用者存在感等等營銷方式呵護這一群體。

  • 個人評論
    對於結果分析部分,其實我個人並不是很有信心,因為相同的資料在不同人的眼裡結論是不一樣的。在我們國家航空公司並沒有很多,最主要的也就是幾大航空公司,對於客戶而言選擇飛行的時間日期可能比選擇航空公司而言的優先度更高一些,所以我大體認為三個群體對應的是三種人群。

第0群,這一類就是傳說中的空中飛人,經常出差工作,飛來飛去是航空公司的常客。

第1群,曾經他們是空中飛人,但是現在可能轉換工作不太需要出差了,所以出行次數變少。

第2群,將要成為空中飛人的人或者每年有固定飛行計劃的人,又不需要出差的工作轉為常常需要出差飛行的工作,或者這些客戶一年就飛個3-4次,比如去某個城市開個季度會議之類,所以飛行量不是很大,但是次數也比較固定。

相關推薦

python資料分析挖掘實戰 拓展思考

流失客戶分類模型 1 資料預處理 如果動手做過的人可能面臨的第一個問題就是,這資料讀進pandas怎麼弄編碼結果都是錯的。如果你存在這樣的問題,那麼我建議你使用NotePad++載入檔案以後,改成無BOM的UTF-8編碼,然後就可以正常讀取了。 資料預處理部

python資料分析挖掘實戰 拓展思考

企業偷漏稅識別模型 1、資料探索 偷漏稅企業分佈 首先生成data import pandas as pd inputfile = r'E:\Download\百度雲\圖書配套資料、程式碼\chapter6\拓展思考\tax.xls' data =

python資料分析挖掘實戰 拓展練習

這一章的拓展練習感覺是比較簡單的。基本上沒有太多讓人糾結的地方。沒有特徵提取和資料規約,讓事情簡單了不少。當然不包括寫出C4.5的決策樹,我也沒有那麼寫。 讀取資料,劃分訓練集和測試集,不用多說。

python資料分析挖掘實戰-拓展偷漏稅使用者識別

第六章分別使用了LM神經網路和CART 決策樹構建了電力竊漏電使用者自動識別模型,章末提出了拓展思考--偷漏稅使用者識別。專案要求:汽車銷售行業在稅收上存在多種偷漏稅情況導致政府損失大量稅收。汽車銷售企業的部分經營指標能在一定程度上評估企業的偷漏稅傾向,附件資料提供了汽車銷售

Python資料分析挖掘實戰7——kmeans

本文是基於《Python資料分析與挖掘實戰》的實戰部分的第七章的資料——《航空公司客戶價值分析》做的分析。旨在補充原文中的細節程式碼,並給出文中涉及到的內容的完整程式碼。 1)在資料預處理部分增加了屬性規約、資料變換的程式碼2)在模型構建的部分增加了一個畫出雷達圖的函式程式碼

Python資料分析挖掘實戰13——迴歸+DNN

本文是基於《Python資料分析與挖掘實戰》的實戰部分的第13章的資料——《財政收入影響因素分析及預測模型》做的分析。旨在補充原文中的細節程式碼,並給出文中涉及到的內容的完整程式碼。在作者所給程式碼的基礎上增加的內容包括: 1)探索了灰色預測的原理 2)畫出預測結果圖3)由於

Python資料分析挖掘實戰15——文字挖掘

本文是基於《Python資料分析與挖掘實戰》的實戰部分的第15章的資料——《電商產品評論資料情感分析》做的分析。旨在回顧對評論文字資料的處理和建模方法。1 挖掘背景與目標    對京東平臺上的熱水器評論進行文字挖掘分析,挖掘建模如下:1)分析某一個品牌熱水器的使用者情感傾向2

Python資料分析挖掘實戰挖掘建模

# coding:utf-8 """ logistic 迴歸, 自動建模 """ import pandas as pd # 引數初始化 filename = r"C:\learning\DataMining\Book\Python_DataMining\Data\cha

python資料分析挖掘實戰筆記二:99頁神經網路訓練出現的錯誤'Some keys in session_kwargs are not supported at this time: %s'

在使用神經網路模型預測銷量高低時,系統指出模型訓練時出現錯誤: ValueError Traceback (most recent call last) <ipython-input-20-e46e29b76a5e> in <module&g

Python資料分析挖掘實戰10(上)——DNN

本文是基於《Python資料分析與挖掘實戰》的實戰部分的第10章的資料——《家用電器使用者行為分析與事件識別》做的分析。旨在補充原文中的細節程式碼,並給出文中涉及到的內容的完整程式碼;另外,原文中的資料處理部分排版先後順序個人感覺較為凌亂,在此給出梳理。在作者所給程式碼的基礎

Python資料分析挖掘實戰8——Apriori關聯規則

本文是基於《Python資料分析與挖掘實戰》的實戰部分的第八章的資料——《中醫證型關聯規則挖掘》做的分析。旨在補充原文中的細節程式碼,並給出文中涉及到的內容的完整程式碼。主要有:1)將原始資料按照聚類結果進行標記類別1 背景與目標分析    此專案旨在根據相關資料建模,獲取中

Python資料分析挖掘實戰學習拓展——偷漏稅使用者識別

本文是繼上一篇文章中上機實驗之後的拓展思考部分的練習記錄。此拓展思考部分主要目標是依據附件所提供的汽車銷售企業的部分經營指標,來評估汽車銷售行業納稅人的偷漏稅傾向,建立偷漏稅行為識別模型。 本次拓展思考練習分以下幾個步驟進行: 資料初步探索分析 資料預處理

Python資料分析挖掘實戰學習-關聯規則Apriori

《Python資料分析與挖掘實戰》這本書其實已經在暑假結束的時候就已經基本上過了一遍,但是卻一直沒有堅持著記錄。最近幾天想著將之前的學習內容整理一遍,因此,再做記錄。 全文分為以下三個部分: Apriori演算法 Apriori的python實現 總結

菜鷄日記——《Python資料分析挖掘實戰》實驗6-1 拉格朗日插值法

實驗6-1 用拉格朗日插值法 題目描述:用拉格朗日插值法對missing_data.xls中表格的空值進行填補。 # p1, lab6 # Fill all of the null values with Lagrange's interpolation # Data file name i

Python資料分析挖掘實戰 pdf下載

Python資料分析與挖掘實戰是10餘位資料探勘領域資深專家和科研人員,10餘年大資料探勘諮詢與實施經驗結晶。從資料探勘的應用出發,以電力、航空、醫療、網際網路、生產製造以及公共服務等行業真實案例為主線,深入淺出介紹Python資料探勘建模過程,實踐性極強。 本書共15章,分兩個部分:基礎

推薦書籍《Python資料分析挖掘實戰》附下載連結

“10餘位資料探勘領域資深專家和科研人員,10餘年大資料探勘諮詢與實施經驗結晶。從資料探勘的應用出發,以電力、航空、醫療、網際網路、生產製造以及公共服務等行業真實案例為主線,深入淺出介紹Python資料探勘建模過程,實踐性極強。 本書共15章,分兩個部分:基礎

Python資料分析挖掘實戰》筆記(一):資料探勘基礎

一、資料探勘的基本任務 利用分類與預測、聚類分析、關聯規則、時序模式、偏差檢測、智慧推薦等方法,幫助企業提取資料中蘊含的商業價值,提升企業的競爭力。 二、資料探勘建模過程 定義挖掘目標:任務目標和完

Python資料分析挖掘實戰挖掘建模

常用的分類與預測演算法 1迴歸模型分類 1線性迴歸---自變數因變數線性關係,最小二乘法求解 2非線性迴歸--自變數因變數非線性關係,函式變換為線性關係,或非線性最小二乘方法求解 3logistic迴

Python資料分析挖掘實戰(Pandas,Matplotlib常用方法)

作業系統:Windows Python:3.5 歡迎加入學習交流QQ群:657341423 上節講到資料分析和挖掘需要的庫,其中最主要的是Pandas,Matplotlib。 Pandas:主要是對資料分析,計算和統計,如求平均值,方差等。 Matplotl

Python資料分析挖掘實戰程式碼糾錯 程式碼3-1

我是通過這本書來開始學習資料探勘和分析,在目前學的內容中,發現了書上的程式碼有些地方是錯誤了,在此希望分享下我除錯好的程式碼,供大家參考,相互學習。 1、程式碼清單3-1 餐飲銷額資料異常值檢測程式碼 書上的程式碼如下: #-*- coding: utf-