王宏平 馬雪靜 彭玉蛟 蔣劍軍



關鍵詞:大學生公益;人群畫像;KMeans聚類;t-SNE可視化;LightGBM模型
0 前言
改革開放以來,國家經濟科技等事業全面且快速發展的同時,公益事業也得到了國家和社會的重視[1],因此近年來各種公益協會、公益志愿服務隊等組織如雨后春筍般涌現。大學生公益社團及志愿服務組織是公益事業中不可或缺的組成部分,它們作為提升大學生綜合素質的載體,不僅可以提升大學生的學習能力,更能培養大學生的社會責任感[2]。
關于大學生參與公益活動的研究是當前的熱點[3~6]。為了更加細致深入地了解大學生參與公益活動情況,我們首先自主設計了“關于大學生認知及參與公益活動情況的調查問卷”,調查問卷采集到的數據讓我們掌握了大學生參與公益活動的第一手資料;然后提出了基于KMeans聚類模型的大學生典型公益人群分類模型,并應用t-SNE算法可視化分類效果;最后構建了基于LightGBM模型的大學生公益人群畫像體系。
1 數據
為了細致深入了解大學生參與公益活動情況,我們自主設計了“關于大學生認知及參與公益活動情況的調查問卷”,問卷包括了四個方面:(1) 受訪者基本信息——“性別”“專業”“年級”,共3個問題含15個選項;(2) 受訪者對公益的認知情況——“公益的概念認識”“對三大籌款平臺(水滴籌、輕松籌、無憂籌)的看法”,共2個問題含9個選項;(3) 受訪者對公益的參與情況——“騰訊公司發起并資助的相關活動的了解程度”“所在學校社團的公益活動開展情況”“是否參加過公益”“參加公益的地點、頻率、類型”“對何種類型最感興趣及原因”“參與公益的渠道”“影響參加公益活動熱情的因素”“參加公益的動機”“參加公益所獲得的收益”,共11個問題含81個選項。(4) 受訪者對公益的態度情況——“對公益活動持什么態度”“如何提高大學生公益活動的參與度”“阻礙參加公益活動的因素”“對公益活動持有的看法”,共4個問題含16 個選項。調查問卷編制完成后發布在騰訊問卷調查系統平臺上,歷時63天共收回問卷380份,其中有效問卷378份。
調查問卷中各問對應的因素都是定性的,根據研究目的,本文按下述方法對定性變量賦值:
(1) 對于單選題項,應用獨熱編碼方法賦值;
(2) 對于多選題項,應用多熱編碼方法賦值。
賦值完畢后,問卷中描述受訪者的20個定性變量編碼成了121個啞變量。這121個啞變量將用于本文的聚類分析及大學生典型公益人群畫像。
數據已上傳百度網盤,鏈接:https://pan.baidu.com/s/1lMc7cUh5JuELTGa6kAR TcA?pwd=78ny
2 人群畫像模型構建
人群畫像,意指根據某些指標對人群進行分類,然后描述各類的特征。
本文構建人群畫像模型的路線是:首先引入KMeans聚類模型對大學生公益人群進行分類,然后利用t-SNE 降維算法可視化分類效果,最后應用LightGBM模型提取特征的重要性,以將某類和其他類區別開來,凸顯本類的特征。
2.1 KMeans 算法
KMeans聚類是無監督機器學習方法,因其算法思想簡單易懂、分類效果相對優良而受到廣泛應用[7-8]。
設有m 個待分類對象X1,X2,…,Xm,他們由n 個特征來描述。m 個對象在n 個特征上的觀測值矩陣為(每一行是一個對象,每一列是一個特征)。
第四步,重復上述第二步和第三步,直到聚類中心的位置不再發生變化(或達到設定的迭代次數)為止。
本文應用KMeans聚類算法對大學生公益人群進行分類。
2.2 t-SNE 算法
t-SNE[9] 全稱為t-distributed Stochastic NeighborEmbedding,翻譯為t-隨機鄰近嵌入,誕生于2008年,是一種較為新穎且效果優良的高維數據降維和可視化方法,是對SNE模型的明顯改進:(1) 通過引入聯合概率分布來計算兩個點之間的相似性,克服了SNE “用條件概率分布計算的兩點之間的相似性是非對稱的”不足;(2) 通過引入t 分布的長尾特性來改進SNE 模型對異常值敏感的缺陷,從而能較好地捕獲數據的整體特征。
本文應用t-SNE算法將378個成員的聚類結果可視化,觀察聚類效果。若聚類效果優良,則可對大學生公益人群進行畫像,從而實現對大學生參與公益活動情況的全面了解。若聚類效果不夠好,則調整聚類算法再次對大學生公益人群進行分類,直至聚類效果達到理想的效果為止。
2.3 LightGBM 模型
LightGBM 模型(輕梯度提升機器)是一種基于GBDT(梯度提升決策樹)的機器學習方法[10],是將弱學習器集成為強學習器的學習算法。它以回歸樹為弱學習器,通過使用每個預測結果與目標值的殘差作為下一個學習的目標,獲得當前殘差回歸樹,每棵樹都學習所有先前樹的結論與殘差,將多棵決策樹的結果加在一起作為最終預測輸出。利用直方圖算法對特征進行預排序,并利用節點展開方式進行樹的構建,是一種高效、高精度、高性能的分類算法。由于LightGBM模型使用決策樹作為基學習器,所以可記錄每個特征在樹節點中出現的次數。一個特征出現的次數越多說明其對分類作出的貢獻越大,即特征重要性可定義為該特征在所有樹中出現的次數和,即:
式中,IMXi 為特征Xi 的重要性,Ntrees 為模型構建的樹的棵數,n(i)j 為特征Xi在第j 棵樹中出現的次數。
本文應用LightGBM模型來提取大學生公益人群各類的特征,從而實現對大學生公益人群的畫像。
3 實驗及結果
3.1 大學生公益人群分類
應用Python機器學習庫的聚類模塊sklearn.clus?ter中的KMeans函數對378名受訪者進行聚類,設定類別數n_clusters=3,其他參數按默認值設定,聚類結果如表1所示。
應用t-SNE算法對上述結果可視化,如圖1所示。
從圖1看出,KMeans聚類效果優良,能明顯將三類人群分離開來。
3.2 大學生人群的類別特征
3.2.1 數據預處理
將K-means輸出的類別標簽添加至上述編碼后數據的最后一列,將類別標簽設定為被解釋變量Y,將編碼數據設定為解釋變量X。將上述處理過后的表格復制成三份,由于三類人群的類別標簽分別為0、1、2,即將第一份數據表中的類別2全部替換為類別1,將第二份數據表中的類別2全部替換類別0,將第三份數據表中的類別0全部替換類別1。
3.2.2 實驗
將處理后的三份數據表讀入Python 環境,應用LightGBM模型計算出每個類別區別于其余兩個類別的因素的重要性,通過比較重要性的大小以區分各類人群對公益活動的參與及認知情況所具有的特征。
(1) 數據分割
①讀入數據,對數據分離出自變量Y(第一列)與因變量X(第2-122列);
②應用sklearn.model_selection 模塊中的數據分割函數train_test_split,按測試集占比test_size=0.3 將數據Y 和X 隨機分割為訓練集和測試集。
(2) 建模應用Python第三方庫lightgbm中的分類器LGBM?Classifier函數,按默認參數建立模型。
(3) 訓練應用模型的fit方法將訓練集用于機器學習,訓練模型時按fit的默認參數進行。
(4) 測試集預測評估模型訓練完成之后,將測試集代入模型以對測試集對應的類別進行預測。
(5) 可視化特征重要性利用feature_importances_方法提取各題項下各選項的重要性,再運用plot_importance函數對重要性可視化。
3.2.3 實驗結果
應用LightGBM模型提取的各類人群特征重要性前10位如表2所示。
從圖2 可知,因素X44,X107 是明顯地能將第1 類(LightGBM輸出的標簽為0) 從其他兩類中區別開來,因素X35,X34 是明顯地能將第2類(LightGBM輸出的標簽為1) 從其他兩類中區別開來,因素X5,X9 是明顯地能將第3類(LightGBM輸出的標簽為2) 從其他兩類中區別開來。所以,因素X44,X107 是第1類人群所具有而其他兩類所不具有或不明顯具有的主要特征,X35,X34是第2類人群所具有而其他兩類所不具有或不明顯具有的主要特征,X5,X9 是第3類人群所具有而其他兩類所不具有或不明顯具有的主要特征。
4 大學生公益人群畫像
根據第三節數據分析結果,可對大學生公益人群進行如下畫像,見表4。
5 結束語
本文通過調查問卷獲得了大學生對公益的認知及參與情況的第一手資料,應用KMeans聚類、t-SNE 算法及LightGBM等機器學習方法構建了大學生公益人群的畫像體系。本文的研究結果為高校如何設計公益活動提供基于數據的建議,如何引導大學生參與到公益活動中來并推動大學生公益事業發展提供了新的視角。