• 沒有找到結果。

hybrid appro

工作的「離職 衍伸出「待

月1 日離職 間為2 個月

圖 3.2

ta Reducti

來自於求職

tribute 逐一

Solve the

而一般求職 要分析短期 有imbalance 包括成本敏感

Class Imb

職者在找到一

balance Pr

一份新工作 況,會造成 生。

sensitive le g、增加取樣

roblem)

作時,短期間 成分類的數量

earning)[5]和 樣 oversamp

經歷

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

1. 成本敏感學習:正負例分別給定不同的錯誤分類成本,以減少整體分類 所花的成本,缺點是需要使用者自行定義不同目標類別的錯誤分類成本,

當使用者判斷力不足時,則無法訂出適當的錯誤成本。

2. 減少取樣:舉例來說,假設有一組資料包含 100 個負例(少數類別)和 1000 個正例(多數類別)的資料,減少取樣就是從 1000 個負例中隨機選出 100 個和正例個數相同的為訓練資料,缺點是可能造成有些有用的負例未被 選到,解決方法就是做很多次,最後再歸納出來。

3. 增加取樣:複製正例直到數量和負例相同,優點是確保在決策邊緣的例 子不會被修剪掉,缺點是當有noisy data 時,會導致過度配適,解決方 法是在訓練時不要加入任何新的訊息。

4. 混合方法:是結合減少取樣(藉由隨機二段抽樣產生)和增加取樣(重複已 經存在的正例或是在鄰近產生新的正例)。

本研究因資料集不平衡,且不希望在決策邊緣的資料被修剪掉,故採增加取 樣方式來平衡資料,增加取樣最著名的抽樣法便是SMOTE[7]演算法,利用 SMOTE 演算法使訓練資料裡的少數類別數量增加至和多數類別相近。

SMOTE 演算法:

利用 SMOTE 產生新訓練資料之示意圖如圖 3.3,設有參數(T, N, K, R),其中 T 代表少數類別的訓練資料筆數、N 代表少數類別增加的倍率、K 代表鄰居個數、

R 代表多數類別的訓練資料筆數,其演算法為針對少數類別的每筆訓練資料 xi,找 出其 K 個最近的鄰居,從 K 個最近的鄰居隨機抽樣 N 個鄰居,針對每個隨機抽樣 的鄰居 yi,計算位移difi=yi-xi,增加的訓練資料zi=xi+gap*difi(gap:隨機產生一介 於 0 至 1 之間的數字)

例:設 xi為(8,6),yi為(2,8),xi與 yi的差異值 dif=(2,8)−(8,6)=(-6,2);

設取得的 gap 是 0.4,則 xi為(8,6)+0.4×(-6,2)=(5.6,6.8)。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 3.3 利用 SMOTE 產生新訓練資料示意圖

將原本的求職者基本資料表、學歷資料表以及經歷資料表,經過上述Data Preprocessing 之後,產生一個新的轉職資料表,共有 44 個欄位,詳如表 3.11;

後續的各項轉職分析,則按照需要選取各個屬性來使用。

表 3.11 彙整所有新增屬性的轉職資料表

中文名稱 欄位名稱 欄位型態 長度 說明

主鍵 pkey bigint 20 主鍵

個人編號 id_no bigint 20 資料關聯用

性別 sex tinyint 1 1=男、0=女

生日 birthday date 10 格式:yyyy-MM-dd

所屬世代 generation tinyint 1 3=30 世代、4=40 世代、5=50 世 代、6=60 世代、7=70 世代、8=80 世代、9=90 世代

工作個數 seq tinyint 2 轉職者的第幾個工作

轉職次數 rownum tinyint 2 轉職者的第幾次轉職 原工作任職時間 stay_month1 int 4 原工作任職時間(月) 新工作任職時間 stay_month2 int 4 新工作任職時間(月) 年資(月) seniority_month int 4 轉職時累計工作年資(月) 年資(年) seniority_year float 6 轉職時累計工作年資(年) 轉職頻率 frequency float 6 平均一年換幾個工作

待業時間(月) wait_month int 4 從原公司轉至新公司經過的待 業時間(月)

所有資料

訓練資料

多數類別資料

少數類別資料

新的訓練資料

測試資料 分類

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

