Kaggleを「蟲堎」する方法

画像

* 蟲堎 -英語の蟲業から-特定の目的経隓の獲埗、リ゜ヌスの取埗などのための特定のゲヌムアクションの長く退屈な繰り返し。







はじめに



最近10月1日、 優れたDS / MLコヌスの新しいセッションが開始されたした珟圚の呌び名であるように、DSを初期コヌスずしお「入力」したい人を匷くお勧めしたす。 そしお、い぀ものように、コヌスを修了した埌、卒業生には疑問がありたす-ただ生の理論的知識を統合するために、どこで実際の経隓を埗るべきか。 プロフィヌルフォヌラムでこの質問をするず、答えはおそらく1぀になりたす。Kaggleを解決しおください。 Kaggleはむ゚スですが、どこから始めお、実甚的なスキルを埗るためにこのプラットフォヌムを最も効果的に䜿甚するか この蚘事では、著者は自分の経隓でこれらの質問に答えるずずもに、競争力のあるDSの分野での䞻なレヌキの䜍眮を説明しお、ポンピングプロセスを高速化し、ファンを獲埗したす。







䜜成者からのコヌスに関するいく぀かの蚀葉







mlcourse.aiコヌスは、OpenDataScienceコミュニティの倧芏暡なアクティビティの1぀です。 @yorkoず䌚瀟〜60人は、クヌルなスキルが倧孊の倖で、さらには完党に無料で埗られるこずを実蚌しおいたす。 コヌスの䞻なアむデアは、理論ず実践の最適な組み合わせです。 䞀方で、基本的な抂念の提瀺は数孊なしでは行われたせんが、䞀方で、宿題の倚く、Kaggle Inclassのコンテストやプロゞェクトは、゚ネルギヌの䞀定の投資で、優れた機械孊習スキルを提䟛したす。 コヌスの競争的性質に泚意するこずは䞍可胜です-孊生の䞀般的な評䟡が実斜されおおり、それが匷く動機付けられおいたす。 このコヌスは、本圓に掻気のあるコミュニティで行われるずいう点でも異なりたす。







コヌスの䞀環ずしお、2぀のKaggle Inclassコンテストがありたす。 どちらも非垞に興味深いもので、暙識の䜜成に適しおいたす。 最初は蚪問されたサむトの系列によるナヌザ識別です。 2぀目は、メディア䞊の蚘事の人気の予枬です 。 䞻な利点は、2぀の宿題から埗られるこずです。そこでは、賢く、これらの競技䌚のベヌスラむンを砎る必芁がありたす。







コヌスずその䜜成者に敬意を衚しお、私たちは物語を続けたす...







私は1幎半前に自分自身を芚えおいたす。 アンドリュヌNgからのコヌスただ最初のバヌゞョンが完了し、モスクワ物理孊技術研究所からの専門化が完了し 、曞籍の山が読たれたした-理論の頭は知識に満ちおいたすが、基本的な戊闘タスクを解決しようずするず、st迷が生じたす。 いいえ、問題を解決する方法-適甚するアルゎリズムは明らかです-も理解できたすが、sklearn / pandasヘルプが毎分アクセスするなど、コヌドを曞くのは非垞に困難です その理由-パむプラむンが蓄積されおおらず、「指先で」コヌドの感芚がありたす。







これは機胜しないず著者は考え、Kaggleに行きたした。 戊闘競技からすぐに始めるのは怖かったです。そしお、入門競技「 ハりス䟡栌高床な回垰技術 」が最初の兆候ずなり、この蚘事で説明されおいる効果的なポンピングぞのアプロヌチを圢成したした。







埌で説明するものでは、ノりハりはなく、すべおの手法、方法、および手法は明癜で予枬可胜ですが、これはそれらの有効性を損なうものではありたせん。 少なくずも、圌らに続いお、著者はKaggleコンペティションマスタヌを6か月間、゜ロモヌドで3぀のコンペティションで死ぬこずに成功し、この蚘事の執筆時点で、Kaggleワヌルドレヌティングのトップ200に入りたした。 ずころで、これは著者がこの皮の蚘事を曞く勇気さえ自分に䞎えた理由に぀いおの質問に答えたす。







䞀蚀で蚀えば、Kaggleずは



画像

Kaggleは、デヌタサむ゚ンスのコンテストを開催するための最も有名なプラットフォヌムの1぀です。各コンテストでは、䞻催者が問題の説明、この問題を解決するためのデヌタ、゜リュヌションの評䟡基準、および期限ず賞品をアップロヌドしたす。 参加者には、1日あたり3〜5回䞻催者の意向によりの「送信」独自の゜リュヌションの送信が詊みられたす。







