天天看點

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

本文來自AI新媒體量子位(QbitAI)

Kickstarter是一家美國的衆籌平台。自2009年成立至今,已經有36萬餘個衆籌項目在平台上立項,總共籌集到30多億美元的項目衆籌款。其中,衆籌項目的成功率為35.83%。

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

△ 圖檔來自Kickstarter官網

這篇文章中,iOS開發人員Shrikar将用機器學習預測Kickstarter上項目衆籌成功的可能性。它也能幫助發起人調整項目的名稱、描述、關鍵詞以及募集資金數,使衆籌成功的可能性最大。用上傳圖檔的圖像特征提高模型的準确率非常奏效,你可以在Kaggle中擷取到這些資料集。

Kaggle資料集位址:

https://www.kaggle.com/codename007/funding-successful-projects

幾乎所有機器學習問題都會從挖掘資料并且試圖了解更多資訊開始,我們也不例外。

Kickstarter中需要募集的資訊大緻有如下幾類:

1.Project_id:項目的唯一識别符

2.name:衆籌項目名稱

3.desc:項目描述

4.keywords:項目關鍵詞

5.disable_communication: 通訊狀态

6.country:項目所在國家

7.currency:計劃衆籌資金

8.deadline:衆籌截止日期

9.state_changed_at:狀态變更

10、created_at:成功後項目開始日期

11.launched:項目計劃完成日期

12.backers_count: 贊助人數量

13.final_status: 目标變量

我們需要加入一些特征來建立機器學習模型,duration和cleaned_text就是很好的選擇。下面我們将拟添加特征羅列出來:

all_text:項目名稱+描述+關鍵詞(需除去連字元)

duration:項目總持續時間

days_status_changed:改變後到截止時的日期數

cleaned_text:删除标點并且隻留文本

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

△ 以國家為标準劃分Kickstarter上的項目

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

△ 以國家标準劃分的項目是否衆籌成功

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

△ 項目中的最高籌集金額

scikit-learn提供了一種極好的特征可以用來構模組化型,也就是我們常說的管道(Pipeline)。本案例中既有文本特征也有數值,是以我們需要有差別地轉換它們。

首先,我們需要看看在被機器學習算法使用前,如何用特征聯合(feature union)合并特征。

為了用特征聯合合并,我們需要建立幾個轉換器混入(mixin)。這些混入可以使我們從計算機中提取某些列,并将它們傳遞給不同的轉換器。

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

我們看看怎樣構模組化型并安裝管道。

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

結果如下:

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

在這種情況下,目标類是不平衡的:

衆籌項目能否成功?用機器學習預測可以早知道建立資料特征工程試探性資料分析(EDA)

是以我們如果總是預測輸出為0,那麼将糾正(73568)/(73568+34561)≈68%的情況。模型能以目前86%的準确度來學習,我們基本上就能放心了。如果出現不平衡的情況,可以用AUC曲線(Area Under Curve)評估模型。

如要進一步探索,請移步GitHub代碼區:

https://github.com/sarchak/MachineLearningNotebooks

【完】

本文作者:安妮 

原文釋出時間:2017-07-17

繼續閱讀