4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

猿でもわかるAI・機械学習入門シリーズ 🐵🔰| [第6回] 機械学習モデルの学習と評価の流れを理解しよう

Posted at

📚 機械学習モデルの学習と評価の流れを理解しよう!【猿でもわかる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)もフォローしてね → [@あなたのアカウント]

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?