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のセットアップ
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 による教師あり学習」レッスンは無料ですか?
はい。「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 機械学習入門
- Scikit-Learn による教師あり学習
- 教師なし学習
- 特徴量エンジニアリングと選択
- ニューラルネットワーク入門
- TensorFlow と Keras 入門