0Pricing
Python For Kids · レッスン

特徴量エンジニアリングと選択

モデルの予測性能を高める手法を学びます。

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

特徴量エンジニアリングと選択

特徴量エンジニアリングと特徴量選択は、効果的な機械学習モデルを構築するうえで重要なステップです。これらのプロセスでは、新しい特徴量を作成し、モデルの性能向上に最も関連性の高い特徴量を選択します。

このレッスンでは、予測精度を高めるための特徴量エンジニアリングと特徴量選択の手法を学びます。

特徴量エンジニアリングと選択 — イラスト1

特徴量エンジニアリングとは

特徴量エンジニアリングでは、生データから新しい特徴量を作成し、機械学習モデルの効果を高めます。例として、次のようなものがあります。

  • タイムスタンプから日、月、時刻などの時間ベースの特徴量を抽出する。
  • 複数の特徴量を組み合わせて新しい特徴量を作成する。
  • 数値特徴量をスケーリングして範囲を標準化する。

新しい特徴量の作成

既存のデータに基づいて、新しい特徴量を作成してみましょう。

# Example: Creating new features
import pandas as pd

data = {'Timestamp': ['2025-01-01 12:00:00', '2025-01-02 15:30:00']}
df = pd.DataFrame(data)
df['Hour'] = pd.to_datetime(df['Timestamp']).dt.hour
df['Day'] = pd.to_datetime(df['Timestamp']).dt.day
print(df)

特徴量のスケーリング

スケーリングによりすべての数値特徴量の尺度をそろえると、モデルの性能が向上します。

# Example: Scaling features
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
values = [[10], [20], [30]]
scaled_values = scaler.fit_transform(values)
print(scaled_values)

特徴量選択

特徴量選択では、モデルに最も関連性の高い特徴量を選びます。一般的な手法には、次のようなものがあります。

  • フィルター法:相関などの統計指標に基づいて特徴量を選択します。
  • ラッパー法:再帰的特徴量削減(RFE)などのアルゴリズムを使用します。
  • 組み込み法:Lasso 回帰など、モデルの学習中に特徴量を選択します。

相関に基づく特徴量選択

相関の高い特徴量は冗長になる可能性があります。Pandasを使って相関を計算します。

# Example: Correlation-based feature selection
import pandas as pd

data = {'Feature1': [1, 2, 3], 'Feature2': [2, 4, 6], 'Feature3': [1, 1, 1]}
df = pd.DataFrame(data)
print(df.corr())

再帰的特徴量削除(RFE)

RFEは、重要度が最も低い特徴量を繰り返し削除するラッパー法です。

# Example: RFE
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y = [0, 1, 0]
model = LogisticRegression()
rfe = RFE(model, n_features_to_select=2)
rfe.fit(X, y)
print("Selected Features:", rfe.support_)

木ベースモデルによる特徴量の重要度

Random Forestなどの木ベースモデルは、特徴量の重要度スコアを提供します。

# Example: Feature importance
from sklearn.ensemble import RandomForestClassifier

X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y = [0, 1, 0]
model = RandomForestClassifier()
model.fit(X, y)
print("Feature Importances:", model.feature_importances_)

特徴量エンジニアリングでよくある間違い

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

  • 特徴量を作りすぎて、過学習につながる。
  • 距離ベースのアルゴリズムでスケーリングが必要になることを無視する。
  • 相関の高い特徴量を使用し、冗長性を生じさせる。

学んだこと

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

  • 機械学習における特徴量エンジニアリングと特徴量選択の重要性。
  • 新しい特徴量を作成し、数値特徴量をスケーリングする手法。
  • RFEや木ベースのモデルなどの手法を使って、関連性の高い特徴量を選択する方法。
  • 特徴量エンジニアリングで避けるべきよくある間違い。

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

特徴量エンジニアリングと選択 — イラスト11

よくある質問

「特徴量エンジニアリングと選択」レッスンは無料ですか?

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

「特徴量エンジニアリングと選択」で何を学びますか?

モデルの予測性能を高める手法を学びます。 ブラウザで直接実行するハンズオンコードでPython For Kidsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「特徴量エンジニアリングと選択」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

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