数据挖掘竞赛-员工离职预测训练赛
生活随笔
收集整理的這篇文章主要介紹了
数据挖掘竞赛-员工离职预测训练赛
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
員工離職預測
簡介
DC的一道回歸預測題。是比較基礎的分類問題,主要對邏輯回歸算法的使用。核心思路為屬性構造+邏輯回歸。
過程
數據獲取
報名參與比賽即可獲得數據集的百度網盤地址,這個比賽時間很久,隨時可以報名。
數據探索
- 無關項
- EmployeeNumber為編號,對建模是干擾項,刪除即可。
- StandardHours和Over18全數據集固定值,沒有意義,刪除。
- 相關性高
- 相關圖
可以發現,有兩項相關性極高,刪除其中一個MonthlyIncome。
數據預處理
- one-hot編碼
- 對幾個固定幾個取字符串值的特征進行one-hot編碼
- 屬性構造
- 特征數目較少,暴力拼接不同屬性,構造新屬性
數據挖掘建模
既是回歸賽又是分類題,很明顯就是使用邏輯回歸(LR)模型。但是還是使用未調參的幾個基礎模型進行交叉驗證,發現LR較高,加上其他模型調參麻煩,就沒有多加研究。
# 多模型交叉驗證 from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier, GradientBoostingClassifier import sklearn.neural_network as sk_nn from sklearn.model_selection import cross_val_score models = {'LR': LogisticRegression(solver='liblinear', penalty='l2', C=1),'SVM': SVC(C=1, gamma='auto'),'DT': DecisionTreeClassifier(),'RF' : RandomForestClassifier(n_estimators=100),'AdaBoost': AdaBoostClassifier(n_estimators=100),'GBDT': GradientBoostingClassifier(n_estimators=100),'NN': sk_nn.MLPClassifier(activation='relu',solver='adam',alpha=0.0001,learning_rate='adaptive',learning_rate_init=0.001, max_iter=1000) }for k, clf in models.items():print("the model is {}".format(k))scores = cross_val_score(clf, x_train, y_train, cv=10)print(scores)print("Mean accuracy is {}".format(np.mean(scores)))print("*" * 100)對LR模型進行網格搜索調參,發現默認參數即可有不錯的平臺驗證率。
# 網格搜索調參 from sklearn.model_selection import GridSearchCV from sklearn.linear_model import LogisticRegression penaltys = ['l1', 'l2'] Cs = np.arange(1, 10, 0.1) parameters = dict(penalty=penaltys, C=Cs ) lr_penalty= LogisticRegression(solver='liblinear') grid= GridSearchCV(lr_penalty, parameters,cv=10) grid.fit(x_train,y_train) grid.cv_results_ print(grid.best_score_) print(grid.best_params_)補充說明
其實XgBoost和RF可能效果更好一些,但是由于一些原因,沒有深究,有興趣的可以進一步研究,最高的貌似研究有0.92以上通過率了。具體數據集和代碼可以在我的Github找到,result.csv即為提交文件。附上提交時的平臺分數和排名(22/1808)。
總結
以上是生活随笔為你收集整理的数据挖掘竞赛-员工离职预测训练赛的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Markdown-数学公式语法
- 下一篇: Markdown-基础语法