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

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

生活随笔

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

编程问答

【Kaggle】Intermediate Machine Learning(管道+交叉验证)

發(fā)布時(shí)間:2024/7/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Kaggle】Intermediate Machine Learning(管道+交叉验证) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 4. Pipelines 管道
    • 5. Cross-Validation 交叉驗(yàn)證

上一篇:【Kaggle】Intermediate Machine Learning(缺失值+文字特征處理)
下一篇:【Kaggle】Intermediate Machine Learning(XGBoost + Data Leakage)

4. Pipelines 管道

該模塊可以把數(shù)據(jù)前處理+建模整合起來(lái)

好處:

  • 更清晰的代碼:在預(yù)處理的每個(gè)步驟中對(duì)數(shù)據(jù)的核算都可能變得混亂。使用管道,您無(wú)需在每個(gè)步驟中手動(dòng)跟蹤訓(xùn)練和驗(yàn)證數(shù)據(jù)。
  • 錯(cuò)誤更少:錯(cuò)誤地使用步驟或忘記預(yù)處理步驟的機(jī)會(huì)更少。
  • 易于生產(chǎn)部署
  • 對(duì)模型驗(yàn)證也有好處
  • 步驟1: 定義前處理步驟

    • 對(duì)缺失的數(shù)字?jǐn)?shù)據(jù),進(jìn)行插值
    • 對(duì)文字特征進(jìn)行one-hot編碼
    from sklearn.compose import ColumnTransformer from sklearn.pipeline import Pipeline from sklearn.impute import SimpleImputer from sklearn.preprocessing import OneHotEncoder# Preprocessing for numerical data 數(shù)字?jǐn)?shù)據(jù)插值 numerical_transformer = SimpleImputer(strategy='constant')# Preprocessing for categorical data 文字特征處理,插值+編碼轉(zhuǎn)換 categorical_transformer = Pipeline(steps=[('imputer', SimpleImputer(strategy='most_frequent')),('onehot', OneHotEncoder(handle_unknown='ignore')) ])# Bundle preprocessing for numerical and categorical data # 上面兩者合并起來(lái),形成完整的數(shù)據(jù)處理流程 preprocessor = ColumnTransformer(transformers=[('num', numerical_transformer, numerical_cols),('cat', categorical_transformer, categorical_cols)])

    步驟2: 定義模型

    from sklearn.ensemble import RandomForestRegressormodel = RandomForestRegressor(n_estimators=100, random_state=0)

    步驟3: 創(chuàng)建和評(píng)估管道

    我們使用Pipeline類(lèi)來(lái)定義將預(yù)處理和建模步驟捆綁在一起的管道。

    管道會(huì)在生成預(yù)測(cè)之前自動(dòng)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理(如果沒(méi)有管道,我們必須在進(jìn)行預(yù)測(cè)之前先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理)。

    # Bundle preprocessing and modeling code in a pipeline # 將 前處理管道 + 模型管道,再次疊加形成新管道 my_pipeline = Pipeline(steps=[('preprocessor', preprocessor),('model', model)])# Preprocessing of training data, fit model my_pipeline.fit(X_train, y_train)# Preprocessing of validation data, get predictions preds = my_pipeline.predict(X_valid) # 用定義好的pipeline 對(duì)test進(jìn)行預(yù)測(cè),提交,代碼很簡(jiǎn)潔,不易出錯(cuò) preds_test = my_pipeline.predict(X_test) # Save test predictions to file output = pd.DataFrame({'Id': X_test.index,'SalePrice': preds_test}) output.to_csv('submission.csv', index=False)

    You advanced 5,020 places on the leaderboard!
    Your submission scored 16459.13640, which is an improvement of your previous score of 16619.07644. Great job!
    誤差有點(diǎn)提升,哈哈,加油!🚀

    5. Cross-Validation 交叉驗(yàn)證

    交叉驗(yàn)證可以更好的驗(yàn)證模型,把數(shù)據(jù)分成幾份(Folds),依次選取一份作為驗(yàn)證集,其余的用來(lái)訓(xùn)練,顯然交叉驗(yàn)證會(huì)花費(fèi)更多的時(shí)間

    如何選擇是否使用:

    • 對(duì)于較小的數(shù)據(jù)集,不需要太多的計(jì)算負(fù)擔(dān),則應(yīng)運(yùn)行交叉驗(yàn)證

    • 對(duì)于較大的數(shù)據(jù)集,單個(gè)驗(yàn)證集就足夠了,因?yàn)閿?shù)據(jù)足夠多了,交叉驗(yàn)證花費(fèi)的時(shí)間成本變大

    • 沒(méi)有簡(jiǎn)單的準(zhǔn)則,如果模型花費(fèi)幾分鐘或更短的時(shí)間來(lái)運(yùn)行,那就使用交叉驗(yàn)證吧

    • 可以運(yùn)行交叉驗(yàn)證,看看每個(gè)實(shí)驗(yàn)的分?jǐn)?shù)是否接近。如果每個(gè)實(shí)驗(yàn)產(chǎn)生相同的結(jié)果,則單個(gè)驗(yàn)證集可能就足夠了

    from sklearn.ensemble import RandomForestRegressor from sklearn.pipeline import Pipeline from sklearn.impute import SimpleImputermy_pipeline = Pipeline(steps=[('preprocessor', SimpleImputer()),('model', RandomForestRegressor(n_estimators=50,random_state=0)) ]) from sklearn.model_selection import cross_val_score # Multiply by -1 since sklearn calculates *negative* MAE scores = -1 * cross_val_score(my_pipeline, X, y,cv=5,scoring='neg_mean_absolute_error') print("MAE scores:\n", scores) print("Average MAE score (across experiments):") print(scores.mean()) # 樹(shù)的棵數(shù)不同情況下,交叉驗(yàn)證的得分均值 def get_score(n_estimators):"""Return the average MAE over 3 CV folds of random forest model.Keyword argument:n_estimators -- the number of trees in the forest"""my_pipeline = Pipeline(steps=[('preprocessing',SimpleImputer()),('model',RandomForestRegressor(n_estimators=n_estimators,random_state=0))])scores = -1*cross_val_score(my_pipeline,X,y,cv=3,scoring='neg_mean_absolute_error')return scores.mean()results = {} for i in range(1,9):# 獲取樹(shù)的棵樹(shù)是50100,。。。,400時(shí),模型的效果results[50*i] = get_score(50*i) # 可視化不同參數(shù)下的模型效果 import matplotlib.pyplot as plt %matplotlib inlineplt.plot(list(results.keys()), list(results.values())) plt.show() n_estimators_best = min(results, key=results.get) #最合適的參數(shù)


    還可以通過(guò) sklearn.model_selection.GridSearchCV 網(wǎng)格式搜索最佳的參數(shù)


    上一篇:【Kaggle】Intermediate Machine Learning(缺失值+文字特征處理)
    下一篇:【Kaggle】Intermediate Machine Learning(XGBoost + Data Leakage)

    總結(jié)

    以上是生活随笔為你收集整理的【Kaggle】Intermediate Machine Learning(管道+交叉验证)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

    主站蜘蛛池模板: 久久狠 | 青青草视频在线免费观看 | 宅男噜噜噜666在线观看 | 日b视频免费看 | 假日游船法国满天星 | 国产激情一区二区三区四区 | 亚洲理论在线 | 91成人在线免费观看 | 欧美成人做爰猛烈床戏 | 美女扒开腿让男人 | 激情av一区 | 国产无玛 | 免费观看一级视频 | 毛片免费全部无码播放 | 免费观看色| av黄色免费观看 | 久久成人免费网站 | 亚洲av永久无码精品 | 99精品久久 | 热热色av | 艳妇臀荡乳欲伦交换h漫 | 午夜在线视频免费 | 欧美色哟哟 | 日韩午夜在线视频 | 夜夜爽av福利精品导航 | 久久精品国产一区二区 | 午夜美女视频 | 人妻无码中文久久久久专区 | 亚洲日本精品 | 亚洲成人视屏 | 女人被灌满精子 | 少妇一晚三次一区二区三区 | 都市激情国产精品 | 自拍偷拍免费 | 91网址在线播放 | 午夜精品少妇 | 色哥网 | 在线午夜电影 | 久久这里只有精品首页 | 日本在线观看视频网站 | 亚洲精选国产 | 久久久这里有精品 | www.精品在线 | 欧美色图国产精品 | 乱一色一乱一性一视频 | 日韩精品一区二区在线观看 | jvid在线 | 亚洲高清久久 | 一级片av | 一起草视频在线播放 | 大香伊人久久 | 国产清纯白嫩初高中在线观看性色 | 日韩中文字幕不卡 | 韩国三级中文字幕 | 国产一区二区三区四区精 | 日批视频免费观看 | 亚洲v欧美v另类v综合v日韩v | 丁香伊人网 | 天天射天天干天天色 | av2014天堂| 国产69精品久久久久999小说 | 永久免费的网站入口 | 天天草天天射 | 懂色av一区二区三区在线播放 | 免费日本黄色 | 久久99一区 | 天堂在线视频 | 日韩在线观看免费高清 | 久久国产乱子 | 亚洲淫 | 人人色网| 日韩激情视频在线观看 | 中文字幕一区二区在线播放 | 久久视频在线 | 国产精品国产三级国产在线观看 | 国产精品剧情av | 黄色三级免费观看 | 97精品超碰一区二区三区 | 天天玩夜夜操 | 理论av | 怡红院精品视频 | 精品久久久久久久 | 原创真实夫妻啪啪av | 成人爽a毛片一区二区免费 日本高清免费看 | 欧美日韩精品一区 | 97人妻精品一区二区三区软件 | eeuss鲁丝片一区二区三区 | 欧美精品色婷婷五月综合 | 白浆在线播放 | 亚洲一区影视 | 91亚洲高清 | 亚洲最大av网站 | 精品无码人妻一区二区免费蜜桃 | 亚洲午夜激情 | 成人免费黄色大片 | 日本一区二区三区免费观看 | 6699嫩草久久久精品影院 | 国产精品久久久久蜜臀 | 免费黄色的网站 |