コース
9年生のAI: Pythonと機械学習
Python、NumPy、pandasを使って、古典的な機械学習モデルを学習し、評価しよう。
レッスンを順番にやろう。終わるころには、データ構造と何度も使える関数でPythonを書ける。ベクトルを足して、確率を計算して、平均と標準偏差を求められる。NumPyとpandasで表を読み込み、クリーニングし、グラフにできる。データに直線をあてはめ、ロジスティック回帰、決定木、k近傍法の分類器を学習し、k-meansでデータをグループに分けられる。正解率、適合率、再現率を計算し、過学習を見つけ、モデルを単純な基準と比べ、環境データセットの予測を発表できる。
このレッスンのつかいかた
- 「これをやる」のレッスンからはじめよう。なまえの下のぶんが、ひとりでできたら、つぎにすすもう。
- はじめにゲームをしよう。それからクイズをしよう。10問中8問正解で合格。ワークシートは紙。答えは下にある。
- それぞれのレッスンは、前のレッスンの上に重なる。実験ごとにメモを残そう。何を変えたか、何が起きたか、なぜか。
- コードのレッスンは、無料のオンラインノートでPythonを使う。先生が認めたAIツールだけを使おう。AIが書いたコードは、自分で説明しよう。共有するデータセットに、個人データを入れない。
どのレッスンにもゲーム、クイズ、ワークシートがあります。
0/36
Pythonプログラミング
- 1構文の復習変数、条件、ループでPythonを書こう。
- 変数、型、f-stringsを使おう。
- if、for、whileのブロックを書こう。
- tracebackを読んで、誤りを直そう。
- 2データ構造リスト、タプル、セット、辞書から選ぼう。
- それぞれの構造を、いちばん合う仕事に使おう。
- リスト内包と辞書内包を書こう。
- 構造を入れ子にして、レコードを入れよう。
- 3関数とモジュール何度も使える関数を書いて、テストしよう。
- デフォルト引数とキーワード引数を使おう。
- assertでテストを書こう。
- モジュールから自分の関数をインポートしよう。
- 4データスクリプトテキストファイルをきれいにするスクリプトを書こう。
- ファイルを1行ずつ読もう。
- 悪い行を直し、空の行は飛ばそう。
- きれいなデータを新しいファイルに書こう。
機械学習の数学
- 5ベクトルベクトルを足して、点の間の距離を求めよう。
- データの点をベクトルで表そう。
- ベクトルを足して、スカラー倍しよう。
- ユークリッド距離と内積を計算しよう。
- 6確率単純な確率と条件付き確率を計算しよう。
- ある出来事の確率を計算しよう。
- 表から条件付き確率を計算しよう。
- コイン投げをシミュレーションして、答えを確かめよう。
- 7統計平均、分散、標準偏差を求めよう。
- それぞれを手とコードで計算しよう。
- 標準偏差が何を教えるか説明しよう。
- 2つのデータセットをばらつきで比べよう。
- 8数学の実験データを描いて、ばらつきを説明しよう。
- ヒストグラムを描こう。
- 散布図を描こう。
- 中心、ばらつき、外れ値を説明しよう。
データサイエンス
- 9NumPyNumPyで配列全体の計算をしよう。
- 配列を作って、形を変えよう。
- ループの代わりにベクトル演算を使おう。
- 配列をインデックスして、スライスしよう。
- 10pandaspandasで表を読み込み、絞り込み、グループ化しよう。
- CSVをDataFrameに読み込もう。
- 行を絞り込み、列を選ぼう。
- データをグループ化して、要約しよう。
- 11データのクリーニング欠損値とまちがった型を扱おう。
- 欠損値を見つけよう。
- 埋めるか捨てるか決めて、理由を説明しよう。
- まちがった型と重複した行を直そう。
- 12可視化問いに答えるグラフを作ろう。
- 問いに合うグラフを選ぼう。
- 軸にラベルをつけ、タイトルを加えよう。
- 誤解を招くグラフを見つけて、直そう。
機械学習の基礎
- 13機械学習とはモデルがデータからパターンを学ぶしくみを説明しよう。
- ルールを書くことと、データから学ぶことを比べよう。
- モデル、パラメータ、学習を定義しよう。
- 機械学習の実用例を3つ挙げよう。
- 14教師ありと教師なし教師ありの課題と教師なしの課題を見分けよう。
- 教師あり学習はラベルを使うと言おう。
- 教師なし学習はラベルなしで構造を見つけると言おう。
- 10個の課題をそれぞれのグループに分けよう。
- 15MLのワークフローデータから動くモデルまでの手順を挙げよう。
- 手順を並べよう。問い、データ、特徴量、学習、評価、デプロイ。
- 各手順で何が失敗しうるか言おう。
- 手順を繰り返す理由を言おう。
- 16MLの課題を比べる問題を回帰、分類、クラスタリングのどれかに合わせよう。
- 各課題が何を予測するか言おう。
- 10個の問題を課題に合わせよう。
- 1つの問題を別の課題に書きかえよう。
回帰
- 17線形回帰データに直線をあてはめよう。
- 傾きと切片を説明しよう。
- scikit-learnで直線をあてはめよう。
- データの上に直線を描こう。
- 18特徴量特徴量を選び、スケールしよう。
- 2つ以上の特徴量を使おう。
- 特徴量を同じ範囲にスケールしよう。
- カテゴリの特徴量を符号化しよう。
- 19誤差平均二乗誤差で誤差を測ろう。
- 残差を計算しよう。
- 平均二乗誤差と平均絶対誤差を計算しよう。
- 残差を描いて、パターンを見つけよう。
- 20数を予測する回帰モデルを学習して、新しい値を予測しよう。
- データの一部で学習しよう。
- 残りを予測しよう。
- 誤差を実際の単位で報告しよう。
分類
- 21ロジスティック回帰ロジスティック回帰の分類器を学習しよう。
- スコアを確率に変えるしくみを説明しよう。
- 学習して、確率を予測しよう。
- しきい値を変えて、比べよう。
- 22決定木決定木を学習して、分岐を読もう。
- 木を学習しよう。
- 分岐を描いて、読もう。
- 深さを限って、スコアを比べよう。
- 23k近傍法k近傍法で分類し、kを選ぼう。
- k近傍法がどう投票するか説明しよう。
- いくつかのkを試そう。
- スケールがk近傍法に大事な理由を言おう。
- 24分類器を学習する1つのデータセットで3つの分類器を比べよう。
- 同じ分割で3つとも学習しよう。
- スコアを比べよう。
- 1つを選び、理由を説明しよう。
教師なし学習
- 25類似度2つのサンプルがどれだけ似ているか測ろう。
- ユークリッド距離を使おう。
- コサイン類似度を使おう。
- データセットでいちばん似た項目を見つけよう。
- 26k-meansk-meansクラスタリングでデータをグループに分けよう。
- k-meansの手順を手で追おう。
- scikit-learnで実行しよう。
- クラスタを描こう。
- 27kの選び方エルボー法でクラスタの数を選ぼう。
- いくつかのkでk-meansを実行しよう。
- エルボー曲線を描こう。
- クラスタが意味をなすか確かめよう。
- 28サンプルをグループに分けるデータセットをクラスタに分け、各グループを説明しよう。
- 本物のデータセットをクラスタに分けよう。
- 各クラスタを要約しよう。
- 各クラスタに名前をつけよう。
モデルの評価
- 29学習とテストの分割データを分割し、理由を説明しよう。
- train_test_splitで分割しよう。
- 検証セットで調整しよう。
- 交差検証を使おう。
- 30正解率、適合率、再現率正解率、適合率、再現率を計算しよう。
- 混同行列を作ろう。
- そこから各指標を計算しよう。
- 問題に合う指標を選ぼう。
- 31過学習学習スコアとテストスコアを比べて、過学習を見つけよう。
- 過学習するモデルを学習しよう。
- 学習スコアとテストスコアを描こう。
- 過学習を減らして、比べよう。
- 32基準モデルを単純な基準と比べよう。
- いつもいちばん多い答えを出す基準を作ろう。
- 自分のモデルとそれを比べよう。
- モデルを使う価値がないときを説明しよう。
機械学習プロジェクト
- 33データセットを選ぶ公開された環境データセットと問いを選ぼう。
- 公開された天気か大気質のデータセットを見つけよう。
- それが答えられる問いを書こう。
- 回帰か分類かを選ぼう。
- 34準備して探るデータをクリーニングして、主なパターンをグラフにしよう。
- データをクリーニングしよう。
- 3つのパターンをグラフにしよう。
- 特徴量を選ぼう。
- 35学習して比べる2つのモデルを学習し、基準と比べよう。
- 2つのモデルを学習しよう。
- 基準と比べよう。
- 過学習を確かめよう。
- 36環境の状態を予測する結果、限界、次の手順を発表しよう。
- 結果とグラフを見せよう。
- モデルの限界を説明しよう。
- 次の手順を提案しよう。