{"id":3130,"date":"2023-01-24T10:10:02","date_gmt":"2023-01-24T01:10:02","guid":{"rendered":"https:\/\/blog.since2020.jp\/?p=3130"},"modified":"2023-08-14T16:48:50","modified_gmt":"2023-08-14T07:48:50","slug":"oputuna","status":"publish","type":"post","link":"https:\/\/since2020.jp\/media\/oputuna\/","title":{"rendered":"Optuna\u3092\u6d3b\u7528\u3057\u305flightGBM\u306e\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0"},"content":{"rendered":"\n<p>Optuna\u3092\u6d3b\u7528\u3057\u305flightGBM\u306e\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0<\/p>\n\n\n<h2>\u4e00\u756a\u7cbe\u5ea6\u304c\u9ad8\u304f\u8a08\u7b97\u91cf\u304c\u5c11\u306a\u3044\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0<\/h2>\n\u6a5f\u68b0\u5b66\u7fd2\u30e2\u30c7\u30eb\u306e\u5b9f\u88c5\u306e\u969b\u306b\u5fc5\u305a\u5fc5\u8981\u306b\u306a\u3063\u3066\u304f\u308b\u4f5c\u696d\u306b\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u4f5c\u696d\u304c\u3042\u308b\u3002\u3053\u308c\u3089\u306f\u3001\u5404\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u5024\u3092\u5909\u52d5\u3055\u305b\u4e00\u756a\u30e2\u30c7\u30eb\u7cbe\u5ea6\u306e\u9ad8\u3044\u5024\u3092\u63a2\u3059\u4f5c\u696d\u3067\u624b\u4f5c\u696d\u3067\u3084\u308b\u3068\u65e5\u304c\u66ae\u308c\u3066\u3057\u307e\u3046\u4f5c\u696d\u3067\u3042\u308b\u3002\u8fd1\u5e74\u3001\u30b0\u30ea\u30c3\u30c9\u30b5\u30fc\u30c1\u306a\u3069\u69d8\u3005\u306a\u30c1\u30fc\u30cb\u30f3\u30b0\u65b9\u6cd5\u304c\u3042\u308b\u304c\u4eca\u56de\u306f\u4e00\u756a\u7cbe\u5ea6\u304c\u9ad8\u304f\u8a08\u7b97\u91cf\u304c\u5c11\u306a\u3044Optuna\u3092\u6d3b\u7528\u3057\u305f\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3092\u7d39\u4ecb\u3059\u308b\u3002\u3053\u308c\u4ee5\u964d\u306e\u89e3\u8aac\u306f\u3001lightgbm\u3067\u306e\u5b9f\u88c5\u304c\u4e00\u901a\u308a\u5b8c\u6210\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u524d\u63d0\u306b\u89e3\u8aac\u3057\u307e\u3059\u3002\r\n\r\n<strong>\u3053\u3093\u306a\u4eba\u306b\u8aad\u3093\u3067\u307b\u3057\u3044<\/strong>\r\n\r\n&#8211; \u6700\u8fd1\u3001\u6a5f\u68b0\u5b66\u7fd2\u3084AI\u306e\u52c9\u5f37\u3092\u59cb\u3081\u305f\u65b9\r\n&#8211; Kaggle\u306a\u3069\u306e\u30c7\u30fc\u30bf\u5206\u6790\u30b3\u30f3\u30da\u3067\u4e0a\u4f4d\u3092\u76ee\u6307\u3057\u305f\u3044\u65b9\r\n&#8211; \u52b9\u7387\u306e\u826f\u3044\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u65b9\u6cd5\u3092\u77e5\u308a\u305f\u3044\u65b9\n\n<h2>\u5177\u4f53\u7684\u306a\u5b9f\u88c5\u65b9\u6cd51_\u5916\u90e8\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n\u4e0b\u8a18\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057Optuna\u306e\u5916\u90e8\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30fb\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u6ce8\u610f\u70b9\u3068\u3057\u3066\u3001Optuna\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408Lightgbm\u3092\u6271\u3046\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3082\u5909\u308f\u308b\u305f\u3081\u3001\u6c17\u3092\u3064\u3051\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u822c\u7684\u306alightgbm\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u306f\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306e\u5b9f\u88c5\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u4eca\u56de\u3001\u4ea4\u5dee\u691c\u8a3c\u3092\u884c\u3044\u306a\u304c\u3089\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3092\u3057\u3066\u3044\u304f\u306e\u3067\u3001sklearn\u306eKFold\u3082\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\n<div class=\"hcb_wrap\">\r\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>!pip install lightgbm \r\n!pip install optuna \r\n\r\nfrom sklearn.model_selection \r\nimport KFold \r\nimport optuna.integration.lightgbm as lgb<\/code><\/pre>\r\n<\/div>\n\n<h2>\u5177\u4f53\u7684\u306a\u5b9f\u88c5\u65b9\u6cd52_\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u6700\u9069\u5024\u306e\u63a2\u7d22<\/h2>\nlightgbm\u306e\u30e2\u30c7\u30eb\u5b9f\u88c5\u306e\u90e8\u5206\u3092\u4e0b\u8a18\u30ea\u30f3\u30af\u306b\u5909\u66f4\u3057\u307e\u3059\u3002params\u3067\u306f\u6700\u4f4e\u9650\u306e\u30e2\u30c7\u30eb\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002\u4eca\u56de\u306f\u56de\u5e30\u30e2\u30c7\u30eb\u3092mse\u3067\u8a55\u4fa1\u3057\u3066\u3044\u304f\u305f\u3081\u3001params\u3092\u4e0b\u8a18\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002 lgb.LightGBMTunerCV\u3067\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u6271\u3046\u30c7\u30fc\u30bf\u306e\u5ba3\u8a00\u3092\u3057\u3001tuner.run()\u3092\u5b9f\u884c\u3057\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u63a2\u7d22\u3092\u884c\u3044\u307e\u3059\u3002\u5b9f\u969b\u306b\u63a2\u7d22\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u6700\u9069\u5024\u306e\u8a73\u7d30\u306fbest_params\u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002\r\n<div class=\"hcb_wrap\">\r\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>params = {\r\n'objective': 'regression',\r\n'metric': 'mse',\r\n}<\/code><\/pre>\r\n<\/div>\r\n<strong># trainval\uff1a\u5b66\u7fd2\u7528\u30c7\u30fc\u30bf\u3068\u691c\u8a3c\u7528\u30c7\u30fc\u30bf\u3092lgb.Dataset()\u3067\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u5316\u3057\u305f\u3082\u306e\u3067\u3059\u3002<\/strong>\r\n<strong># folds=KFold(n_splits=3)\uff1a\u4ea4\u5dee\u691c\u8a3c\u3092\u884c\u3046\u8a2d\u5b9a\u3001n_splits\u3067\u5206\u5272\u6570\u3092\u8a2d\u5b9a<\/strong>\r\n<div class=\"hcb_wrap\">\r\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>tuner = lgb.LightGBMTunerCV(params, trainval,\r\nverbose_eval=100, early_stopping_rounds=100,\r\nfolds=KFold(n_splits=3))\r\ntuner.run()<\/code><\/pre>\r\n<\/div>\r\n<strong># \u30b5\u30fc\u30c1\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u8868\u793a<\/strong>\r\n<div class=\"hcb_wrap\">\r\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>best_params = tuner.best_params\r\nprint(\" Params: \")\r\nfor key, value in best_params.items():\r\nprint(\" {}: {}\".format(key, value))<\/code><\/pre>\r\n<\/div>\r\n\u3053\u3061\u3089\u304c\u5b9f\u969b\u306bbest_params\u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u308b\u5024\u3067\u3059\u3002\u4eca\u56de\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306b\u5bfe\u3057\u3066\u306e\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u6700\u9069\u5024\u304c\u3053\u306e\u3088\u3046\u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n\n<h2>\u5177\u4f53\u7684\u306a\u5b9f\u88c5\u65b9\u6cd53_\u6700\u9069\u306a\u30d1\u30e9\u30e1\u30fc\u30bf\u5024\u306e\u53cd\u6620<\/h2>\n\u5148\u307b\u3069\u898b\u3064\u3051\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u6700\u9069\u5024\u3092\u5b9f\u969b\u306e\u30e2\u30c7\u30eb\u5b9f\u88c5\u306b\u53cd\u6620\u3055\u305b\u307e\u3059\u3002\u4e0b\u8a18\u306e\u3088\u3046\u306blightgbm\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u8a2d\u5b9a\u3092\u3059\u308b\u7b87\u6240\u306bbest_params\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\r\n\r\n&nbsp;\r\n<div class=\"hcb_wrap\">\r\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>model = lgb.train(best_params, trains, valid_sets=valids,\r\nverbose_eval=100, early_stopping_rounds=100)<\/code><\/pre>\r\n<\/div>\n\n<h2>\u307e\u3068\u3081_\u4ea4\u5dee\u691c\u8a3c\u3067\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u63a2\u7d22\u304c\u7c21\u5358\u306b<\/h2>\n\u4eca\u56de\u306fOptuna\u3092\u6d3b\u7528\u3057\u305flightGBM\u306e\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u4ea4\u5dee\u691c\u8a3c\u3067\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u63a2\u7d22\u304c\u7c21\u5358\u306b\u3067\u304d\u308b\u306e\u3067\u3001\u662f\u975e\u6d3b\u7528\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002","protected":false},"excerpt":{"rendered":"<p>Optuna\u3092\u6d3b\u7528\u3057\u305flightGBM\u306e\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0 \u4e00\u756a\u7cbe\u5ea6\u304c\u9ad8\u304f\u8a08\u7b97\u91cf\u304c\u5c11\u306a\u3044\u30aa\u30fc\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0 \u6a5f\u68b0\u5b66\u7fd2\u30e2\u30c7\u30eb\u306e\u5b9f\u88c5\u306e\u969b\u306b\u5fc5\u305a\u5fc5\u8981\u306b\u306a\u3063\u3066\u304f\u308b\u4f5c\u696d\u306b\u30cf\u30a4\u30d1\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u4f5c\u696d\u304c\u3042 [&hellip;]<\/p>\n","protected":false},"author":85,"featured_media":3132,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","swell_btn_cv_data":"","footnotes":"","_wp_rev_ctl_limit":""},"categories":[1249],"tags":[363,359,480,361,360,362],"class_list":["post-3130","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledge","tag-lgb-lightgbmtunercv","tag-lightgbm","tag-optuna","tag-361","tag-360","tag-362"],"_links":{"self":[{"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/posts\/3130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/comments?post=3130"}],"version-history":[{"count":1,"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/posts\/3130\/revisions"}],"predecessor-version":[{"id":3133,"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/posts\/3130\/revisions\/3133"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/media\/3132"}],"wp:attachment":[{"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/media?parent=3130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/categories?post=3130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/since2020.jp\/media\/wp-json\/wp\/v2\/tags?post=3130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}