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