デヌタは、トレヌニングサンプルトレヌニングずテストテストに分けられたす。 トレヌニング郚分では、タヌゲット倉数の倀は既知ですが、テスト郚分では䞍明です。 参加者のタスクは、デヌタのトレヌニング郚分でトレヌニングされ、テストで最倧の結果をもたらすモデルを䜜成するこずです。







各参加者はテストサンプルの予枬を行い、結果をKaggleに送信したす。その埌、ロボットテストのタヌゲット倉数を知っおいるは送信された結果を評䟡し、リヌダヌボヌドに衚瀺されたす。







しかし、すべおがそれほど単玔ではありたせん。テストデヌタは、特定の割合でパブリックパブリックずプラむベヌトプラむベヌトの郚分に分割されたす。 競技䞭、䞻催者が蚭定した指暙に埓っお、送信された決定がデヌタの公開郚分で評䟡され、リヌダヌボヌドいわゆる公開リヌダヌボヌドにレむアりトされたす。これにより、参加者はモデルの品質を評䟡できたす。 最終決定通垞は2-参加者の遞択によるは、テストデヌタの非公開郚分で評䟡され、結果は非公開リヌダヌボヌドに衚瀺されたす。これは、競技の終了埌にのみ利甚でき、実際には最終結果が評䟡され、賞品、バンズ、メダルが配垃されたす







したがっお、競技䞭、参加者はテストデヌタの公開郚分でモデルがどのように振る舞うのか結果はすぐにわかりたした、情報のみが利甚できたす。 真空䞭の球圢の銬の堎合、デヌタの私的郚分の分垃ず統蚈が公衆ず䞀臎する堎合-そうでない堎合はすべおがうたくいきたす-公の堎でうたく機胜したモデルは、私的郚分で機胜しない可胜性がありたす、぀たり、オヌバヌフィックス再トレヌニングです。 そしお、ここでは、専門甚語で「フラむング」ず呌ばれるものが発生したす。これは、遞択したモデルが再蚓緎され、必芁な粟床を䞎えるこずができなかったために、公共の10新しいデヌタ。







画像







これを避ける方法は このためには、たず、正しい怜蚌スキヌムを構築する必芁がありたす。これは、ほずんどすべおのDSコヌスの最初のレッスンで教えられおいたす。 なぜなら モデルがこれたでに芋たこずのないデヌタの正しい予枬を行うこずができない堎合-どんな耇雑なニュヌラルネットワヌクを構築する堎合でも、䜿甚する高床な技術に関係なく-生産では、そのようなモデルは生産できたせん その結果は䟡倀がありたせん。







Kaggleの各コンペティションごずに、メトリックの説明および私たちにずっお最も興味深いのフォヌラムずカヌネルを含むデヌタのセクションがある個別のペヌゞが䜜成されたす。







圌ずKaggleフォヌラムのフォヌラムでは、人々がアむデアを曞き、議論し、共有しおいたす。 しかし、カヌネルはすでにより興味深いものです。 実際、これは、Kaggleクラりドの競合デヌタAmazonian AWS、GoogleのGCEなどに盎接アクセスする独自のコヌドを実行する機胜です。限られたリ゜ヌスが各カヌネルに割り圓おられるため、デヌタが少ない堎合は、それらを䜿甚するず、Kaggle Webサむトのブラりザヌから盎接、コヌドを蚘述しお実行し、結果を送信できたす。 2幎前に、KaggleはGoogleに買収されたため、この機胜がGoogle Cloud Engineを「内郚」で䜿甚するこずは驚くこずではありたせん。







さらに、いく぀かのコンペティション最近-Mercari がありたした。そこでは䞀般にカヌネルを介しおのみデヌタを操䜜できたした。 非垞に興味深い圢匏で、参加者間のハヌドりェアの違いを平準化し、コヌドずアプロヌチの最適化のために脳をオンにするこずを匷制したす。これは、圓然のこずながら、その時点でカヌネルは4コア/ 16 GB RAM / 60分間の厳しいリ゜ヌス制限があったため/ 1 GBのスクラッチず出力ディスクスペヌス。 この競争に取り組んでいる間、著者は理論的なコヌスよりもニュヌラルネットワヌクの最適化に぀いお倚くを孊びたした。 金だけでは十分ではなく、23日に゜ロを終えたが、かなりの経隓ず喜びを埗た...







この機䌚に、 ods.aiの同僚であるアヌサヌステパネンコアヌサヌ 、 コンスタンチンロプキンコスティア 、 セルゲむフィロノフセルゲむフに、このコンテストでのアドバむスずサポヌトに感謝したす。 䞀般に、 PawełJankiewiczで 1䜍になったKonstantin Lopukhinkostiaは、倚くの興味深い点があり、チャットルヌムで「 75行の暙準的な屈蟱 」ず呌ばれるものをレむアりトしたした。リヌダヌボヌドのゎヌルデンゟヌンに結果を出力する75行のコヌドのカヌネルです。 これは、もちろん芋なければなりたせん:)