轉職前原職類(大類) job1 varchar 4 轉職前原工作所屬職務(大類) 轉職前原職類(中類) job_M1 varchar 7 轉職前原工作所屬職務(中類) 轉職前原職類(小類) job_S1 varchar 10 轉職前原工作所屬職務(小類) 轉職後新職類(大類) job2 varchar 4 轉職後新工作所屬職務(大類) 轉職後新職類(中類) job_M2 varchar 7 轉職後新工作所屬職務(中類) 轉職後新職類(小類) job_S2 varchar 10 轉職後新工作所屬職務(小類) 是否為相似工作 similar_job varchar 1 轉職前的原職類是否與轉職後

的新職類為同一個職類大類,T=

是、F=否

轉職前原產業(大類) industry1 varchar 4 轉職前原工作所屬產業(大類) 轉職前原產業(中類) industry_M1 varchar 7 轉職前原工作所屬產業(中類) 轉職前原產業(小類) industry_S1 varchar 10 轉職前原工作所屬產業(小類) 轉職後新產業(大類) industry2 varchar 4 轉職後新工作屬於產業(大類) 轉職後新產業(中類) industry_M2 varchar 7 轉職後新工作屬於產業(中類) 轉職後新產業(小類) industry_S2 varchar 10 轉職後新工作屬於產業(小類) 是否為相似產業 similar_industry varchar 1 轉職前的工作所屬產業是否與 轉職後的工作所屬產業為同一 個產業大類,T=是、F=否 轉職前原公司規模 size1 tinyint 1 轉職前原公司的公司規模大

小,1=1~30 人、2=30~500 人、

3=500 人以上

轉職後新公司規模 size2 tinyint 1 轉職後新公司的公司規模大 小,1=1~30 人、2=30~500 人、

3=500 人以上

公司規模是否相似 trans_size varchar 2 轉職前後兩公司規模是否相 似,S2S=小轉小、S2M=小轉中、

S2L=小轉大、M2S=中轉小、

M2M=中轉中、M2L=中轉大、

L2S=大轉小、L2M=大轉中、

L2L=大轉大

學歷 degree tinyint 1 轉職者畢業的最高學歷:1=博

士、2=碩士、3=大學、四技、二 技、4=二專、三專、五專、5=

高中、高職、6=國中含以下 學校代碼 school varchar 4 轉職者畢業最高學歷的所屬學

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

科系代碼(大類) major varchar 4 轉職者畢業最高學歷科系 (大類)

科系代碼(中類) major_M varchar 7 轉職者畢業最高學歷科系 (中類)

原公司任職日期 start_date1 date 10 格式:yyyy-MM-dd 原公司離職日期 end_date1 date 10 格式:yyyy-MM-dd 新公司任職日期 start_date2 date 10 格式:yyyy-MM-dd 新公司離職日期 end_date2 date 10 格式:yyyy-MM-dd 原公司任職月份 start_month1 varchar 2 格式:MM

原公司離職月份 end_month1 varchar 2 格式:MM 新公司任職月份 start_month2 varchar 2 格式:MM 新公司離職月份 end_ month2 varchar 2 格式:MM

原工作任職時年齡 start_age1 tinyint 2 原工作任職日期 – 生日 原工作任職時

年齡區間

start_age_range1 varchar 5 顯示原工作任職當時年齡為:

20~29、30~39、40~49、50~59 或60~69

原工作離職時年齡 end_age1 tinyint 2 原工作離職日期 – 生日 原工作離職時

年齡區間

end_age_range1 varchar 5 顯示原工作離職當時年齡為:

20~29、30~39、40~49、50~59 或60~69

新工作任職時年齡 start_age2 tinyint 2 新工作任職日期 – 生日 新工作任職時

年齡區間

start_age_range2 varchar 5 顯示新工作任職當時年齡為:

20~29、30~39、40~49、50~59 或60~69

新工作離職時年齡 end_age2 tinyint 2 新工作離職日期 – 生日 新工作離職時

年齡區間

end_age_range2 varchar 5 顯示新工作離職當時年齡為:

20~29、30~39、40~49、50~59 或60~69

在原公司 三個月內離職

old_stay_lte_3 varchar 1 T=是、F=否 在新公司

三個月內離職

new_stay_lte_3 varchar 1 T=是、F=否 是否一年轉職3 次或

更多

frequency_gte_3 varchar 1 T=是、F=否

(3)leaf no

決策樹演

stance 裡的某

成(參考圖 3

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

屬世代

class label。

向下遞迴式分 hod 來建樹

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

相關文件