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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

員工離職預(yù)測(cè)

簡(jiǎn)介

DC的一道回歸預(yù)測(cè)題。是比較基礎(chǔ)的分類(lèi)問(wèn)題,主要對(duì)邏輯回歸算法的使用。核心思路為屬性構(gòu)造+邏輯回歸

過(guò)程

數(shù)據(jù)獲取

報(bào)名參與比賽即可獲得數(shù)據(jù)集的百度網(wǎng)盤(pán)地址,這個(gè)比賽時(shí)間很久,隨時(shí)可以報(bào)名。

數(shù)據(jù)探索

  • 無(wú)關(guān)項(xiàng)
    • EmployeeNumber為編號(hào),對(duì)建模是干擾項(xiàng),刪除即可。
    • StandardHours和Over18全數(shù)據(jù)集固定值,沒(méi)有意義,刪除。
    • 相關(guān)性高
  • 相關(guān)圖

    可以發(fā)現(xiàn),有兩項(xiàng)相關(guān)性極高,刪除其中一個(gè)MonthlyIncome。

數(shù)據(jù)預(yù)處理

  • one-hot編碼
    • 對(duì)幾個(gè)固定幾個(gè)取字符串值的特征進(jìn)行one-hot編碼
  • 屬性構(gòu)造
    • 特征數(shù)目較少,暴力拼接不同屬性,構(gòu)造新屬性

數(shù)據(jù)挖掘建模

既是回歸賽又是分類(lèi)題,很明顯就是使用邏輯回歸(LR)模型。但是還是使用未調(diào)參的幾個(gè)基礎(chǔ)模型進(jìn)行交叉驗(yàn)證,發(fā)現(xiàn)LR較高,加上其他模型調(diào)參麻煩,就沒(méi)有多加研究。

# 多模型交叉驗(yàn)證 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)

對(duì)LR模型進(jìn)行網(wǎng)格搜索調(diào)參,發(fā)現(xiàn)默認(rèn)參數(shù)即可有不錯(cuò)的平臺(tái)驗(yàn)證率。

# 網(wǎng)格搜索調(diào)參 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_)

補(bǔ)充說(shuō)明

其實(shí)XgBoost和RF可能效果更好一些,但是由于一些原因,沒(méi)有深究,有興趣的可以進(jìn)一步研究,最高的貌似研究有0.92以上通過(guò)率了。具體數(shù)據(jù)集和代碼可以在我的Github找到,result.csv即為提交文件。附上提交時(shí)的平臺(tái)分?jǐn)?shù)和排名(22/1808)。

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。