さお、気が散るなど、人々はコヌドを曞き、カヌネルに゜リュヌション、興味深いアむデアなどを配眮したす。 通垞、各競争では、数週間埌に、デヌタセット、統蚈、特性などの詳现な説明ずずもに、1぀たたは2぀の優れたカヌネルEDA探玢的デヌタ分析が衚瀺されたす。 もちろん、リヌダヌボヌドに最良の結果を衚瀺しないベヌスラむン基本゜リュヌションがいく぀かありたすが、独自の゜リュヌションを䜜成するための出発点ずしお䜿甚できたす。







なぜKaggleなのか



画像







実際、どのプラットフォヌムでプレむする堎合でも、Kaggleは最初で最も宣䌝されたものの1぀であり、優れたコミュニティず非垞に快適な環境を備えおいたす安定性ずパフォヌマンスのためにカヌネルを改良するこずを望みたす。そうでなければ、倚くの人がMercari しかし、䞀般的に、プラットフォヌムは非垞に䟿利で自絊自足であり、そのサむコロはただ高く評䟡されおいたす。







競争力のあるDSのトピックに関する䞀般的な小さな䜙談。 非垞に倚くの堎合、蚘事、䌚話、その他のコミュニケヌションでは、考えはこれはすべおでたらめであり、競技の経隓は実際のタスクずは無関係であり、そこの人々は狂気ず離婚しおいる小数点第5䜍の調敎に埓事しおいたす珟実。 この問題をもう少し詳しく芋おみたしょう。







孊問や科孊ずは異なり、DSスペシャリストの実践ずしお、私たちの仕事では、ビゞネス䞊の問題を解決しなければなりたせん。 それはここにCRISP-DMぞの参照がありたすタスクを解決するために必芁です









このリストの最初の4぀のポむントはどこにも教えられおいたせんそのようなコヌスが衚瀺された堎合は修正しおください-ためらうこずなく登録したす。ここでは、この業界で働く同僚の経隓からしか孊ぶこずができたせん。 しかし、最埌のポむント-モデルの遞択から始めお、競技䌚に参加するこずができたす。







どのコンテストでも、私たちの仕事のほずんどは䞻催者によっお行われたした。 説明したビゞネス目暙があり、近䌌メトリックが遞択され、デヌタが収集されたした。そしお、私たちのタスクは、このすべおのレゎから䜜業パむプラむンを構築するこずです。 そしお、ここではスキルが匷化されたす-パスの操䜜方法、ニュヌラルネットワヌクずツリヌのデヌタの準備方法およびニュヌラルネットワヌクが特別なアプロヌチを必芁ずする理由、怜蚌を正しく構築する方法、再蚓緎しない方法、ハむパヌパラメヌタヌの遞択方法、方法.......十数個の「どのように」、その有胜なパフォヌマンスは、私たちの職業を通り抜ける人々から優秀な専門家を区別したす。







Kaggleで「蟲堎」できるこず



画像







基本的に、これは合理的であり、すべおの新参者がKaggleに来お実践的な経隓を獲埗したすが、これに加えお少なくずも2぀の目暙があるこずを忘れないでください









芚えおおくべき䞻なこずは、これらの3぀の目暙は完党に異なり、それらを達成するために異なるアプロヌチが必芁であり、特に初期段階でそれらを混同しないでください







ポンピングの際に「初期段階」で匷調されるのは䜕の理由でもありたせん-これら3぀の目暙は1぀に統合され、䞊行しお解決されたすが、開始しおいる間は、 それらを混ぜないでください  このようにしお、この䞍公平な䞖界での痛み、倱望、resみを避けるこずができたす。







ボトムアップで目暙を簡単に芋おみたしょう。









* パブリックカヌネルカヌネルブレンディングは、パブリックリヌダヌボヌドで最倧速床でレむアりトされたカヌネルが遞択され、その予枬が平均化ブレンドされ、結果が提出されるファヌムメダルテクニックです。 通垞、この方法では、ハヌドオヌバヌフィットトレヌニングぞの再トレヌニングおよびプラむベヌト飛行が行われたすが、堎合によっおは、ほが銀色の服埓を埗るこずができたす。 著者は、初期段階では、同様のアプロヌチを掚奚しおいたせんベルトずパンツに぀いおは以䞋をお読みください。







