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

Kaggle M5-Forecasting (Walmart)

Kaggle M5-Forecasting (Walmart)

先日開催された、Kaggle(M5-Forecasting)の当方のSolution資料です。

Avatar for IHiroaki

IHiroaki

July 19, 2020
Tweet

Other Decks in Programming

Transcript

  1. ໨࣍ɿ 1. ࣗݾ঺հ 2. ݁Ռ 3. ࠓճͷऔΓ૊Έͱߟ͑ 4. Ϟσϧ֓ཁ 5.

    σʔλ୳ࡧ 6. ಛ௃ྔબ୒ 7. Ϟσϧৄࡉ 8. ൓লͱ՝୊
  2. ̏ɽࠓճͷऔΓ૊Έ ͱߟ͑ ʻऔΓ૊Έʼ ɾॳίϯϖɻ ɾ3݄த०ʙ6݄຤ͷίϯϖऴྃ·Ͱͷ̏ϲ݄൒΄΅ٳΈͳ͠ͰରԠɻ ɾҰ೔ฏۉ̍̎ʙ̍̒࣌ؒΛίϯϖʹ๋͛Δɻ ʻߟ͑ʼ Accuracyɿ ɾ༧ଌ஋Λ࢖ͬͨಛ௃ྔٴͼલ೔ͷ༧ଌ஋Λ༻͍ͨཌ೔ͷ༧ଌʢ࠶ؼతΞϓϩʔνʣ౳͸ߦΘͳ͍ɻʢಛʹ࠶ؼత Ξϓϩʔν͸̎ɺ̏೔ͷ༧ଌͳΒ༗ޮ͔΋͠Εͳ͍͕̎̔೔ͷ༧ଌͩͱޡࠩͷ஝ੵ͕େ͖͘ͳΓ͗͢ΔՄೳੑ͕͋

    Δɻʣ ɾ௚લͷ28೔ؒ΋TrainDataͱͯ͠࢖༻͢Δɻʢաֶशɺֶशෆ଍ͷڪΕ͕͋Δ͜ͱ͔Β஫ҙΛ෷͍ϞσϧΛ࡞੒͢ Δඞཁ͕͋Δɻʣ Uncertaintyɿ ɾAccuracyͰͷ࠷ऴఏग़஋Λ۝෼Ґ఺ͷ̑̌ˋ఺ͱ͢Δɻ ɾAccuracyϞσϧʹ͓͚ΔValidationظؒͷ࣮੷ͱ༧ଌ஋ͱͷֹࠩΛෆ࣮֬ੑͱͯ͠࢖༻͢Δɻ ɾΑͬͯAccuracyʹ͓͍ͯ൚Խੑೳͷߴ͍Ϟσϧͷ࡞੒͕ॏཁͱͳΔɻ
  3. ̐ɽϞσϧ֓ཁ "DDVSBDZ 6ODFSUBJOUZ Ϟσϧɿ LightGBMͷΈΛ࢖༻ Ϟσϧߏ଄ : 
 28೔Λਖ਼֬ʹ༧ଌ͢ΔͨΊʹ1೔ຖʹݸผͷϞσϧ Λ࡞੒ɻ·ͨϝϞϦͷ໰୊΋͋Γɺstore_idຖʹϞ

    σϧΛ෼ׂɻ߹ܭ 28 day × 10 id = 280 models ॏཁͳಛ௃ྔ: ಛ௃ྔʹؔͯ͠͸͋·Γಛผͳ΋ͷ͸ͳ͘ඪ४త ͳ΋ͷͷΈͱͳͬͨɻ ex) Basic Lagʢmean, max, ,min, std, medianʣ Average Encoding ʢ֤Ϩϕϧຖʣ IDʢTrainDataʹͯ༩͑ΒΕͨIDʣ ֶश࣌ؒɿ 8೔ʙ9೔ʢՄೳͳݶΓϦεΫΛഉআ্ͨ͠Ͱͷ࣌ ؒʣ ※ֶश࣌ؒΛ୹ॖ͢ΔͨΊͷํ๏ɻʢ༧ଌ͕গ͠ߥ͘ͳΔ͕ͦ͜·Ͱ μϝʔδ͕ͳ͍΋ͷʣ ɾLearningRateΛେ͖͘͠ɺnum_iterΛݮΒ͢ɻʢlr0.03ͳΒ iter500~700ఔ౓ʣ ɾBasicLagಛ௃ྔΛ࡟আ͢Δɻʢಛʹmulti_2, 3, 5, ʣ ɾstore_id୯ҐϞσϧΛͳ͘͢ɻʢͨͩ͠ಛ௃ྔΛे෼ݮΒ͞ͳ͍ͱϝ ϞϦͷ໰୊ൃੜʣ Ϟσϧ : AccuracyΛ࡞੒͢Δࡍʹ࢖༻ͨ͠Model Λ࢖༻ɻ ࢉग़ํ๏ : ۝෼Ґ఺ͷ͏ͪ̑̌ˋ఺ʹؔͯ͠͸Accuracyͷ Final SubmissionΛ࢖͏ɻ ͦͷଞ̔఺ʹؔͯ͠͸Accuracyʹͯࢉग़ͨ͠ Validationظؒʹ͓͚Δ࣮੷ͱ༧ଌ஋ͷࠩΛෆ֬ ࣮ੑͱ͠ɺల։͢Δɻ
  4. ̑. σʔλ୳ࡧ ച্ݸ਺ͷϓϩοτʢ߹ܭʣ Ұݟ͢Δͱશମʹ౉ͬͯ ্ঢ܏޲Ͱ͋ΔΑ͏ʹݟ ͑Δɻ ೔ຖͷొ࿥ΞΠςϜ਺ ೔ຖʹΞΠςϜ͕௥Ճ͞Ε͓ͯΓ Totalͷ্ঢ܏޲ͷཁҼͱͳ͍ͬͯΔ͜ͱ ͕૝ఆ͞ΕΔɻ

    30490 ʢ̍ʣτϨϯυ ্ਤɿ೔ຖͷച্ݸ਺ͷ߹ܭਪҠ Լਤɿ೔ຖͷΞΠςϜొ࿥਺ਪҠ ্ਤΛݟΔͱҰݟ௨ظʹΘͨͬͯ૿Ճ͠ ͍ͯΔΑ͏ʹݟ͑Δ͕ԼਤͰΞΠςϜ͕ ೔ʑొ࿥͞Ε͍ͯΔ͜ͱ͕Θ͔Δɻ Αͬͯ͜ΕΒͷ৽͘͠ೖͬͨΞΠςϜʹ ΑΓ্ঢ܏޲͕ݟΒΕΔ͜ͱ͕ߟ͑Β Εɺ͜ͷ৔߹্ਤͰ͸܏޲Λଊ͑Δ͜ͱ ͕Ͱ͖ͳ͍ɻ Αͬͯ࣍ʹΞΠςϜొ࿥೥ผʢച্։࢝ ೥ʣͷ೔ຖͷച্ݸ਺ͷ߹ܭਪҠΛݟͯ ΈΔɻ
  5. ̑. σʔλ୳ࡧ ച্։࢝೥ผͷച্ݸ਺ͷϓϩοτ ਤɿച্։࢝೥ผͷചΓ্͛ݸ਺ͷ߹ܭਪ Ҡ Ͳͷਤʹ͓͍ͯ΋2015೥લ൒·Ͱ͸ݮগ܏ ޲ʹ͋Δͷʹ΋͔͔ΘΒͣɺ2015೥ޙ൒͔ Β2016೥ʹ͔͚ͯ૿Ճ͍ͯ͠Δ͜ͱ͕Θ͔ Δɻ ͜Ε͸Կ͔͠ΒτϨϯυ͕มΘͬͨ͜ͱΛ

    ද͍ͯ͠ΔՄೳੑ͕͋ΓValidationͷऔΔظ ؒ΍Ϟσϧͷߏஙํ๏ʹؾΛ͚ͭΔඞཁ͕ ͋Δɻ ͔͠͠ɺاۀଆͷԿ͔ࢼ࡞ʹΑΔ΋ͷͳͷ ͔ɺফඅτϨϯυʹΑΔ΋ͷͳͷ͔͕ෆ໌ Ͱ͋ΓɺࠓճͷίϯϖΛߟ͑Δ্Ͱ೉͍͠ ͱ͜Ζͱͳͬͨɻ ʢ̍ʣτϨϯυ 2011 2012 2013 2014 2015 2016
  6. ̑. σʔλ୳ࡧ ਤɿ28೔ຖͷച্ݸ਺ͷ߹ܭਪҠʢάϥϑ ͸store_idຖ͓Αͼച্։࢝೥ຖͰ͋Δʣ 28೔ؒʹ͓͚Δ߹ܭച্ݸ਺ͷਪҠ͸Ͳ͏ มಈ͍ͯ͠Δͷ͔ΛݟͨάϥϑͰ͋Δ͕ɺ ΍͸Γ঎඼धཁ͸͋Δఔ౓ҰఆͰ͋Δ͜ͱ ͔Β͔ɺٸܹͳ্ঢͷ͋ͱͷ28೔͸͋Δఔ ౓཈͑ΒΕௐ੔͞Ε͍ͯΔΑ͏ʹݟ͑Δɻ xʹ̓̌͸PublicLBظؒͰ͋Δ͕ଟ͘ͷάϥ

    ϑͰٸܹͳ্ঢΛԋ͍ͯ͡Δɻ Αͬͯݟͨ໨Ͱ༧૝͢ΔʹɺPrivateظؒͷ 28೔ؒͷ߹ܭച্ݸ਺͸PublicLBظؒʹൺ ΂ͯݮগ͢ΔՄೳੑ͕͋Δఔ౓͋Δ͜ͱ͕ ૝૾Ͱ͖Δɻ ʢ͜Εʹؔͯ͠͸Lagಛ௃ྔͷRollingʹͯ Ϟσϧʹ৫ΓࠐΊΔ͔ʁʣ ̎̔೔ຖͷച্ݸ਺ͷϓϩοτʢstore_idຖʣ ʢ̍ʣτϨϯυ
  7. ̑. σʔλ୳ࡧ ਤɿ֤ΞΠςϜʹ͓͚Δ͍Ζ͍Ζͳθϩ ͷύλʔϯΛάϥϑԽͨ͠΋ͷɻ DiscussionͰ͸θϩύλʔϯʹର͢Δҙ ݟ͕ඇৗʹଟ͔ͬͨͱࢥ͏ɻ ࠓճͷ࣌ܥྻʹ͸ଟ͘ͷθϩ͕͋Δ͕ઓ ུతɺඞવతͳθϩ͕ଟؚ͘·Ε͍ͯ ͨɻ اۀʹ͸ࡏݿઓུɺ঎඼ઓུ͕͋ΓͦΕ

    Β͸ຖ೥มΘΓ͏ΔɻͦͷͨΊࡏݿઓ ུɺ঎඼ઓུ͕Θ͔Βͳ͍ঢ়ଶͰθϩύ λʔϯΛ༧ଌ͢Δ͜ͱ͸ͦΕͳΓʹϦε Ϋ͕͋Δͱײ͡Δɻ ·ͨࡏݿ੾Ε΍ͨ·ͨ·ച্͕ͳ͔ͬͨ ͳͲͷθϩΛ༧૝͢Δʹͯ͠΋ධՁࢦඪ ্1೔ͷζϨ΋ڐ͞Εͳ͍͜ͱ͔Βɺ΍ ͸ΓθϩύλʔϯΛ༧૝͢ΔϦεΫ͸େ ͖͍ɻ ࡏݿઓུɺ঎඼ઓུΛ஌Βͳ͍ঢ়ଶͰθϩύλʔϯΛ༧૝ ͢΂͖Ͱͳ͍ʁ ? Change strategy? Irregular Long term ʢ̎ʣ͍Ζ͍Ζͳθϩύλʔϯ
  8. ̒. ಛ௃ྔબ୒ ॏཁͳಛ௃ྔ ɾجຊతͳLagಛ௃ྔ ɹˠstore_id × item_idʹ͓͚ΔLagಛ௃ྔ ɹˠstore_id × item_id͔༵ͭ೔୯Ґʹ͓͚ΔLagಛ௃ྔ

    ɾฏۉ஋ ɹˠstore_id × item_id, state_id × item_id, item_idʹ͓͚Δ༵೔୯Ґͷฏۉ஋ʢ݄ʙ೔ʣ ɹˠstore_id × item_id, state_id × item_id, item_idʹ͓͚Δ೔෇୯Ґͷฏۉ஋ʢ̍ʙ̏̍ʣ ɾՁ֨มಈ ɾTrainDataʹͯ༩͑ΒΕͨID ࢼ͕ͨ͠͏·͍͔͘ͳ͔ͬͨಛ௃ྔ ɾ༧ଌ஋Λ࢖༻ͨ͠ಛ௃ྔ(ച্θϩύλʔϯΛ਺஋Խͨ͠ಛ௃etc…) ɾΫϥελϦϯάʹΑΔ৽ͨͳΧςΰϦ෼͚ʢྨࣅ঎඼ɺิ׬঎඼ʣ ɾ֎෦σʔλ etc…..
  9. ̒. ಛ௃ྔબ୒ ಛ௃ྔ໊ͷઆ໌ • sales_residual_diff_28_roll_365 : Targetʢৄࡉ͸࣍ͷεϥΠυʣ • multi_5_sales_residual_diff_28_roll_365_shift_1_roll_4_mean :

    Code: df[“Target_shift_1”] = df.groupby([“id”])[“Target”].transform(lambda x : x.shift(1)) df.groupby([“id”, “multi_5”])[“Target_shift_1”].transform(lambda x: x.rolling(4).mean()) • private_sales_residual_diff_28_roll_365_enc_week(day)_LEVEL12_mean: privateɿϓϥΠϕʔτظؒͷ௚લ·ͰͷσʔλΛ࢖༻͢Δɻ enc_week(day)_LEVEL12_meanɿLEVEL12ͷ༵೔(೔)ͷฏۉചΓ্͛ • sell_price_minority12 : sell_priceͷগ਺ୈҰҐͱೋҐ ex) 10.58345 => 58 • id_serial : ֤ID୯Ґʹઃఆͨ͠0 ~ 30489ͷ࿈൪
  10. ̓. Ϟσϧৄࡉ <Accuracy> TARGET = TARGET - TARGET.shift(28).rolling(365) ʢ̍ʣτϨϯυআڈ ܾఆ໦ܥͷϞσϧΛ࢖͏৔߹ɺকདྷ༧ଌ

    Λ͢Δʹ͸τϨϯυΛ೷͘ඞཁ͕͋Δͱ ͍ͬͨ಺༰͕Discussionʹ΋͋ͬͨΑ͏ ʹࠓճ༩͑ΒΕͨσʔλͷτϨϯυΛऔ Γআ͘͜ͱʹͨ͠ɻ ͔͠͠ɺػցֶशͳͲͰ༧૝ͨ͠༧ଌ஋ ΛτϨϯυআڈͷࡐྉͱͯ͠࢖͏͜ͱ͸ ϦεΫ͕͋ΔͨΊ࢖༻ͨ͘͠ͳ͔ͬͨɻ ࣮ࡍ༧ଌ஋ʹΑΔτϨϯυͷআڈ΋ࢼ͠ ͕ͨτϨϯυʹ౰ͯ͸ΊΔ਺ࣜʹΑΓɺ কདྷͷ༧ଌ஋ʹେ͖ͳ͕ࠩ͋ͬͨɻ ͦͷͨΊ࣮੷Λ࢖ͬͨআڈΛߟ͑ΔதͰ Ұ൪҆ఆ͍ͯͨ͠TARGET͔Β TARGET.shift(28)rolling(365)Λݮͨ͡΋ ͷΛTARGETͱ͢Δ͜ͱͱͨ͠ɻ ͔͠͠ɺ࣮੷Λ࢖ͬͨͨΊ׬શʹτϨϯ υΛऔΓআ͚ͯ͸͓ΒͣޮՌ͸ݶఆతͰ ͋ͬͨͱײ͍ͯ͡Δɻ ͨͩखݩͰݕূ͢ΔݶΓ̎̔೔ؒͷ༧ଌ ͷ͏ͪޙ൒ʢ28೔͍ۙ೔ͷ༧ଌʣʹͳΔ ʹͭΕτϨϯυআڈޙͷํ͕҆ఆੑ͕ߴ ͔ͬͨɻ TARGET TARGET.shift(28).rolling(365) TARGET - TARGET.shift(28).rolling(365)
  11. ̓. Ϟσϧৄࡉ <Accuracy> lightgbm.Datasets( x_train, y_train, weight = myweight )

    ʢ̎ʣweight objective : regression ධՁࢦඪͰ͋ΔWRMSSEΛೋ৐ͨ͠΋ͷ ͷޯ഑Λܭࢉ͠܎਺Λlightgbm.Datasets ͷWEIGHTͱͯ͠౉ͨ͠ɻ WEIGHT^2÷SCALED͸͋Β͔͡Ί42840 ݸ෼Λܭࢉ͓͖ͯ͠30490ΞΠςϜʹల։ ͦ͠ͷ߹ܭ஋ͱͨ͠ɻ 42840 1 30490 12Ϩϕϧ 30490 1 શϨϕϧʢ42840ݸʣͷʢWeight^2 ÷ ScaledʣΛ ܭࢉ͢Δɻ 30490ΞΠςϜ×12Ϩϕϧʹม׵ ὎30490Ҏ֎ͷΞΠςϜΛ֤IDΧςΰϦຖʹׂΓ ৼΔɻ Ϩϕϧํ޲ʹ߹ܭΛࢉग़͢Δɻ
  12. ̓. Ϟσϧৄࡉ <Accuracy> ʢ̏ʣΠςϨʔγϣϯճ਺ ֶश࣌ؒΛߟ͑Ε͹ LearningRate→0.03 Iter→ 500 ~ 700

    Ͱ΋Α͔͕ͬͨstore_idຖ·ͨظؒʹ ΑͬͯऩଋͷλΠϛϯάͷζϨ͕͢ ͜͠େ͖͔ͬͨͷͰࠓճ͸ίϯϖͱ ͍͏͜ͱ΋͋Γɺ LearningRate→0.01 Iter→ 1200 & 1500(Blend) Λ࠾༻ͨ͠ɻ
  13. ̓. Ϟσϧৄࡉ <Accuracy> • ݕূظؒ ʢݕূظؒ̍ʣ2016-04-25 ~ 2016-05-22 : score

    ໿0.53(Public LB) ʢݕূظؒ̎ʣ2016-03-28 ~ 2016-04-24 : score ໿0.51 ʢݕূظؒ̏ʣ2016-02-29 ~ 2016-03-27 : score ໿0.60 ʢςετظؒʣ2016-05-23 ~ 2016-06-19 : score 0.576 (Private LB) ɹɹ=>ݕূظؒʹؔͯ͠͸೔ຖʹΞΠςϜ͕࣍ʑʹ౤ೖ͞Ε͍ͯΔͨΊɺ·ͨ௚ۙʹτϨϯυ͕มΘͬͯɹ ɹɹɹɹ͍ΔՄೳੑ͕͋Δ͜ͱ͔Β΋ͳΔ΂͘௚લΛ࢖ͬͨɻ • ύϥϝʔλʔ store_idʹΑͬͯগ͠มߋɻ • ϝτϦοΫ ϊʔτϒοΫΛࢀߟʹ࡞੒ʢߦྻܭࢉΛ࢖༻͍ͯ͠ΔͨΊܭࢉ͕଎͍ʣ ɹ (https://www.kaggle.com/girmdshinsei/for-japanese-beginner-with-wrmsse-in-lgbm) • ࠶ؼతΞϓϩʔνɺ৐਺ͷ࢖༻ͳ͠ • ޙॲཧ͸ͳ͠ ʢ̑ʣ ͦͷଞ
  14. ̓. Ϟσϧৄࡉ <Uncertainty> ʢ̍ʣ̑̌ˋ఺ͷࢉग़ ̑̌ˋ఺͸ɺM5 - Accuracy ʹ͓͚Δ࠷ऴఏग़஋ͱ͢Δɻ ·ͨɺߟ͑ํͱͯ͠ Accuracyͷ༧ଌϞσϧʹؔͯ͠

    ݕূظؒͷWRMSSEɹ㲈ɹςετظؒͷWRMSSE ͳΒ͹ ݕূظؒͷޡࠩʢෆ࣮֬ੑʣɹ㲈ɹςετظؒͷޡࠩʢෆ࣮֬ੑʣ Accuracyͷ༧ଌϞσϧ͕ҰൠԽ͞Ε͍ͯ͹ɺAccuracyͷϞσϧ͸ͦͷ ··ෆ࣮֬ੑͱͯ͠࢖͑Δɻ
  15. ̓. Ϟσϧৄࡉ <Uncertainty> ʢ̎ʣෆ࣮֬ྖҬͷࢉग़ํ๏ʢ̑̌ˋ఺Ҏ֎ͷࢉग़ʣ Accuracyͷ࠷ऴఏग़஋Λࢉग़ͨ͠ϞσϧΛ࢖༻ͯ͠ ݕূظؒʹ͓͚Δޡࠩʹʛ࣮੷ʔ༧ଌ஋ʛΛͱΓɺޡࠩΛঢॱʹฒ΂Δ ࠓճ͸ݕূظؒΛ3ͭઃఆͨͨ͠Ί߹ܭ̎̔ˎ̏ʹ̔̐ݸͷޡ͕ࠩੜ͡Δɻ ex) diff =

    [0.5, 0.7, 1.4, 1.6, 1.7, 2.2, 2.6 ɾɾɾ 8.2, 8.5]  ̔̐ <EJ⒎@DPVOU> <EJ⒎> ̐̎ ̔̍ άϥϑԽ ̑̒ ̔̐ 99.5% 0.5%ͷෆ࣮֬ੑ A B C D 97.5% 2.5%ͷෆ࣮֬ੑ 75.0% 25.0%ͷෆ࣮֬ੑ 83.5% 16.5%ͷෆ࣮֬ੑ 50.0%఺ ʔ D ʹ 0.5%఺ 50.0%఺ ʔ C ʹ 2.5%఺ 50.0%఺ ʔ B ʹ 16.5%఺ 50.0%఺ ʔ A ʹ 25.0%఺ Accuracyͷ࠷ऴఏग़஋ ʹ 50.0%఺ 50.0%఺ ʴ A ʹ 75.0%఺ 50.0%఺ ʴ B ʹ 83.5%఺ 50.0%఺ ʴ C ʹ 97.5%఺ 50.0%఺ ʴ D ʹ 99.5%఺ ঢॱԽͨ͠ޡࠩͷ͏ͪ̎̑ˋ఺ɺ̓̑ˋ఺ʹ͋ͨΔޡࠩʢ̐̎൪໨ͷޡࠩʣΛ̑̌ˋ఺͔Β૿ݮͤͨ͞΋ͷΛ̎̑ˋ఺ɺ̓̑ˋ఺ͱ ͠ɺଞ΋ಉ༷ʹల։͢Δɻ ※͜ͷޡ͕ࠩ͜ͷϞσϧʹ͓͚Δෆ࣮֬ੑͱͳΔ 5SVF 1SFE
  16. ̓. Ϟσϧৄࡉ <Uncertainty> ࠓճݕূظؒΛ̎̔೔×̏Ͱߦͳ͕ͬͨ ຊདྷ֎Ε஋౳͕͋ͬͨ৔߹ͷճආ΋ߟ͑ Δͱഒͷ̎̔೔×̒͸͋ͬͨํ͕Α͔ͬͨ ͱײ͡Δɻ ͕͔͔ͨͩ࣌ؒΓ͗͢ΔͨΊɺaccuracy ͷϞσϧΛΑΓ্ܰͨ͘͠Ͱਫ਼౓Λग़͢ ͜ͱ͕͍Ζ͍ΖͳҙຯͰͷվળͷ༨஍ͱ

    ͳΔɻʢࠓޙͷ՝୊ʣ ࠓճίϯϖͰͷݕূظؒͷ༧ଌʹ͸ earlystop=100, lr =0.08ͱ͠গ͠ߥ໨ͷઃ ఆͰߦ͍ͬͯΔɻʢaccuracyଆͷաֶ शɺֶशෆ଍ϦεΫରࡦɻʣ ʢ̏ʣ༧ଌ೔ຖͷෆ࣮֬ੑ ༧ଌ೔ʹԠͯ͡ෆ࣮֬ੑͷେ͖͞͸ҟͳΔɻ ࠓճAccuracyʹ͓͍ͯ͸೔ຖͷϞσϧ(̎̔Ϟσϧ)Λ࡞੒͓ͯ͠Γɺ ਫ਼౓͸̍೔໨ͷϞσϧͷํ͕̎̔೔໨ͷϞσϧΑΓ΋ྑ͘ͳΔɻ ͦͷͨΊෆ࣮֬ੑʹ͓͍ͯ΋̎̔ϞσϧͦΕͧΕʹ͓͚ΔޡࠩʢલϖʔδʣΛࢉग़͠ɺల։͢Δ͜ͱ͕๬·͍͠ɻ ※දͷAɺBɺCɺD͸લϖʔδͷͦΕΒͱಉ͡ҙຯ߹͍ɻ
  17. ̔. ൓লͱ՝୊ ֶश࣌ؒɿ ΋ͬͱݕূΛ͏·͘΍Ε͹ɺείΞΛ΄ͱΜͲམͱͣ͞ʹֶश࣌ؒΛେ෯ʹ୹͘Ͱ͖ͨͱࢥ͏ɻ ɾಛ௃ྔΛݮΒͯ͠ɺstore_id୯ҐͷϞσϧΛͳ͘͢ɻ ɾLearningRateͱIterationճ਺ͷௐ੔ Etc Validationͷେࣄ͞ɿ ίϯϖং൫ɺPublicLBͷείΞʹؾΛऔΒΕ͗ͯ͢ɺޙ͔Βߟ͑Ε͹΍Δ΂͖Ͱͳ͍͜ͱʹ࣌ؒΛ͔͚ͯ͠ ·ͬͨɻ͜ͷίϯϖͰValidationͷେ੾͞Λ௧ײͰ͖ͨ͜ͱ͸Α͔ͬͨɻ

    ๲େͳσʔλͷॲཧɿ ಛʹং൫͸ϝϞϦͷ੍ݶͷதͲ͏΍Δ͔Ͱ͔ͳΓ࿑ྗΛ࢖ͬͨɻػցֶशҎલʹ෼ࢄॲཧ΍σʔλܕͳͲ΋ ͬͱษڧ͠ͳ͚Ε͹͍͚ͳ͍͜ͱ͕ͨ͘͞Μ͋Δɻ ධՁࢦඪͷཧղɿ ·ͣॳΊʹධՁࢦඪͷཧղΛਂΊͳ͚Ε͹͍͚ͳ͍͜ͱΛ௧ײͨ͠ɻ౰ॳ͸ධՁࢦඪͷཧղ͕ᐆດͷ··ਐ ΜͰ͍ͨͨΊɺ΍Δ΂͖Ͱͳ͍͜ͱΛଟ͘΍͍ͬͯͨɻධՁࢦඪʹΑͬͯ࡞Δ΂͖Ϟσϧ͕େ͖͘ҟͳΔ͜ͱ ͕Θ͔ͬͨɻ