Upgrade to Pro — share decks privately, control downloads, hide ads and more …

学習・推論パイプラインを構築する上で大切にしていること

 学習・推論パイプラインを構築する上で大切にしていること

kaggleやSIGNATEなどの分析コンペで使用する学習・推論パイプラインを構築する上で大切にしていること

Takanobu Nozawa

November 30, 2019
Tweet

More Decks by Takanobu Nozawa

Other Decks in Technology

Transcript

  1.  ΞδΣϯμ  ࣗݾ঺հ  ύΠϓϥΠϯ͕ͳ͔ͬͨ࣌ͷπϥϛ  େ੾ʹ͍ͯ͠Δ͜ͱ ‣ ֶशͷ࠶ݱੑ

    ‣ 1%$"ͷߴ଎Խ ‣ ҙࣝ͠ͳͯ͘΋؅ཧͰ͖Δ࢓૊Έ  ࣮૷ৄࡉ
  2.  ࣗݾ঺հ ˞ʮӾཡ਺ʯʮར༻ऀ਺ʯ͸ϝσΟΞͱΞϓϦͷ߹ܭ஋ʢ೥݄݄ͷฏۉ஋ʣ ˞ʮϚϚ޲͚/PΞϓϦʯ͸೥݄Πϯςʔδௐ΂ɹௐࠪର৅ɿ೛৷தʙ̎ࡀ̌ϲ݄ͷࢠڙΛ࣋ͭঁੑ O  Λநग़ ˞*OTUBHSBNͷϑΥϩϫʔ਺ɺ'BDFCPPLͷ͍͍Ͷ਺ɺ-*/&ͷͱ΋ͩͪ਺ͷ߹ܭ஋ ೥݄࣌఺ 

    ϚϚϦ ΞϓϦɾ8FC 4/4 *OTUBHSBNɾ-*/&ɾ'BDFCPPL هࣄ ϚϚಉ࢜Ͱ೰ΈΛ૬ஊ͠߹͏2"ίϛϡχςΟΛத৺ʹ ϢʔβʔΛ֦େ͍ͯ͠·͢ ʮϚϚϦʯͰϢʔβʔಉ͕࢜ ͲΜͲΜܨ͕͍ͬͯ·͢ ϚϚͷੜ׆ʹ໾ཱͭهࣄΛ ෯޿͍δϟϯϧͰ഑৴͍ͯ͠·͢ ϚϚ޲͚/P̍ΞϓϦʹબग़  ਓͷϚϚ͕બͿʮݱࡏ࢖͍ͬͯΔΞϓϦʯʹ ͯɺ߲໨ ଞͷϚϚʹΦεεϝ͍ͨ͠ɺೝ஌౓ɺ ར༻཰ɺརศੑɺ޷ײ౓ Ͱ̍ҐΛ֫ಘ͠·ͨ͠ هࣄ਺ 6,000 هࣄҎ্ ྦྷܭϑΝϯ਺ ໿ 85 ສਓ ˞ ݄ؒӾཡ਺ ໿ 1.5ԯճ ˞ ݄ؒར༻ऀ਺ ໿ 650ສਓ ˞ ˞ l೰ΈzͱzڞײzΛ࣠ʹϚϚʹدΓఴ͍ ΞϓϦɾ8FCɾ4/4ͱଟ֯తʹαʔϏεΛల։͍ͯ͠·͢
  3.  ࣗݾ঺հ 0 450,000 900,000 1,350,000 1,800,000 2014/4 2014/5 2014/6

    2014/7 2014/8 2014/9 2014/10 2014/11 2014/12 2015/1 2015/2 2015/3 2015/4 2015/5 2015/6 2015/7 2015/8 2015/9 2015/10 2015/11 2015/12 2016/1 2016/2 2016/3 2016/4 2016/5 2016/6 2016/7 2016/8 2016/9 2016/10 2016/11 2016/12 2017/1 2017/2 2017/3 2017/4 2017/5 2017/6 2017/7 2017/8 2017/9 2017/10 2017/11 2017/12 2018/1 2018/2 2018/3 2018/4 2018/5 2018/6 2018/7 2018/8 ݄ؒ౤ߘ਺ ໿ 150ສ݅ िʹ೔Ҏ্ىಈ͢Δ ΞΫςΟϒϢʔβʔ ໿ 50 ਓʹਓ 57$. ์ө ΞϓϦ૯%-਺ສ ਓʹਓ ਓʹਓ ਓʹਓ ਓʹਓ ˞ ˞ʮϚϚϦʯ಺ͷग़࢈༧ఆ೔Λઃఆͨ͠Ϣʔβʔ਺ͱɺްੜ࿑ಇলൃදʮਓޱಈଶ౷ܭʯͷग़ੜ਺͔Βࢉग़ ˞िʹճҎ্ىಈ͢ΔϢʔβʔ ˞ ೥ʹग़࢈ͨ͠ϚϚͷʮਓʹਓʯ͕ϚϚϦΛར༻த ೔ຊ࠷େڃن໛ΛތΔϒϥϯυ΁ͱ੒௕͍ͯ͠·͢ ˞
  4.  ύΠϓϥΠϯ͕ͳ͔ͬͨ࣌ͷπϥϛ <> import numpy as np import pandas as

    pd OPUFCPPLͷத਎ ɾ ɾ ɾ <> hogehoge <> hogehoge <> hogehoge ɾ ɾ ɾ
  5.  ύΠϓϥΠϯ͕ͳ͔ͬͨ࣌ͷπϥϛ <> import numpy as np import pandas as

    pd OPUFCPPLͷத਎ ɾ ɾ ɾ <> hogehoge <> hogehoge <> hogehoge ɾ ɾ ɾ ηϧͷ࣮ߦॱ͕ͪ͝Όͪ͝Ό ˣ ࠶ݱੑ͕ͳ͍
  6.  ύΠϓϥΠϯ͕ͳ͔ͬͨ࣌ͷπϥϛ <> import numpy as np import pandas as

    pd OPUFCPPLͷத਎ ɾ ɾ ɾ <> submission.to_csv('submission.csv', index=False)
  7.  ύΠϓϥΠϯ͕ͳ͔ͬͨ࣌ͷπϥϛ <> import numpy as np import pandas as

    pd OPUFCPPLͷத਎ ɾ ɾ ɾ <> submission.to_csv('submission.csv', index=False) ηϧ͕ଟ͘ɺಉ͡ܭࢉΛෳ਺࣮ߦ͠ͳ͚Ε͹ͳΒͳ͍ ˣ 1%$"͕஗͘ͳΓ͕ͪ
  8.  ύΠϓϥΠϯ͕ͳ͔ͬͨ࣌ͷπϥϛ dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC

    dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC ʜʜʜʜʜ
  9.  ύΠϓϥΠϯ͕ͳ͔ͬͨ࣌ͷπϥϛ dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC dOPUFCPPL-JHIU#(.@TDPSF@$PQZJQZOC

    dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC dOPUFCPPL-JHIU#(.@TDPSF@JQZOC ʜʜʜʜʜ OPUFCPPL͕ࡍݶͳ͘૿৩͠ ؅ཧ͕ΊͪΌͪ͘Ό൥ࡶʹ
  10.  େ੾ʹ͍ͯ͠Δ͜ͱ w ͭͷQZUIPOεΫϦϓτͰ%0//"ΛঠѲ  ࢖༻͢Δಛ௃ྔ  ࢖༻͢Δύϥϝʔλ  ࢖༻͢Δ$7

    w GFBUVSFJNQPSUBODFͷݟ͑ΔԽ  ࣍ͷ࣮ݧ΁ͷצॴΛ͔ͭΊΔΑ͏ʹ ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ
  11.  େ੾ʹ͍ͯ͠Δ͜ͱ ʙҙࣝ͠ͳͯ͘΋؅ཧͰ͖Δ࢓૊Έʙ w %0///" Ϟσϧ΍ϩάϑΝΠϧΛɺ࣮ߦ͝ͱʹʮ೔࣌ʯ TV⒏YΛ͚ͭͨσΟϨΫτϦɾϑΝΠϧͰࣗಈ؅ཧ  ࢖༻͢Δಛ௃ྔ ύϥϝʔλ

    $7  ֶशͨ͠Ϟσϧ  ֶशϩάϑΝΠϧ  GFBUVSFJNQPSUBODF w 1VCMJDείΞΛσΟϨΫτϦͷ1SFpYʹ෇͚Δ͜ͱͰɺ 1VCMJDͱMPDBMͷείΞͷରԠΛ෼͔Γ΍͘͢ʢৄࡉ͸ޙ΄Ͳʣ
  12.  େ੾ʹ͍ͯ͠Δ͜ͱ ʙҙࣝ͠ͳͯ͘΋؅ཧͰ͖Δ࢓૊Έʙ w %0///" Ϟσϧ΍ϩάϑΝΠϧΛɺ࣮ߦ͝ͱʹʮ೔࣌ʯ TV⒏YΛ͚ͭͨσΟϨΫτϦɾϑΝΠϧͰࣗಈ؅ཧ  ࢖༻͢Δಛ௃ྔ ύϥϝʔλ

    $7  ֶशͨ͠Ϟσϧ  ֶशϩάϑΝΠϧ  GFBUVSFJNQPSUBODF w 1VCMJDείΞΛσΟϨΫτϦͷ1SFpYʹ෇͚Δ͜ͱͰɺ 1VCMJDͱMPDBMͷείΞͷରԠΛ෼͔Γ΍͘͢ʢৄࡉ͸ޙ΄Ͳʣ ৄࡉΛݟ͍͖ͯ·͢
  13.  ྫʣIPHFQZ features = [ "age", "pclass", "family_size", "fare", "sibsp",

    "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } runner = Runner(run_name, ModelLGB, features, dataset.get('target'), params_lgb, cv, FEATURE_DIR_NAME, MODEL_DIR_NAME) runner.run_train_cv() # ֶश runner.run_predict_cv() # ਪ࿦ Submission.create_submission(run_name) # submit࡞੒
  14.  ྫʣIPHFQZ features = [ "age", "pclass", "family_size", "fare", "sibsp",

    "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } runner = Runner(run_name, ModelLGB, features, dataset.get('target'), params_lgb, cv, FEATURE_DIR_NAME, MODEL_DIR_NAME) runner.run_train_cv() # ֶश runner.run_predict_cv() # ਪ࿦ Submission.create_submission(run_name) # submit࡞੒ جຊతʹ1%$"Λճ͢ͱ͖ʹ͍͡Δͷ͸ ͜ͷIPHFQZͷΈʹ͢Δ
  15.  ྫʣIPHFQZ features = [ "age", "pclass", "family_size", "fare", "sibsp",

    "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } runner = Runner(run_name, ModelLGB, features, dataset.get('target'), params_lgb, cv, FEATURE_DIR_NAME, MODEL_DIR_NAME) runner.run_train_cv() # ֶश runner.run_predict_cv() # ਪ࿦ Submission.create_submission(run_name) # submit࡞੒ ֶशʹ࢖༻͢Δಛ௃ྔ
  16.  ྫʣIPHFQZ features = [ "age", "pclass", "family_size", "fare", "sibsp",

    "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } runner = Runner(run_name, ModelLGB, features, dataset.get('target'), params_lgb, cv, FEATURE_DIR_NAME, MODEL_DIR_NAME) runner.run_train_cv() # ֶश runner.run_predict_cv() # ਪ࿦ Submission.create_submission(run_name) # submit࡞੒ ϋΠύʔύϥϝʔλ
  17.  ྫʣIPHFQZ features = [ "age", "pclass", "family_size", "fare", "sibsp",

    "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } runner = Runner(run_name, ModelLGB, features, dataset.get('target'), params_lgb, cv, FEATURE_DIR_NAME, MODEL_DIR_NAME) runner.run_train_cv() # ֶश runner.run_predict_cv() # ਪ࿦ Submission.create_submission(run_name) # submit࡞੒ $7ͷઃఆ
  18.  ྫʣIPHFQZ features = [ "age", "pclass", "family_size", "fare", "sibsp",

    "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } runner = Runner(run_name, ModelLGB, features, dataset.get('target'), params_lgb, cv, FEATURE_DIR_NAME, MODEL_DIR_NAME) runner.run_train_cv() # ֶश runner.run_predict_cv() # ਪ࿦ Submission.create_submission(run_name) # submit࡞੒ ֶशɾਪ࿦ɾTVC࡞੒
  19.  ྫʣIPHFQZ features = [ "age", "pclass", "family_size", "fare", "sibsp",

    "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } runner = Runner(run_name, ModelLGB, features, dataset.get('target'), params_lgb, cv, FEATURE_DIR_NAME, MODEL_DIR_NAME) runner.run_train_cv() # ֶश runner.run_predict_cv() # ਪ࿦ Submission.create_submission(run_name) # submit࡞੒ ֶशɾਪ࿦ɾTVC࡞੒ w ࠶ݱੑΛ୲อ͢Δ޻෉ w ߴ଎ͳ1$%"Λճͨ͢Ίͷ޻෉ w ҙࣝ͠ͳͯ͘΋ॾʑ͕؅ཧͰ͖Δ޻෉ ʹ͍͓ͭͯ࿩͠͠·͢
  20.  ࣮૷ৄࡉ IPHFQZ ʙֶशͷ࠶ݱੑʙ features = [ "age", "pclass", "family_size",

    "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, }
  21.  ࣮૷ৄࡉ IPHFQZ ʙֶशͷ࠶ݱੑʙ features = [ "age", "pclass", "family_size",

    "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } QZUIPOIPHFQZ
  22.  ࣮૷ৄࡉ IPHFQZ ʙֶशͷ࠶ݱੑʙ features = [ "age", "pclass", "family_size",

    "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } { "use_features": [ "age", "pclass", "family_size", "fare", "sibsp", "parch", "cabin" ], "model_params": { "boosting_type": "gbdt", "objective": "fair", "metric": "fair", "num_boost_round": 20000, "early_stopping_rounds": 1000, "verbose": 1000, "random_state": 999 }, "cv": { "method": "KFold", "n_splits": 5, "random_state": 42, "shuffle": true }, "dataset": { "run_name": "lgb_1128_2003", "feature_directory": "../data/features/remove_outlier/", "target": "salary" } } IPHF@QBSBNKTPO QZUIPOIPHFQZ
  23.  ࣮૷ৄࡉ IPHFQZ ʙֶशͷ࠶ݱੑʙ features = [ "age", "pclass", "family_size",

    "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } { "use_features": [ "age", "pclass", "family_size", "fare", "sibsp", "parch", "cabin" ], "model_params": { "boosting_type": "gbdt", "objective": "fair", "metric": "fair", "num_boost_round": 20000, "early_stopping_rounds": 1000, "verbose": 1000, "random_state": 999 }, "cv": { "method": "KFold", "n_splits": 5, "random_state": 42, "shuffle": true }, "dataset": { "run_name": "lgb_1128_2003", "feature_directory": "../data/features/remove_outlier/", "target": "salary" } } IPHF@QBSBNKTPO QZUIPOIPHFQZ IPHFQZΛ࣮ߦ͢Δ͜ͱʹΑΓ ࣗಈతʹKTPOϑΝΠϧ͕ੜ੒͞Ε ࢖༻ͨ͠ಛ௃ྔɾύϥϝʔλʔͳͲ͕શͯอଘ͞ΕΔ
  24.  ࣮૷ৄࡉ IPHFQZ ʙֶशͷ࠶ݱੑʙ features = [ "age", "pclass", "family_size",

    "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } { "use_features": [ "age", "pclass", "family_size", "fare", "sibsp", "parch", "cabin" ], "model_params": { "boosting_type": "gbdt", "objective": "fair", "metric": "fair", "num_boost_round": 20000, "early_stopping_rounds": 1000, "verbose": 1000, "random_state": 999 }, "cv": { "method": "KFold", "n_splits": 5, "random_state": 42, "shuffle": true }, "dataset": { "run_name": "lgb_1128_2003", "feature_directory": "../data/features/remove_outlier/", "target": "salary" } } IPHF@QBSBNKTPO QZUIPOIPHFQZ ͜Εͧ࠶ݱੑ
  25.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ
  26.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ ಛ௃ྔΛݮΒֶͯ͠श͍ͤͨ͞
  27.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ features = [ "age", "pclass", # "family_size", "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } IPHFQZ ର৅ͷಛ௃ྔΛίϝϯτΞ΢τ
  28.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ features = [ "age", "pclass", # "family_size", "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } IPHFQZ QZUIPOIPHFQZ ର৅ͷಛ௃ྔΛίϝϯτΞ΢τ
  29.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ features = [ "age", "pclass", # "family_size", "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } IPHFQZ QZUIPOIPHFQZ ର৅ͷಛ௃ྔΛίϝϯτΞ΢τ ؆୯
  30.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ
  31.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ $7มֶ͑ͯश͍ͤͨ͞
  32.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ features = [ "age", "pclass", "family_size", "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'GroupKFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, 'cv_target':'user' } IPHFQZ DWͷهࡌΛมߋ
  33.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ features = [ "age", "pclass", "family_size", "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'GroupKFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, 'cv_target':'user' } IPHFQZ DWͷهࡌΛมߋ QZUIPOIPHFQZ
  34.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ features = [ "age", "pclass", "family_size", "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'GroupKFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, 'cv_target':'user' } IPHFQZ DWͷهࡌΛมߋ QZUIPOIPHFQZ ؆୯
  35.  ࣮૷ৄࡉ IPHFQZ features = [ "age", "pclass", "family_size", "fare",

    "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'KFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, } ʙߴ଎ͳ1%$"Λ໨ࢦͯ͠ʙ features = [ "age", "pclass", "family_size", "fare", "sibsp", "parch", "cabin" ] params_lgb = { 'boosting_type': 'gbdt', 'objective': 'fair', 'metric': 'fair', 'num_boost_round': 20000, 'early_stopping_rounds': 1000, 'verbose': 1000, 'random_state': 999 } cv = { 'method': 'GroupKFold', 'n_splits': 5, 'random_state': 42, 'shuffle': True, 'cv_target':'user' } IPHFQZ DWͷهࡌΛมߋ QZUIPOIPHFQZ GFBUVSFJNQPSUBODFʹ͍ͭͯ