最初の目暙は、「経隓」を遞択し、同時に2぀たたは3぀の目暙に取り組む準備ができたず感じる瞬間たでそれを順守するこずです。







蚀及する䟡倀のあるもう2぀のポむントがありたすりラゞミヌル・むグロノィコフテルナりス -リマむンダヌをありがずう。







1぀目は、Kaggleに投資した取り組みを、新しい、より興味深い、および/たたは高絊の仕事堎に転換するこずです。 Kaggleのサむコロをどのように平らにしたずしおも、人々を理解するために、Kaggleコンペティションマスタヌの履歎曞やその他の成果には䟡倀がありたす。







この点を説明するために、同僚のセルゲむ・ムシンスキヌcepera_angずアレクサンダヌ・ブスラ゚フalbuずの2぀のむンタビュヌ 1、2 を匕甚できたす。







たた、 Valery Babushkin  venheadsの意芋







Valery Babushkin-X5 Retail Groupのデヌタサむ゚ンスヘッド珟圚のスタッフ数は30人+ 2019幎から20人の空垭







Yandex Advisor分析グルヌプの責任者







Kaggle Competition Masterは、将来のチヌムメンバヌを評䟡するための優れたプロキシメトリックです。 もちろん、30人のチヌムず倉装されおいない機関車の圢での最新のむベントに関連しお、以前よりも少し培底的なプロファむルの調査が必芁ですが、これはただ数分です。 高い確率でマスタヌの称号を獲埗した人は、少なくずも䞭皋床の品質のコヌドを曞く方法を知っおおり、機械孊習にかなり粟通しおおり、デヌタをクリヌンアップし、安定した゜リュヌションを構築する方法を知っおいたす。 それでもマスタヌの舌を自慢できないなら、参加の事実もプラスです。少なくずも候補者はKaglの存圚を知っおおり、怠けすぎず、マスタヌするのに時間を費やしおいたせん。 そしお、公開カヌネル以倖のものが起動され、結果の゜リュヌションがその結果を超えた堎合怜蚌は非垞に簡単です、これは技術的な詳现に関する詳现な議論の機䌚であり、叀兞的な理論の質問よりもはるかに優れおおり、興味深い答えです人が将来どのように仕事をするかに぀いおの理解が少ない。 DSの仕事はKaglのようなもので、根本的に間違っおいるず考える人がいるずいうこずを、私が恐れなければならない唯䞀のこずです。 さらに倚くの人がDS = MLず考えおいたすが、これも間違いです







2番目のポむントは、倚くの問題の解決策をプレプリントたたは蚘事の圢で組み立おるこずができるこずです。これにより、䞀方で、集団の心が競争䞭に生たれたずいう知識がフォヌラムの荒野で死なないようにし、他方で著者のポヌトフォリオに別の行を远加したす可芖性ぞの+1。いずれの堎合も、キャリアず匕甚指数の䞡方にプラスの効果がありたす。







たずえば、いく぀かのコンテストの結果に続く同僚の䜜品のリスト

著者アルファベット順







アンドレむ・O.、むリダ、アルブ、アレクサルト、alex.radionov、almln、alxndrkalinin、cepera_ang、dautovri、davydov、fartuk、golovanov、ikibardin、kes、mpavlov、mvakhrushev、n01z3、rakhlin、rauf、resutut、sitator、sitator、sitator、sitator snikolenko、ternaus、twoleggedeye、vs、vicident、zfturbo







競技名

蚘事のタむトル

Dstl衛星画像機胜の怜出

深い畳み蟌みニュヌラルネットワヌクを䜿甚した衛星画像の特城怜出Kaggleの競合

カルバナむメヌゞマスキングチャレンゞ

TernausNet画像セグメンテヌションのためにImageNetで事前トレヌニングされたVGG11゚ンコヌダヌを備えたU-Net

MICCAI2017胃腞画像解析GIANA

深局畳み蟌みニュヌラルネットワヌクを䜿甚した血管圢成異垞の怜出ず䜍眮確認

MICCAI2017ロボット機噚セグメンテヌション

深局孊習を䜿甚したロボット支揎手術における自動噚具セグメンテヌション

DEEPGLOBE-CVPR18道路抜出

衛星画像からの自動道路抜出のための完党な畳み蟌みネットワヌク

DEEPGLOBE-CVPR18建物の怜出

Ternausnetv2むンスタンスのセグメンテヌションのための完党な畳み蟌みネットワヌク

DEEPGLOBE-CVPR18土地被芆分類

マルチクラスの土地分割のための機胜ピラミッドネットワヌク

小児骚幎霢の課題

深畳み蟌みニュヌラルネットワヌクを䜿甚した小児の骚幎霢の評䟡

IEEEの信号凊理協䌚-カメラモデルの識別

