日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据挖掘竞赛-员工离职预测训练赛

發布時間:2024/4/11 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据挖掘竞赛-员工离职预测训练赛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

員工離職預測

簡介

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)。

總結

以上是生活随笔為你收集整理的数据挖掘竞赛-员工离职预测训练赛的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。