• 沒有找到結果。

(3)leaf no

決策樹演

stance 裡的某

成(參考圖 3

nd Conquer e_list 和 Att _list 為描述 的attribute 提 性選擇指標如 如Informati

屬世代

class label。

向下遞迴式分 hod 來建樹

使其對選擇類 gini index 代求職者 

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

中gini index 會強制所建的樹為一個二元樹,Information gain 則允許有多個節點。

在產生決策樹的過程中,建樹與修剪樹是很重要的工作。在進行建樹前必需確認 所有的屬性都屬nominal,如果有 numeric,必須先做 discretization。一開始所有 訓練資料通通都放在根部,接著再根據所選擇的測試條件將訓練樣本分成不同的 子集合,若是分在某子集合內之訓練樣本全屬於同一個分類標記,則產生一個葉 節點代表這群樣本分類標記,結束分類動作,否則重複選取測試條件,直到所有 樣本都可以分成屬於同一分類標記的子集合為止,樹就建好了。

樹建好之後要再進行修剪,也就是找出並移除noise 資料和離群值,因為所 建立的樹狀結構可能會有過度配適的問題,所以必須修剪決策樹的一些枝葉,以 避免因過度配適影響結果,修剪可分為預先修剪或事後修剪。預先修剪就是提早 停止決策樹生長,在決策樹建立前就要先設定好一個門檻值以停止決策樹生長,

當分支節點滿足該門檻值的設定,就停止該分支繼續生長,那麼末端節點就是樹 的leaf node。相反的,事後修剪是先建立一個完整的樹,再一邊修剪一邊檢驗,

倘將某分支移除後不會降低準確度的話,則剪去該分枝,到最後未被移除的分支 節點就是leaf node。

3.4 Naïve Bayesian Classifier

Naïve Bayesian Classifier[10]其原理主要是根據貝氏定理(Bayesian Theorem),

利用事件發生機率來推測未知資料之類別,並假設各屬性彼此間是互相獨立的,

以此來預測分類的結果。

貝氏定理係假設試驗E 的樣本空間為 S,A、B 為 E 的事件,事件 A 發生的 機率記為P(A),事件 B 發生的機率記為 P(B),事件 A 和 B 同時出現的機率記為 P(AB),在 A 已發生的條件下, B 發生的機率稱為 A 發生的條件下事件 B 發生 的條件機率,記為P(B|A)P(AB)/P(A),設X 為一個資料值組,H 為某個假設,

Naïve Bayesian Classifier 的步驟如下:

1. 設 D 為包含類別標籤的訓練資料值組集合,每一個值組由 n 維屬性向量組 成, X=(x1,x2,..xn),從 n 個屬性描繪 n 測量值,分別為 A1,A2…An。

2. 假設有 m 個類別為 C1,C2,…Cm,給定一個值組 X,分類器會將一個已知 X 屬於某個類別的事後機率最大化,所以Naïve Bayesian Classifier 預測當 P(Ci│X)>P(Cj│X)時,值組 X 屬於類別 Ci,其中i≦j≦m, j≠i。對於類別 Ci

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

3.5 Logistic Regression

線性迴歸模型主要是用來處理連續值函數,廣義的迴歸模型則可以用來處 理類別變數,其中最常見的就是 logistic regression[11],其類似一般線性迴歸,惟 可分析二元變數的資料。

除了預測獨立變數的值外,logistic regression 亦會計算出該獨立變數的機 率值 P,舉例來說,logistic regression 要預測該公司信用貸款有無風險時,會算 出其無風險之機率值 P,現在一般也都是依該機率值 P 來做決定,如果算出來的 機率值>0.5,代表 yes,也就是預測為無風險,反之則代表有風險,這個機率值 P 稱做 success probability。

當模型的輸出變數為二元類別時,可使用 logistic regression,假設有一輸 出值 Y 有 2 個可能類別值編碼為 0 和 1,可以計算其機率值為 P(yi=0)=1-pj 和 P(yi=1)=Pj,和這些機率值配適的模型稱做 linear regression:

log(

j j

P P

1 )=f(x)=β01xi1+…+βikxnj,將相關資料帶入後即可得到 Pj

3.6 Support Vector Machine

SVM[12]是根據統計學習理論為根基,處理高維度的資料,利用一個非線性 轉換將原始資料對應至較高維度資料,之後在較高維度中藉由支持向量與邊界 (Margin)來找出最佳線性分隔之超平面(Hyperplane),也就是 maximum marginal hyperplane,因為其具有較高的分類準確性。目前 SVM 已被廣泛運用至一般生活 中,例如手寫數字識別、物件識別等。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

3.7 AdaBoost

Boosting 指對每個訓練資料皆會給一個權重,產生 k 個判別模型進行學習,

第i 次模型 Mi會對模型判決錯誤的值組進行權重調整,使下一個判別模型Mi+1 能以更多關注力去注意那些判別錯誤的值組,最後把未知值組代入k 個模型依不 同權重進行判別。

Adaboost[13]是一個常用的 boosting algorithm,假設資料 D 包含 d 個值組為 (X1,y1),(X2,y2),…,(Xd,yd),其中 yi是Xi的類別,Adaboost 對每個測試值組一開始時 都給定一個1/d 之權重,根據 D 值組權重在第 i 回合使用取出放回產生訓練樣本 Di, 利用訓練樣本Di產生模型Mi,然後計算Mi的錯誤率,

d

j

j j

i w err x

M

error( ) ( ),

如果錯誤率>0.5,則捨棄模型 Mi,重新產生d 個值組,再產生新的模型 Mi,模型 Mi確定後,將判別正確值組的權重乘上error(Mi)/(1error(Mi)),之後再對所有值 組的權重予以正規化,也就是透過將每個值組的權重乘以調整前權重的總和除以調 整後權重的總和,以使調整前和調整後的權重總和相同。判別未知值組X 時,將所 有預測的判別類別之權重加總,最高權重的類別即為X 的類別。

3.8 Random Forest

Random Forest[14]中其每個樹的構造是使用下列演算法:

1. 設訓練案例數為 N,分類的變量是M,藉由輸入變數 m 來決定一個樹的節 點,其中m要小於M。

2. 藉由從所有 N 的訓練案例更換選擇N次,來對這棵樹選擇一個測試集,使 用其餘的案例藉由預測他們的類別來估計樹的error。

3. 對於每個節點的樹,根基於節點的決定來隨機選擇 m 變量,在訓練集裡藉 由變數m計算最佳的分裂點。

4. 每個樹是完全成長都不需修剪。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第四章 實驗

4.1 實驗資料

本研究的實驗分為兩個階段,第一個階段為轉職高峰期、工作轉換頻率分析、

跨職類轉職、跨產業轉職、轉職與景氣關係的實驗,這部份的資料來源是採用國 內某知名人力銀行的履歷資料庫,先針對這些資料先進行Data Preprocessing,再 彙整成如表3.11 的轉職資料表,轉職者轉職實驗樣本筆數為 2,918,709 筆。

第二個階段是利用資料探勘方法進行轉職行為分析,分別判斷是否在到職不 久後會在短期之內離職,讓求職者知道以自己本身的條件是否能順利轉職成功;

另外也判斷轉職者一年內的轉職次數是否過高,讓求才廠商能看出轉職頻率高的 求職者都有哪些相同的特質。

4.2 實驗方法

本實驗方法採用J48、Naïve Bayesian Classifier、Logistic Regression、Support Vector Machines、AdaBoost、Random Forest 等分類方法,分別建立模型並測試 準確率,其中訓練資料先利用SMOTE 方法使訓練資料 balance 後,再針對產業 大類:電子資訊/軟體/半導體相關業和產業中類:軟體及網路相關業分別實驗,

並依3 個月內離職和一年內轉職達 3 次的資料比較是否有差異。

select end_

from career group by en 月份任職狀況

select start_

from career group by st

峰期、工作轉

_month1 lea r_data nd_month1 況:

_month2 sta r_data

ave_month, order by en art_month, c 2 order by st

_month1) co

;

_month2) co 2;

相關文件