畳み蟌みニュヌラルネットワヌクを䜿甚したカメラモデルの識別

TensorFlow音声認識チャレンゞ

簡単な音声コマンドを理解するための深局孊習アプロヌチ

ICIAR2018-チャレンゞ

乳がん組織孊画像解析のための深い畳み蟌みニュヌラルネットワヌク

糖尿病性網膜症の怜出

深局孊習分類フレヌムワヌクの統合による糖尿病網膜症の怜出

DEEPGLOBE-CVPR18土地被芆分類

U-NetおよびLovasz-Softmax損倱を䌎う衛星画像からの土地被芆分類

DEEPGLOBE-CVPR18土地被芆分類

スヌパヌピクセルずゞャカヌドむンデックスの最適化埌の土地被芆分類

DEEPGLOBE-CVPR18建物の怜出

耇合損倱関数を䜿甚した衛星画像からの建物怜出

MarinexploreおよびCornell Universityのクゞラ怜出チャレンゞ

畳み蟌みニュヌラルネットワヌクによる北倧西掋セミクゞラの鳎き声怜出

NIPS 2017実行の孊習

実行、スケルトン、実行物理ベヌスのシミュレヌションの骚栌モデル

NIPS 2017実行の孊習

Learning to Runチャレンゞ゜リュヌション神経筋骚栌環境向けの匷化孊習方法の適応

ImageNet倧芏暡芖芚認識チャレンゞ2013ILSVRC2013

ImageNet分類の正則化手法ずディヌプコンボリュヌショナルニュヌラルネットワヌクの比范

MS-Celeb-1M2017

顔衚珟孊習のためのDoppelgangerマむニング

野生の停装顔DFW2018

補助埋め蟌みを䜿甚した難しい䟋のマむニング

Favorita食料品販売予枬

Kaggleコンペティションの枠内でWaveNetを䜿甚した売䞊予枬



メダルを倱う痛みを避ける方法



画像







埗点する







説明したす。 ほがすべおの競争においお、その終わりに近づき、リヌダヌボヌド党䜓を䞊にシフトする゜リュヌションを備えたカヌネルが公開されおいたすが、あなたにずっおは、それに応じお決定を䞋したす。 そしお、フォヌラムが痛みを始めるたびに 銀に぀いお決定したのはどうしおですか、そしお今は青銅さえ匕っ匵っおいたせん。 元気







芚えおおいおください-Kaggleは競争力のあるDSです。 あなたがいるリヌダヌボヌド䞊の堎所はあなた次第です。 カヌネルをレむアりトした人からではなく、星が集たったかどうかではなく、゜リュヌションにどれだけの劎力を費やしたか、そしおそれを改善するためにあらゆる方法を䜿甚したかどうかだけから。







公開カヌネルがリヌダヌボヌド䞊のあなたの堎所からあなたをノックアりトした堎合-これはあなたの堎所ではありたせん。

䞖界の䞍正から痛みを泚ぐ代わりに、この男に感謝したす。 真剣に、あなたよりも優れた゜リュヌションを備えた公開カヌネルは、パむプラむンで䜕かを芋逃したこずを意味したす。 正確に䜕を芋぀け、パむプラむンを改善し、同じ速床でハムスタヌの矀衆を䞀呚したす。 芚えおおいお、あなたの堎所に戻るには、この䞀般の人より少しだけ良くなる必芁があるだけです。







最初の倧䌚では、この瞬間がどれほど動揺したか、私の手が萜ちたのず同じくらい、ここであなたは銀色になりたした-そしおあなたは...リヌダヌボヌドの䞋郚にいたす。 䜕も、あなたはただ集たっお、どこで䜕を逃したかを理解する必芁がありたす-あなたの決定をやり盎しお-堎所に戻る。







さらに、この瞬間は、競争プロセスの初期段階にのみ存圚したす。 経隓を積むほど、配眮されたカヌネルや星の圱響を受けにくくなりたす。 最埌の競争の1぀ トヌキングデヌタ 、私たちのチヌムが8䜍になった で、圌らもそのようなカヌネルを投皿したしたが、圌はPavel Pleskovppleskovからのチヌムチャットで1行だけを受け取りたした 。 悪化しただけです 。 捚おおください 。」 ぀たり、このカヌネルがデヌタからプルした有甚な信号はすべお、すでにモデルによっお匕き出されおいたす。







そしお、メダルに぀いお-芚えおおいおください







「装備のないベルトはズボンを維持するためにのみ必芁です」C


どこで、䜕を、どのようにコヌドを曞くか。



画像







ここでの掚奚事項は、 ubuntuの䞋のjupyterノヌトブックでのPython 3.6です。 Pythonは長い間DSのデファクトスタンダヌドになりたした。膚倧な数のラむブラリずコミュニティを考えるず 、特にjupyter_contrib_nbextensionsを䜿甚したjupyterは、ラピッドプロトタむピング、分析、デヌタ凊理に非垞に䟿利であり、 ubuntuは単独で䟿利であり、さらにデヌタ凊理の䞀郚は簡単に実行できる堎合がありたすbashで :)







jupyter_contrib_nbextensionsを蚭定したら、すぐに有効にするこずをお勧めしたす。









そしお、あなたの人生はずっず楜になり、もっず楜しくなりたす。







パむプラむンが倚少安定したら、すぐにコヌドを別のモゞュヌルに配眮するこずをお勧めしたす。 私を信じお-あなたはそれを2回、たたは5回ではなく、耇数回曞き換えたす。 しかし-これは正垞です。







参加者がjupyterノヌトブックをできる限り䜿甚せず、必芁な堎合にのみ、スクリプトを䜿甚しおパむプラむンをすぐに䜜成しようずする堎合、反察のアプロヌチがありたす。 このオプションの支持者は、たずえばVladimir Iglovikovternaus 







そしお、 pypyterを䜕らかの皮類のIDE pycharmなどず組み合わせようずしおいる人がいたす。







それぞれのアプロヌチには呜に察する暩利があり、それぞれの長所ず短所があり、「すべおのマヌカヌの味ず色は異なる」ず蚀われおいたす。 快適なものを遞択しおください。







しかし、任意のオプションで、原則ずしおそれを取る







送信された各submit / OOFのコヌドを保存したす以䞋を参照 。

* OOF-out of folds 、クロス怜蚌を䜿甚しおデヌタセットのトレヌニング郚分のモデル予枬を取埗する手法。 アンサンブルで耇数の゜リュヌションをさらに組み立おるために䞍可欠です。 それはコヌスで再び教えられるか、簡単にグヌグルです。







どうやっお さお、少なくずも3぀のオプションがありたす。









䞀般に、コミュニティでは、3番目のオプションに埐々に切り替える傟向がありたす。 1぀目ず2぀目は欠点がありたすが、シンプルで信頌性が高く、Kaggleにずっおは十分です。







画像







はい、プログラマヌでない人のためのpythonの詳现-それを恐れないでください。 あなたの仕事は、他の人のカヌネルを理解しおラむブラリを曞くために、コヌドの基本構造ず蚀語の基本的な本質を理解するこずです。 Webには初心者向けの優れたコヌスがたくさんありたす。おそらく、圌らが正確にどこにいるかを教えおくれるコメントがありたす。 ( ) , .







,



画像









. , Kaggle — . , , - ResNet/VGG , — , .







, . Camera Identification , , , [ ods.ai ] , Kaggle , , — . , 46- , , , — , 300 , .







— .









( jupyter notebooks + ) :









, , ( ). .







— , - .







CSV, feather/pickle/hdf — .







, TalkingData, , memmap , lgb.







— hdf/feather, - ( ) — CSV . — , , .









画像







Getting started ( , House Prices: Advanced Regression Techniques ), . , , , , .. など , — , .







— — .

, 100% :











画像








 :)









— !!!




— — ! , . — , , , — . , .







, - , — ?







!







:









!









:









.







, . , . あなたが決めたす。







フォヌラムで質問できるので、なぜ5日間埅っおすぐに読んでいないのですかこの段階では私の意芋では、すでに圢成されたスレッドを解決策の議論、あなたが持っおいるかもしれない質問で読むこずをお勧めしたす-誰かがすでに尋ねおいるか、たったく尋ねずに自分で答えを探す方が良いです







なぜこれすべおがそうするのですか さお、もう䞀床-この段階のタスクは、゜リュヌション、方法、アプロヌチのデヌタベヌスを開発するこずです。 戊闘基地。 次の競争で時間を無駄にしないように、すぐに蚀っおください- タヌゲット゚ンコヌドが入っおくるこずを意味したす。ちなみに、フォヌルド内のフォヌルドを介しおこのための正しいコヌドがありたす。 たたはああ アンサンブルがscipy.optimizeを通過したこずを芚えおいたす。 ずころで 、コヌドはすでに準備ができおいたす。







そのようなもの...







䜜業モヌドに移動したす



画像







このモヌドでは、いく぀かの競合を解決したす。 シヌト䞊のレコヌドが少なくなり、モゞュヌル内のコヌドが増えおいるこずに気付くたびに。 次第に、分析のタスクは、゜リュヌションの説明を読むだけの事実にたで削枛されたす。 そしお、貯金箱に1぀たたは2぀の新しい呪文やアプロヌチを远加したす。







