邏輯迴歸在目標用戶挖掘方面的應用

編輯導讀:企業為了更精準地定位用戶,通常會開展自己的用戶洞察項目。既包括分析現有用戶特徵,也包括尋找符合目標特徵的用戶。更進一步,想要針對用戶進行精細化運營,則可以用邏輯迴歸算法。本文對此進行了五個方面的分析,希望對你有幫助。

邏輯迴歸在目標用戶挖掘方面的應用

隨著用戶數據的豐富,越來越多的公司開始開展自己的用戶洞察項目。所謂用戶洞察,其輸出主要是兩種,其一是現有用戶的畫像:通俗的講就是通過現有用戶群去分析自己的目標用戶特徵;其二是目標用戶的挖掘:以用戶畫像為標準,去尋找符合目標特徵的用戶。

而這裡的目標落實到業務層面,其實可以是正面的也可以是負面的。正面的如註冊目標、活躍目標、下單目標、復購目標等,毫無疑問,找到這些意向的用戶,能幫助我們提升業績;而負面的流失目標、沉睡目標、投訴目標,也自有其價值,我們預先知道可能產生這類行為的用戶,就能未雨綢繆提前做好應對措施。

但是如果僅僅知道用戶是否是我們的目標用戶還不夠,我們還需要知道其意向度。比如同樣是下單目標用戶:60%的下單可能和90%的下單可能,對我們的價值肯定是不一樣的。從精細化運營考慮,這兩個用戶有必要採用不同的運營策略。

而要想在給用戶進行分類的同時,又想知道他屬於某個類的置信度,那邏輯迴歸算法能較好的滿足我們的需求。

邏輯迴歸(Logistic Regression)是一種用於解決二分類(0 or 1)問題的機器學習方法,用於估計某種事物的可能性。比如某用戶購買某商品的可能性,某病人患有某種疾病的可能性,以及某廣告被用戶點擊的可能性等。

這次我們以挖掘某出行類產品的用戶下單意向為需求,來介紹邏輯迴歸算法的實際應用。

一、需求背景

基於現有用戶的下單情況,來預測新用戶的下單的可能性。

二、特徵圈定

首先我們要根據經驗圈定出可能對用戶下單產生影響的特徵。

我們可以將相關特徵分為通用特徵和業務特徵。通用特徵即無論分析何種場景都可以參考的特徵,業務特徵指僅適用於具體分析場景的特徵。

因為此次分析的場景是:分析用戶租賃汽車類出行工具的可能性,其相關特徵可以從如下幾方面考慮。

通用特徵:

業務特徵:

對於汽車租賃類產品,用戶租賃的目的一是日常上下班代步,二是節假日出行。

那麼基於上下班代步需求,他的業務特徵可以是:

而節假日出行,可提煉的特徵:

除此之外,還有一種特徵我們也需要考慮:APP用戶行為。

三、特徵數據獲得

“巧婦難為無米之炊”,要想做數據挖掘前提必然是有足夠的數據源,而數據的獲得可以分為自有和外採兩類。

對於大部分的通用特徵,我們往往通過註冊、身份認證等渠道可以讓用戶主動給提供。而經濟水平特徵的獲得可以通過短信分析,若用戶未授權的短信權限的話,也可以通過所居住小區的平均房價預估用戶經濟水平。用戶小區通過夜間GPS定位判斷,房價則可以通過爬蟲獲得。

業務特徵中的APP用戶行為,可以通過APP埋點獲得,用戶的訪問路徑:註冊-登錄-首頁-車輛列表頁-車輛詳情頁-預訂頁-支付頁等等。而通勤距離時間、節假日出行這些數據,可以通過向第三方採購。移動聯通這種通訊公司往往可以通過信號基站獲得用戶的這類數據。

四、建立基模

我們圈定了憑經驗推測的特徵數據後,就可以進行建模了。上述的特徵雖說是我們全憑經驗所得,並不一定都會影響用戶下單。即使有所關聯,其相關程度也會分個三六九等,而且可能特徵與特徵之間也會有一定的相關性,所有這些問題,我們後續都需要進行相應處理。

但是這些並不影響,我們先用所有特徵構建一個基礎模型,得到最原始的擬合情況,作為我們後續不斷調整的一個參照組。

五、特徵工程

1. 數據標準化

很多算法對特徵的數量級都是敏感的,邏輯迴歸也不例外。因此,我們最好將數據集中的特徵轉換成相同的量綱,從而消除不同量綱對算法造成的負面影響,我們將這個過程稱為數據標準化。

實際上,即使原本數據的量綱已經是一樣的了,多一步標準化也不會產生負面影響。

在scikit-learn中,常用的標準化方式為:

  • 均值標準差標準化(StandardScaler)
  • 最小最大值標準化(MinMaxScaler)

2. 去除多重共線性

在多元線性迴歸中,自變量與應變量應該要存在線性關係,但是如果自變量之間存在線性關係,那麼這種情況我們就稱之為多重共線性。多重共線性會造成權重的不穩定性,甚至會出現擬合後的權重與相關係數呈現相反的結果。

不過多重共線性並不會影響擬合優度,如果我們僅追求模型的擬合優度,而不考慮權重係數的大小,則可以不處理多重共線性。

我們一般使用方差膨脹係數(VIF)來檢測多元線性迴歸中的多重共線性。如果變量之間存在多重共線性,則得到的VIF值就會較高,當VIF值大於10時,就意味著存在嚴重的多重共線性。

VIF的計算我們可以直接調用python的statsmodels.stats.outliers_influence 包裡的variance_inflationfactor方法。

3. RFECV特徵選擇法

在建立模型時,特徵並非越多越好,有些特徵可能對模型質量沒有什麼改善,我們可以直接刪除這類特徵,所以特徵選擇是建模非常重要的一個環節。

特徵選擇的方法很多,這次我們介紹RFECV方法。

RFECV分成兩個部分:

  1. RFE:遞歸特徵消除,用來對特徵進行重要性評級
  2. CV:交叉驗證,在特徵評級後,通過交叉驗證,獲得最佳數量的特徵

其具體過程如下:

RFE階段:

  1. 初始的特徵集(若之前操作有進行特徵刪除,則最新的特徵為初始特徵集)作為所有可用的特徵
  2. 使用當前特徵進行建模,然後計算每個特徵的重要性
  3. 刪除最不重要的一個(或多個特徵),更新特徵集
  4. 跳轉到步驟2,直到完成所有的特徵重要性評級

CV階段:

  1. 根據RFE階段確定的特徵重要性,依次選擇不同數量的特徵
  2. 對選定的特徵進行交叉驗證
  3. 確定平均分最高的特徵數量,完成特徵選擇

在上述多步清洗操作過程中,我們可以每完成一個環節,看一下新模型的擬合優度。有時候處理的步驟並非越多,擬合優度就越好。我們可以根據實際需要,選擇合適擬合優度的模型,對那些未下單用戶進行預估,得到其最終下單的可能性。

#專欄作家#

唐豪傑,人人都是產品經理專欄作家,微信公眾號:弈囈(ID:YiYi_TANG7980),互聯網運營從業

本文由 @唐豪傑 原創發佈於人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基於 CC0 協議


分享到:


相關文章: