📚 機械学習モデルの学習と評価の流れを理解しよう!【猿でもわかるAI・機械学習入門シリーズ #6】🐵🔰
みなさん、こんにちは!✨ AI・機械学習を勉強していると、「モデルの学習と評価ってどうやるの?」という疑問が出てきますよね?
今回は、 機械学習モデルがどのように学習し、どのように評価されるのか を 超わかりやすく 解説します!🚀
これを理解すれば、機械学習の仕組みが グッと明確 になりますよ!💡
🎯 機械学習の基本的な流れ
機械学習モデルの学習と評価は、 以下の5ステップ で進めます!👇
① データを準備する 📊
② データを訓練用とテスト用に分割する ✂️
③ モデルを学習させる 🏋️♂️
④ モデルを評価する 📉
⑤ チューニングして改善する 🔧
では、これを Pythonのコード とともに詳しく見ていきましょう!🐍✨
📝 ① データを準備する
まずは、学習用のデータを用意します!
ここでは、scikit-learn
の ダミーデータ を使って説明します!
from sklearn.datasets import make_classification
import pandas as pd
# ダミーデータを作成(2クラス分類問題)
X, y = make_classification(n_samples=500, n_features=5, random_state=42)
# データをDataFrameに変換(見やすくするため)
df = pd.DataFrame(X, columns=[f'Feature {i+1}' for i in range(5)])
df['Target'] = y
# データの最初の5行を表示
print(df.head())
✅ X
→ 特徴量(モデルが学習するデータ)
✅ y
→ 目的変数(予測したいもの)
✂️ ② データを訓練用とテスト用に分割する
データは 訓練用(train) と テスト用(test) に分けます!
from sklearn.model_selection import train_test_split
# 訓練データ: 80%、テストデータ: 20%
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print(f"訓練データ: {X_train.shape}, テストデータ: {X_test.shape}")
📌 なぜ分割するの?
- 訓練データ(Train) → モデルを学習させる
- テストデータ(Test) → 学習していないデータで精度をチェックする
🏋️♂️ ③ モデルを学習させる
今回は、シンプルな ロジスティック回帰(分類モデル) を使います!
from sklearn.linear_model import LogisticRegression
# モデルを作成
model = LogisticRegression()
# 訓練データで学習
model.fit(X_train, y_train)
print("モデルの学習が完了しました!🎉")
✨ たった2行で学習完了!
機械学習ライブラリ scikit-learn
を使えば、簡単にモデルを作れます!
📉 ④ モデルを評価する
学習したモデルが どれくらい正確なのか をテストデータでチェックします!
from sklearn.metrics import accuracy_score
# 予測
y_pred = model.predict(X_test)
# 精度を計算
accuracy = accuracy_score(y_test, y_pred)
print(f"モデルの精度: {accuracy:.2f}")
✅ 精度(Accuracy)とは?
- 正しく予測できた割合(0.00 ~ 1.00 の間の値)
- 例えば 0.85(85%) なら、「100件中85件は正しく予測できた」ことを意味します
🔧 ⑤ モデルを改善する(チューニング)
もし 精度が低かったら? 🤔
モデルの性能を チューニング(調整) して改善できます!
✅ 方法 1:特徴量を増やす
- もっとデータを集める 📊
- 関係のある情報(特徴量)を追加する 🔍
✅ 方法 2:アルゴリズムを変更する
- 他のモデル(SVM, RandomForest など)を試す 🌲
✅ 方法 3:ハイパーパラメータ調整
-
C
(正則化の強さ)を調整する -
learning_rate
を調整する
例えば、ロジスティック回帰の C
を変更してみる👇
# C=0.1(小さい値)で再学習
model = LogisticRegression(C=0.1)
model.fit(X_train, y_train)
# 予測して精度を計算
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"チューニング後の精度: {accuracy:.2f}")
🎯 まとめ
✅ 機械学習モデルは 5つのステップ で学習&評価される!
✅ 訓練データ で学習し、テストデータ で評価する!
✅ 精度が低い場合は 特徴量を増やす・アルゴリズムを変更する・パラメータを調整する などで改善可能!
これで 「機械学習モデルの学習と評価の流れ」 がバッチリ理解できましたね!✨
次回は 「精度向上のテクニック:ハイパーパラメータ調整とは?」 を解説します!📌 お楽しみに!
それでは、またね~👋🐵
📢 質問や感想はコメント欄へ!
📝 シリーズ記事一覧はこちら → [リンク]
📍 X(Twitter)もフォローしてね → [@あなたのアカウント]