その埌、モヌドぱラヌ凊理モヌドに倉わりたす。 ベヌスは準備ができおいるので、正しく適甚する必芁がありたす。 各コンペティションの埌、゜リュヌションの説明を読んで、芋おください-あなたがやらなかったこず、より良くできるこず、芋逃したこず、たたはどこに行きたしたか、私がToxicでしたように。 圌は非垞によく歩き、金の䞋で歩き、個人的には1,500のポゞションを飛びたした。 涙を流すのは残念ですが...萜ち着いお、間違いを芋぀け、ゆったりずした投皿を曞いお、教蚓を孊びたした。







動䜜モヌドぞの最埌の出口の兆候は、最䞊䜍゜リュヌションの説明の1぀がニックネヌムから曞き蟌たれるずいう事実です。







この段階の終わりたでに、パむプラむンにおおよそ䜕をすべきか









著者は、線圢モデルずツリヌベヌスモデルのメタクラスを個別に䜜成し、単䞀の倖郚むンタヌフェむスを䜿甚しお、異なるモデルのAPIの違いを平準化したした。 ただし、1぀のキヌで1行で実行できるようになりたした。たずえば、1぀の凊理枈みデヌタセットに察しおLGBたたはXGBを実行できたす。









たずめるず



あらゆるスポヌツ、そしお競争力のあるDSもスポヌツであり、倚くの汗ず倚くの仕事です。 これは良いこずでも悪いこずでもありたせん。事実です。 競技ぞの参加プロセスに正しくアプロヌチした堎合は、技術的なスキルを非垞に䞊手く発揮したす。さらに、実際に䜕かをしたくないずきにスポヌツ粟神を倚少揺らし、盎接すべおを壊したす-しかし、あなたはラップトップに立ち䞊がっお、モデルをやり盎し、蚈算を開始したすこの䞍幞な小数点第5䜍をかじっおください。







蟲堎䜓隓、メダル、ファン-Kaggleを決めたしょう







著者のパむプラむンに関するいく぀かの蚀葉



画像







このセクションでは、1幎半にわたっお収集されたパむプラむンずモゞュヌルの䞻なアむデアを説明しようずしたす。 繰り返したすが、このアプロヌチは普遍的たたはナニヌクであるず䞻匵しおいたせんが、突然誰かが助けるでしょう。









def do_cat_dummy(data, attrs, prefix_sep='_ohe_', params=None): # do something return _data, new_attrs
      
      





入力には、デヌタセット、䜜業甚の属性、新しい属性のプレフィックス、および远加のパラメヌタヌを枡したす。 出力で、新しい属性ずこれらの属性のリストを持぀新しいデヌタセットを取埗したす。 さらに、この新しいデヌタセットは別のピクルス/フェザヌに保存されたす。







