tag:crieit.net,2005:https://crieit.net/boards/kaggles-30-days-of-ml-mm/feed 「Kaggle's 30 Days of ML やってみたメモ」の投稿 - Crieit Crieitで「Kaggle's 30 Days of ML やってみたメモ」ボードに投稿された最近の投稿 2021-08-28T15:12:07+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/feed tag:crieit.net,2005:PublicArticle/Day18 2021-08-28T15:12:07+09:00 2021-08-28T15:12:07+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day18 Day18 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day15以降の課題</h2> <ul> <li>指定のCompetitionへ、1日1回Submitする<br /> (本プログラム参加者限定コンペ、リンク共有不可)</li> </ul> <h2>Competitionの概要</h2> <ul> <li>保険のクレームの量を予測する</li> </ul> <h2>今日やったこと</h2> <ul> <li>LightGBM Tunerを使ってハイパーパラメータを最適化してみる <ul> <li>LightGBM Tuner: LightGBM に特化したハイパーパラメータ自動最適化のためのモジュール。7個のパラメータにおいて、最適な値の組み合わせを探索</li> </ul></li> </ul> <h2>覚えておきたいこと</h2> <ul> <li>LightGBM Tunerを使うときは、LightGBMのimport行を以下のように変更する<br /> <code>import optuna.integration.lightgbm as lgb</code></li> </ul> <h2>メモ</h2> <ul> <li>LightGBM Tunerを使ってはみたが、前回LGBMを使ったときより精度は落ちてしまった</li> <li>LightGBM Tunerの処理はかなり時間がかかる</li> </ul> <h2>参考</h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://rightcode.co.jp/blog/information-technology/lightgbm-useful-for-kaggler">Kaggler がよく使う「LightGBM」とは?【機械学習】</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://potesara-tips.com/lightgbm-k-fold-cross-validation/#toc4">【Python覚書】LightGBMで交差検証を実装してみる </a></li> <li><a target="_blank" rel="nofollow noopener" href="https://tech.preferred.jp/ja/blog/hyperparameter-tuning-with-optuna-integration-lightgbm-tuner/">Optuna の拡張機能 LightGBM Tuner によるハイパーパラメータ自動最適化</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/askl4267/items/28b476f76b01699430fe">LightGBM Tunerを用いたハイパーパラメーターのチューニング</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://nigimitama.hatenablog.jp/entry/2021/01/05/205741">LightGBMの「No further splits with positive gain」というwarningの意味</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://lightgbm.readthedocs.io/en/latest/Parameters-Tuning.html">LightGBM - Parameters Tuning</a></li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/21/kaggles-30-days-of-ml-day17.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day17 2021-08-21T22:28:09+09:00 2021-08-21T22:28:09+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day17 Day17 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day15以降の課題</h2> <ul> <li>指定のCompetitionへ、1日1回Submitする<br /> (本プログラム参加者限定コンペ、リンク共有不可)</li> </ul> <h2>Competitionの概要</h2> <ul> <li>保険のクレームの量を予測する</li> </ul> <h2>今日やったこと</h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="./build_kaggle_env_on_docker.html">Dockerを使ってKaggleの環境を構築してみた</a></li> <li>LGBMを使ったやり方のパラメータを調整してみた <ul> <li>精度は上げられなかった</li> </ul></li> </ul> <h2>覚えておきたいこと</h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://nykergoto.hatenablog.jp/entry/2019/03/29/%E5%8B%BE%E9%85%8D%E3%83%96%E3%83%BC%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%A7%E5%A4%A7%E4%BA%8B%E3%81%AA%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AE%E6%B0%97%E6%8C%81%E3%81%A1">勾配ブースティングで大事なパラメータの気持ち</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://data-analysis-stats.jp/python/lightgbm%E3%81%AE%E8%A7%A3%E8%AA%AC/">LightGBMの解説</a></li> </ul> <h2>メモ</h2> <ul> <li><code>Optuna</code>を使うとハイパーパラメータを最適化できるらしいので、試してみたい <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/a_shiba/items/89cfcc012edd5bdc95dc">ハイパーパラメータを最適化するOptunaの使い方</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://blog.amedama.jp/entry/2018/12/06/015217">Python: Optuna で機械学習モデルのハイパーパラメータを選ぶ</a></li> </ul></li> <li>LGBMRegressorのドキュメントは<a target="_blank" rel="nofollow noopener" href="https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMRegressor.html">こちら</a></li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/21/kaggles-30-days-of-ml-day17.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day16 2021-08-19T19:33:34+09:00 2021-08-19T19:33:34+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day16 Day16 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day15以降の課題</h2> <ul> <li>指定のCompetitionへ、1日1回Submitする<br /> (本プログラム参加者限定コンペ、リンク共有不可)</li> </ul> <h2>Competitionの概要</h2> <ul> <li>保険のクレームの量を予測する</li> </ul> <h2>今日やったこと</h2> <ul> <li>昨日作ったNotebookの改良 <ul> <li>RandomForest→XGBoostに置き換えてみる</li> </ul></li> <li>LGBMを使ってみる</li> <li><a target="_blank" rel="nofollow noopener" href="./run-kaggles-code-in-local-env.md">ローカルでKaggleのソースを動かしてみる</a> <ul> <li>KaggleのKernel上だと実行にかなり長い時間がかかったので、試してみた</li> </ul></li> </ul> <h2>覚えておきたいこと</h2> <ul> <li>一度SaveしたVersionは削除できないらしい(<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/getting-started/55855">参考</a>)</li> </ul> <h2>メモ</h2> <ul> <li>Dockerを使って環境構築する方法も試してみたい <ul> <li>参考:<a target="_blank" rel="nofollow noopener" href="https://qiita.com/bam6o0/items/354faa9394755a984661">爆速でKaggle環境を構築する</a></li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.codexa.net/lightgbm-beginner/">LightGBM 徹底入門 – LightGBMの使い方や仕組み、XGBoostとの違いについて</a></li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/19/kaggles-30-days-of-ml-day16.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day15 2021-08-18T19:32:10+09:00 2021-08-18T19:32:10+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day15 Day15 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day15以降の課題</h2> <ul> <li>指定のCompetitionへ、1日1回Submitする<br /> (本プログラム参加者限定コンペ、リンク共有不可)</li> </ul> <h2>Competitionの概要</h2> <ul> <li>保険のクレームの量を予測する</li> </ul> <h2>今日やったこと</h2> <ul> <li>Competitionへの参加方法の説明を読む</li> <li>初回のSubmitを行う</li> </ul> <h2>覚えておきたいこと</h2> <ul> <li>新規Notebookの作成方法 <ul> <li><code>Code</code>タブの<code>New Notebook</code>ボタンで作成できる</li> </ul></li> <li>CompetisionのRuleで特に着目すべき項目 <ul> <li>Section B7A. Data Access and Use</li> <li>Section A1, Winner License</li> </ul></li> <li>Submissionの形式には3種類ある <ul> <li>Prediction</li> <li>Code</li> <li>Simulation</li> </ul></li> </ul> <h2>メモ</h2> <ul> <li>使用するデータのサイズが大きく、学習に時間がかかる(10分くらい?)<br /> ローカルに環境を作った方がいいかも?</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/18/kaggles-30-days-of-ml-day15.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day14 2021-08-18T16:43:17+09:00 2021-08-18T16:43:17+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day14 Day14 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day14の課題</h2> <ol> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/xgboost">Lesson 6のチュートリアル</a>を読む</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/3370271">Lesson 6のexercise</a>を実施する</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/data-leakage">Lesson 7のチュートリアル</a>を読む</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/3370270">Lesson 7のexercise</a>を実施する</li> </ol> <h2>the Intermediate ML CourseのLesson 6の内容</h2> <ul> <li>XGBoost(= eXtreme Gradient Boosting)</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li><code>XGBRegressor</code>を使う <ul> <li><a target="_blank" rel="nofollow noopener" href="https://note.com/okonomiyaki011/n/n371ef12f40e0">Early Stopping</a>もできる</li> <li><code>n_jobs</code>で使用するコア数を指定できる <ul> <li>データが多い場合に有効</li> </ul></li> </ul></li> <li>パラメータのチューニング <ul> <li><code>n_estimators</code>: 100~1000くらい</li> <li><code>early_stopping_rounds</code>: 5くらい?</li> <li><code>learning_rate</code>: デフォルトは0.1</li> </ul></li> </ul> <h2>the Intermediate ML CourseのLesson 7の内容</h2> <ul> <li>data leakage</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li><strong>Target Leakage</strong> <ul> <li>予測を行う時点で知り得ないデータが混入</li> </ul></li> <li><strong>Train-Test Contamination</strong> (Contamination = 汚染) <ul> <li>訓練データとテストデータを分割する前に前処理をしてしまうことにより、精度が落ちる</li> <li>検証データやテストデータを学習に使用してしまうことにより、ある特定のデータに対してのみ精度が上がり、未知のデータに対する精度が落ちる</li> </ul></li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/18/kaggles-30-days-of-ml-day14.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day13 2021-08-15T21:42:04+09:00 2021-08-15T21:42:04+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day13 Day13 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day13の課題</h2> <ol> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/pipelines">Lesson 4のチュートリアル</a>を読む</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/3370278">Lesson 4のexercise</a>を実施する</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/cross-validation">Lesson 5のチュートリアル</a>を読む</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/3370281">Lesson 5のexercise</a>を実施する</li> </ol> <h2>the Intermediate ML CourseのLesson 5の内容</h2> <ul> <li>パイプライン</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>パイプラインの長所 <ul> <li>コードが整理される</li> <li>バグが減る</li> <li>製品化しやすい</li> <li>交差検証法のオプションが多い</li> </ul></li> <li><code>Pipeline</code>を使う</li> </ul> <h2>the Intermediate ML CourseのLesson 6の内容</h2> <ul> <li>交差検証法</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>Pipelineを使うことで交差検証法が簡単にできる <ul> <li><code>cross_val_score()</code>を使う <ul> <li>負のMAEの値が返ってくるので注意</li> </ul></li> </ul></li> <li>foldごとのMAEを求めて、平均値を取る</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/15/kaggles-30-days-of-ml-day13.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day12 2021-08-13T21:57:50+09:00 2021-08-13T21:57:50+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day12 Day12 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day12の課題</h2> <ol> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/introduction">Lesson 1のチュートリアル</a>を読む</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/3370272">Lesson 1のexercise</a>を実施する</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/missing-values">Lesson 2のチュートリアル</a>を読む</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/3370280">Lesson 2のexercise</a>を実施する</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/categorical-variables">Lesson 3のチュートリアル</a>を読む</li> <li>the Intermediate ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/3370279">Lesson 3のexercise</a>を実施する</li> </ol> <h2>the Intermediate ML CourseのLesson 1の内容</h2> <ul> <li>Introduction <ul> <li><code>RandomForestRegressor</code>を使って、家の価格の予測をしてみる(Intro to ML Courseのおさらい的な感じ)</li> </ul></li> </ul> <h2>the Intermediate ML CourseのLesson 2の内容</h2> <ul> <li>欠損値</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>欠損値の扱い方 <ul> <li>欠損値を含む列を削除する</li> <li>適当な値で置換する</li> <li>置換する + 「値が欠損していたかどうか」の列を追加する <ul> <li>非常に有効な場合もあれば、全く意味がない場合もある</li> </ul></li> <li>列を削除すると情報が失われるので、精度が落ちがち <ul> <li>欠損値の数が20%以内の場合は削除しない方が良いことが多い</li> </ul></li> <li><code>Imputer</code>の<code>fit_transform()</code>と<code>transform()</code>の違いについては<a target="_blank" rel="nofollow noopener" href="https://qiita.com/makopo/items/35c103e2df2e282f839a">こちら</a>を参照</li> </ul></li> </ul> <h2>the Intermediate ML CourseのLesson 3の内容</h2> <ul> <li>カテゴリ変数</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>カテゴリ変数の扱い方 <ul> <li>カテゴリ変数を除去する <ul> <li>カテゴリ変数が有益な情報でない場合に有効</li> </ul></li> <li>整数に変換する(Ordinal Encoding) <ul> <li><code>OrdinalEncoder</code>を使う</li> </ul></li> <li>One Hot Encodingを行う <ul> <li><code>OneHotEncoder</code>を使う <ul> <li>今回は<code>handle_unknown='ignore'</code>, <code>sparse=False</code>にする</li> </ul></li> <li>カテゴリに順番がない場合に向いている</li> <li>カテゴリ数が多くない場合(だいたい15以下)に向いている</li> <li><strong>cardinality</strong>: あるカテゴリにおける値の数</li> </ul></li> </ul></li> <li>One-hot encodingの手順 <ol> <li><code>OneHotEncoder</code>を生成し、カテゴリデータの各列に適用する</li> <li>1.で<code>index</code>が削除されてしまうので、それを元に戻す</li> <li>カテゴリデータの入った列を削除する</li> <li>One-hot encodingされた列を加える</li> </ol></li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/13/kaggles-30-days-of-ml-day12.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day11 2021-08-13T16:20:11+09:00 2021-08-13T16:47:26+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day11 Day11 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day11の課題</h2> <ol> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/alexisbcook/machine-learning-competitions">Lesson 7のチュートリアル</a>を読む</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1259198">Lesson 7のexercise</a>を実施する</li> </ol> <h2>the Intro to ML CourseのLesson 7の内容</h2> <ul> <li>Competitionに参加する</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>Competitionへの参加の仕方 <ol> <li>用意された訓練用データ(<code>train.csv</code>など)を使って学習する</li> <li>用意されたテスト用データ(<code>test.csv</code>など)を使って予測する</li> <li>予測結果をcsvファイルへ書き出す</li> <li>書き出した予測結果のファイルを提出する</li> </ol></li> <li>予測結果ファイルの提出の仕方 <ol> <li>Competitionのページで<code>Join Competition</code>ボタンをクリックしておく</li> <li>Notebookの<code>Save Version</code>ボタンをクリックする</li> <li><code>Save and Run All</code>オプションを選択し、<code>Save</code>ボタンをクリックする</li> <li>Notebook右上の<code>Save Version</code>ボタンの右にある、数字のボタンをクリックする</li> <li><code>Version History</code>にて、提出したいバージョンの右側にある<code>...</code>をクリックする</li> <li><code>Submit to Competition</code> > <code>Submit</code>を選択する</li> <li>もしくは、<code>Open in Viewer</code> > <code>Output</code>タブ(画面右側) > <code>Submit</code> > <code>Submit</code>を選択する</li> </ol></li> <li>featuresを増やした時に<code>NaN</code>が含まれる箇所は<code>fillna()</code>関数で置換することで対応できた</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/13/kaggles-30-days-of-ml-day11.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day10 2021-08-13T11:32:34+09:00 2021-08-13T11:32:34+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day10 Day10 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day10の課題</h2> <ol> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/dansbecker/underfitting-and-overfitting">Lesson 5のチュートリアル</a>を読む</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1259126">Lesson 5のexercise</a>を実施する</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/dansbecker/random-forests">Lesson 6のチュートリアル</a>を読む</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1259186">Lesson 6のexercise</a>を実施する</li> </ol> <h2>the Intro to ML CourseのLesson 5の内容</h2> <ul> <li>未学習と過学習</li> </ul> <h2>the Intro to ML CourseのLesson 6の内容</h2> <ul> <li>ランダムフォレスト</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>ランダムフォレスト使用時は<code>RandomForestRegressor</code>を使う</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/13/kaggles-30-days-of-ml-day10.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day9 2021-08-11T19:49:13+09:00 2021-08-11T19:49:13+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day9 Day9 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day9の課題</h2> <ol> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/dansbecker/your-first-machine-learning-model">Lesson 3のチュートリアル</a>を読む</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1404276">Lesson 3のexercise</a>を実施する</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/dansbecker/model-validation">Lesson 4のチュートリアル</a>を読む</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1259097">Lesson 4のexercise</a>を実施する</li> </ol> <h2>the Intro to ML CourseのLesson 3の内容</h2> <ul> <li>モデリングのためのデータを選ぶ</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>予測の手順: <ol> <li>予測対象のデータを決める</li> <li>予測に使うデータ(特徴)を決める</li> <li>モデルを構築する</li> </ol></li> <li>Pandasでは、読み込んだcsvデータに対して以下の操作が可能 <ul> <li><code>data.columns</code>で列の見出しを取得</li> <li><code>data.列名</code>で列のデータを取得</li> <li><code>data[列見出しリスト]</code>で、指定した複数列のデータを取得</li> <li><code>data.head()</code>で先頭の5行を取得</li> </ul></li> </ul> <h2>the Intro to ML CourseのLesson 4の内容</h2> <ul> <li>モデルを評価する</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li><code>train_test_split()</code>でテストデータと検証データの分割ができる</li> <li><code>mean_absolute_error()</code>で平均絶対誤差を取得できる</li> </ul> <hr /> <p><em>Originaly published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/11/kaggles-30-days-of-ml-day9.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day8 2021-08-10T16:49:29+09:00 2021-08-10T16:49:29+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day8 Day8 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day8の課題</h2> <ol> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/dansbecker/how-models-work">Lesson 1のチュートリアル</a>を読む</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/dansbecker/basic-data-exploration">Lesson 2のチュートリアル</a>を読む</li> <li>the Intro to ML Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1258954">Lesson 2のexercise</a>を実施する</li> </ol> <h2>the Intro to ML CourseのLesson 1の内容</h2> <ul> <li>How Models Work <ul> <li>決定木を使って不動産の価格を予想することを考える</li> </ul></li> </ul> <h2>the Intro to ML CourseのLesson 2の内容</h2> <ul> <li>Basic Data Exploration <ul> <li>Pandasを使ってデータの概要を見てみる</li> </ul></li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>以下の要領でcsvファイルを読み込める<br /> <code>data = pd.read_csv()</code></li> <li>上記で読み込んだデータの概要を、以下のようにして表示できる<br /> <code>data.describe()</code></li> <li>データの中身に問題がないか、予めチェックしておく必要がある</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/10/kaggles-30-days-of-ml-day8.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day7-610e7339404b4 2021-08-07T20:49:13+09:00 2021-08-07T20:49:13+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day7-610e7339404b4 Day7 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day7の課題</h2> <ol> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/colinmorris/working-with-external-libraries">Lesson 7のチュートリアル</a>を読む</li> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1275190">Lesson 7のexercise</a>を実施する</li> </ol> <h2>Python CourseのLesson 7の内容</h2> <ul> <li>外部ライブラリの使い方</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>モジュールの関数を呼ぶ時に、モジュール名を省略する例:<br /> <code>from math import * print(pi, log(32, 2))</code></li> <li>謎のオブジェクトを理解するのに役立つメソッド <ul> <li><code>type()</code> <ul> <li>オブジェクトの型を調べる</li> </ul></li> <li><code>dir()</code> <ul> <li>そのオブジェクトで何ができるのか調べる(変数、関数など)</li> </ul></li> <li><code>help()</code></li> </ul></li> <li>演算子のオーバーロード <ul> <li>オブジェクトの演算子がオーバーロードされている場合があり、予想と違う動作をする場合があるので要注意</li> </ul></li> </ul> <h2>メモ</h2> <ul> <li>この課題はヘビーな問題が2つ出て、予想より時間がかかってしまった。でも楽しかった</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/07/kaggles-30-days-of-ml-day7.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day6-610e551a6cf3d 2021-08-07T18:40:42+09:00 2021-08-07T18:40:42+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day6-610e551a6cf3d Day6 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day6の課題</h2> <ol> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/colinmorris/strings-and-dictionaries">Lesson 6のチュートリアル</a>を読む</li> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1275185">Lesson 6のexercise</a>を実施する</li> </ol> <h2>Python CourseのLesson 6の内容</h2> <ul> <li>Strings</li> <li>Dictionaries</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>Pythonでは <ul> <li>文字列は<code>'</code>または<code>"</code>で囲む <ul> <li>文中に<code>'</code>が含まれるときは<code>"</code>で囲むと便利</li> </ul></li> <li>文中に<code>'</code> <code>"</code> <code>\</code>を含める場合、前に<code>\</code>をつける</li> <li><code>\n</code>で改行可能</li> <li><code>"""</code>で囲むと、中の文が改行された位置で(<code>\n</code>をつけなくても)改行される</li> <li>Listと同様に各文字へアクセスできるが、immutable <ul> <li>文字列操作の結果は何かの変数へ入れる必要がある</li> </ul></li> <li>文字列中に数値を入れたいとき <ul> <li>数値を<code>str()</code>で文字列に変換する</li> <li><code>"{}, you'll always be the {}th planet to me.".format(planet, position)</code>のように書く</li> </ul></li> <li>以下のように書くと、Listの各要素とindexが取れる<br /> <code>for i, item in enumerate(item_list)</code></li> <li><code>str.rstrip()</code>で引数の文字を探して除去する</li> </ul></li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/07/kaggles-30-days-of-ml-day6.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day5 2021-08-06T12:37:37+09:00 2021-08-06T12:37:37+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day5 Day5 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day5の課題</h2> <ol> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/colinmorris/lists">Lesson 4のチュートリアル</a>を読む</li> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1275173">Lesson 4のexercise</a>を実施する</li> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/colinmorris/loops-and-list-comprehensions">Lesson 5のチュートリアル</a>を読む</li> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1275177">Lesson 5のexercise</a>を実施する</li> </ol> <h2>Python CourseのLesson 4の内容</h2> <ul> <li>Lists</li> <li>Tuples</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>一つのListに異なる型の要素を入れることが可能</li> <li>Listの要素にアクセスする際、インデックスに<code>-x</code>を指定すると、リストの最後から<code>x</code>番目の要素にアクセスできる</li> <li><code>リスト[a:b]</code>のように書くことで、<code>a</code>番目から<code>b</code>番目の要素のリストを取得できる <ul> <li><code>a</code>を省けば最初から<code>b</code>番目まで</li> <li><code>b</code>を省けば<code>a</code>番目から最後まで</li> <li>インデックスに負の値を入れても良い</li> </ul></li> <li>Pythonに出てくる全てのものはobject</li> <li><code>要素 in リスト</code>で、リスト内に要素が含まれるか確認できる</li> <li>TupleとListの違い <ul> <li>Tupleは<code>( )</code>または括弧なし, Listは<code>[ ]</code>で囲む</li> <li>Tupleはimmutable, Listはmutable</li> </ul></li> <li>返り値が複数ある場合、それを受け取る変数をTupleにしておくと、それぞれの値をひとつずつの変数に格納できる <ul> <li>例:<code>numerator, denominator = x.as_integer_ratio()</code></li> </ul></li> <li>Listを内包するListの<code>len()</code>を使うと、内包されるListが一つの要素として数えられる</li> </ul> <h2>Python CourseのLesson 5の内容</h2> <ul> <li>Loops</li> <li>List Comprehensions</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>for文は<code>for 要素 in リスト等</code>のように書く</li> <li><code>[num for num in nums if num < 0]</code>みたいな書き方もできる</li> </ul> <h2>メモ</h2> <ul> <li>問題文にまさかのマリオカート登場。びっくりした。。(Lesson 4)</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/06/kaggles-30-days-of-ml-day5.html">marshmallow444.github.io</a></em></p> marshmallow444 tag:crieit.net,2005:PublicArticle/Day4 2021-08-05T20:02:24+09:00 2021-08-05T20:02:24+09:00 https://crieit.net/boards/kaggles-30-days-of-ml-mm/Day4 Day4 <p>Kaggleの初心者向けプログラム「30 Days of ML」に挑戦中。</p> <h2>Day4の課題</h2> <ol> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/colinmorris/booleans-and-conditionals">Lesson 3のチュートリアル</a>を読む</li> <li>Python Courseの<a target="_blank" rel="nofollow noopener" href="https://www.kaggle.com/kernels/fork/1275163">Lesson 3のexercise</a>を実施する</li> </ol> <h2>Python CourseのLesson 3の内容</h2> <ul> <li>Boolean型</li> <li>条件文</li> </ul> <h4>覚えておきたいと思った点</h4> <ul> <li>Pythonでは <ul> <li>bool型は<code>True</code>か<code>False</code> <ul> <li><code>bool()</code>でbool型に変換できる</li> </ul></li> <li>論理演算子は<code>and</code> <code>or</code> <code>not</code> <ul> <li>同じ条件式内に<code>and</code>があれば、これが優先される</li> </ul></li> <li>if文は<code>if</code> <code>elif</code> <code>else</code> <ul> <li>コードブロックを作るには、以下のように<code>:</code>と<code></code>(半角スペース)を入れる<br /> <code>if 条件: ←半角スペース4つでインデントを下げて処理を書く インデントをやめるとブロックの終わりになる</code></li> <li>1行で書くと以下 (→<a target="_blank" rel="nofollow noopener" href="https://www.atmarkit.co.jp/ait/articles/2104/02/news016.html">参考</a>)<br /> <code>値1 if 条件 else 値2</code></li> </ul></li> </ul></li> </ul> <h2>メモ</h2> <ul> <li>blackjackでhitすべきかどうかを判定する関数を作る問題(Optional)が楽しかった。<br /> 勝率を4割くらいまでしか上げられなかったけど。。<br /> (blackjackはやったことがないので、どうしたら勝ちやすいのかよくわからない・・・)</li> <li>Github Pagesのコードブロック内でインデントするには半角スペース8個が必要</li> </ul> <hr /> <p><em>Originally published at <a target="_blank" rel="nofollow noopener" href="https://marshmallow444.github.io/tech_blog/2021/08/05/kaggles-30-days-of-ml-day4.html">marshmallow444.github.io</a></em></p> marshmallow444