0Pricing
Python For Kids · レッスン

Scikit-Learn による教師あり学習

線形回帰や分類などの教師あり学習モデルを構築して評価します。

「Scikit-Learn による教師あり学習」はCoddyKit上の無料Python For Kidsレッスンです。 これはレッスン2/6です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython For Kids学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python For Kidsコースには全6レッスンが含まれています。

Scikit-Learnによる教師あり学習

教師あり学習では、ラベル付きデータを使ってモデルを学習させ、予測やデータポイントの分類を行います。Scikit-learnは、教師あり学習モデルの実装に広く使われているPythonライブラリです。

このレッスンでは、Scikit-learnを使って教師あり学習モデルを構築し、評価する方法を学びます。

Scikit-Learn による教師あり学習 — イラスト1

教師あり学習とは

教師あり学習では、各入力に対応する出力があるラベル付きデータを使用します。目的は、入力から出力への対応関係を学習することです。

一般的なタスクには、次のものがあります。

  • 回帰: 住宅価格など、連続値を予測します。
  • 分類: 迷惑メールかどうかなど、カテゴリを予測します。

Scikit-Learnのセットアップ

pipを使ってScikit-learnをインストールします。

pip install scikit-learn

インストールが完了したら、インポートしてモデルの構築を始められます。

線形回帰

線形回帰は、連続値を予測するために使用します。簡単な線形回帰モデルを構築してみましょう。

# Example: Linear Regression
from sklearn.linear_model import LinearRegression

# Sample data
X = [[1], [2], [3]]
y = [2, 4, 6]

model = LinearRegression()
model.fit(X, y)
print("Predicted value:", model.predict([[4]]))

ロジスティック回帰

ロジスティック回帰は、メールがスパムかどうかの判定など、二値分類のタスクに使用します。

# Example: Logistic Regression
from sklearn.linear_model import LogisticRegression

# Sample data
X = [[1], [2], [3]]
y = [0, 0, 1]

model = LogisticRegression()
model.fit(X, y)
print("Predicted class:", model.predict([[1.5]]))

決定木

決定木は、回帰と分類の両方に対応できる汎用性の高いモデルです。簡単な決定木分類器を構築してみましょう。

# Example: Decision Tree Classifier
from sklearn.tree import DecisionTreeClassifier

# Sample data
X = [[1], [2], [3]]
y = [0, 1, 0]

model = DecisionTreeClassifier()
model.fit(X, y)
print("Predicted class:", model.predict([[2.5]]))

モデルの評価

Scikit-learnには、モデルの性能を評価するための指標が用意されています。

  • 平均二乗誤差(MSE): 回帰モデルに使用します。
  • 正解率: 分類モデルに使用します。
# Example: Evaluating a model
from sklearn.metrics import mean_squared_error

# Predictions
y_true = [2, 4, 6]
y_pred = [2.1, 3.9, 5.8]
print("MSE:", mean_squared_error(y_true, y_pred))

訓練データとテストデータの分割

未知のデータに対するモデルの性能を評価するため、データセットは必ず訓練用とテスト用に分割します。

# Example: Train-Test Split
from sklearn.model_selection import train_test_split

X = [[1], [2], [3], [4]]
y = [0, 1, 0, 1]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)
print("Training data:", X_train)

教師あり学習でよくある間違い

次のような間違いを避けてください。

  • データを訓練セットとテストセットに分割しない
  • 過度に複雑なアルゴリズムを使用してモデルを過学習させる
  • ラベル付けの質が低いデータを訓練に使用する

学んだこと

このレッスンでは、次のことを学びました。

  • Scikit-learnを使って回帰モデルと分類モデルを構築する方法。
  • MSEや正解率などの指標を使ってモデルの性能を評価する方法。
  • データを訓練用とテスト用に分割する重要性。
  • 教師あり学習のタスクで避けるべきよくある間違い。

よくできました。次のトピックに進みましょう。

Scikit-Learn による教師あり学習 — イラスト11

よくある質問

「Scikit-Learn による教師あり学習」レッスンは無料ですか?

はい。「Scikit-Learn による教師あり学習」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python For Kidsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python For Kidsコースには全6レッスンが含まれています。

「Scikit-Learn による教師あり学習」で何を学びますか?

線形回帰や分類などの教師あり学習モデルを構築して評価します。 ブラウザで直接実行するハンズオンコードでPython For Kidsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python For Kidsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython For Kidsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/6です。

「Scikit-Learn による教師あり学習」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython For Kidsレッスンでコードを書いて実行できますか?

はい。すべてのPython For Kidsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 機械学習入門
  2. Scikit-Learn による教師あり学習
  3. 教師なし学習
  4. 特徴量エンジニアリングと選択
  5. ニューラルネットワーク入門
  6. TensorFlow と Keras 入門
← Python For Kidsに戻る