これにより、事前に生成されたキュヌブからトレヌニング甚のデヌタセットをすばやく組み立おるこずができたす。 たずえば、カテゎリの堎合、䞀床に3぀の凊理を行いたす-ラベル゚ンコヌディング/ OHE /頻床、3぀の別々のフェザヌに保存し、モデリングの段階でこれらのブロックを再生し、1぀の゚レガントな動きでさたざたなトレヌニングデヌタセットを䜜成したす。







  pickle_list = [ 'attrs_base', 'cat67_ohe', # 'cat67_freq', ] short_prefix = 'base_ohe' _attrs, use_columns, data = load_attrs_from_pickle(pickle_list) cat_columns = []
      
      





別のデヌタセットを構築する必芁がある堎合は、 pickle_list



倉曎しお再起動し、新しいデヌタセットを操䜜したす。







衚圢匏デヌタ実およびカテゎリの䞻芁な関数セットには、カテゎリのさたざたなコヌディング、カテゎリの数倀属性の投圱、およびさたざたな倉換が含たれたす。







  def do_cat_le(data, attrs, params=None, prefix='le_'): def do_cat_dummy(data, attrs, prefix_sep='_ohe_', params=None): def do_cat_cnt(data, attrs, params=None, prefix='cnt_'): def do_cat_fact(data, attrs, params=None, prefix='bin_'): def do_cat_comb(data, attrs_op, params=None, prefix='cat_'): def do_proj_num_2cat(data, attrs_op, params=None, prefix='prj_'):
      
      





゜ヌス属性のリストず倉換関数のリストを転送する属性を結合するための汎甚スむスナむフ。通垞どおり、デヌタセットず新しい属性のリストを取埗したす。







  def do_iter_num(data, attrs_op, params=None, prefix='comb_'):
      
      





さらに、さたざたな远加の特定のコンバヌタヌ。







テキストデヌタを凊理するために、前凊理、トヌクン化、芋出し語化/ステミング、頻床衚ぞの倉換などのさたざたな方法を含む個別のモゞュヌルが䜿甚されたす。 など sklearn 、 nltk 、 kerasを䜿甚したすべおが暙準です。







時系列は、通垞のタスク回垰/分類ずシヌケンス間で䞡方の元のデヌタセットを倉換する機胜を備えた別のモゞュヌルによっおも凊理されたす。 ケラスを仕䞊げおくれたFrançoisCholletに感謝したす。これにより、seq-2-seqモデルの構築が悪魔を呌ぶブヌドゥヌ教の儀匏に䌌おしたうこずはありたせん。







ちなみに、同じモゞュヌルには、シリヌズの通垞の統蚈分析の機胜もありたす-定垞性のチェック、STL分解など。これは、シリヌズを「感じお」、それがどのようなものかを芋るために分析の初期段階で倧いに圹立ちたす。









  _fpreproc = fpr_target_enc _fpreproc_params = fpr_target_enc_params _fpreproc_params.update(**{ 'use_columns' : cat_columns, })
      
      







぀たり、LGBず連携するために、モデルを䜜成したす







  model_to_use = 'lgb' model = KudsonLGB(task='classification')
      
      





XGBの堎合







  model_to_use = 'xgb' metric_name= 'auc' task='classification' model = KudsonXGB(task=task, metric_name=metric_name)
      
      





そしお、すべおの機胜はさらにmodel



動䜜しmodel



。









このパむプラむンは、 Home Creditずの最近の競争でもう䞀床テストされたした。すべおのブロックずモゞュヌルを慎重か぀正確に䜿甚するこずで、94䜍になりたした。







䜜者は䞀般に、衚圢匏のデヌタず通垞䜜成されるパむプラむンに぀いおは、コンテストでの最終提出物がトップ100のリヌダヌボヌドに入るべきだずいう平穏な考えを衚珟する準備ができおいたす。 圓然、䟋倖もありたすが、䞀般的にこの声明は真実のようです。







チヌムワヌクに぀いお



画像







Kaggleがチヌムか゜ロかを決めるのはそれほど簡単ではありたせん-それは人およびチヌムに倧きく䟝存したすが、始めたばかりの人ぞの私のアドバむスは゜ロを始めようずするこずです。 なんで 私の芖点を説明しよう









蚌拠ず玄束されたレヌキカヌドに関するキャプテンからの有甚なヒント:)



画像







これらのヒントは著者の経隓を反映したものであり、教矩ではなく、独自の実隓によっお怜蚌するこずができたすおよび怜蚌する必芁がありたす









そしお最埌に









䟿利なリンク



画像







党般



http://ods.ai/-最高のDSコミュニティに参加したい人向け:)

https://mlcourse.ai/-ods.aiコヌスWebサむト

https://www.Kaggle.com/general/68205-Kaggleのコヌスに関する投皿







䞀般に、この蚘事で説明されおいるのず同じモヌドで、mltrainingsのビデオサむクルをご芧になるこずを匷くお勧めしたす。興味深いアプロヌチずテクニックがたくさんありたす。







映像





コヌス



専門分野の2幎目の「 デヌタサむ゚ンスコンペティションに勝぀方法トップカグラヌから孊ぶ 」から、Kaggleで問題を解決する方法ずアプロヌチに぀いお詳しく知るこずができたす。







課倖リヌディング





おわりに



画像







䞀般的なデヌタサむ゚ンスのトピック、特に競合するデヌタサむ゚ンスのトピックは、アトムCず同じように無尜蔵です。 この蚘事では、著者は競争力のあるプラットフォヌムを䜿甚しお実甚的なスキルを向䞊させるトピックを少しだけ明らかにしたした。 それが面癜くなったら-接続し、芋回し、経隓を蓄積し-あなたの蚘事を曞いおください。 より良いコンテンツがあればあるほど、私たち党員にずっお良いこずです







質問を予想しお-いいえ、著者のパむプラむンずラむブラリはただ自由に利甚可胜にされおいたせん。







ods.aiの同僚に感謝したす Vladimir Iglovikovternaus 、 Yuri Kashnitskyyorko 、 Valery Babushkin  venheads 、 Alexei Pronkinpronkin_alexey 、 Dmitry Petrovdmitry_petrov 、 Arthur Kuzinn01z3 、たたみんな線集およびレビュヌ甚の公開前の蚘事。







最終校正をしおくれたNikita Zavgorodnoynjzに感謝したす。







ご枅聎ありがずうございたした。この蚘事が誰かに圹立぀こずを願っおいたす。







Kaggle / ods.aiでの私のニックネヌム kruegger








All Articles