0Pricing
Data Science Academy · レッスン

カテゴリ列をエンコードする

One-hotエンコーディングとラベルエンコーディングの基礎

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

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Why Encoding Matters

Most models only understand numbers, yet your data is full of words like red or blue. Encoding turns those labels into numbers a model can learn from. 🔢

Nominal vs Ordinal

Some categories have order, like small, medium, large. Others, like city names, do not. This order decides which encoding is honest.

Label Encoding

Label encoding assigns each category an integer: red becomes 0, blue becomes 1. Simple, but it invents an order that may not be real.

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
codes = le.fit_transform(df['color'])

The Fake-Order Trap

If blue is 1 and green is 2, a model may think green is greater than blue. For nominal data that false ranking can hurt accuracy.

One-Hot Encoding

One-hot encoding makes one new column per category, marked 1 or 0. No fake order, just clean yes-or-no flags.

get_dummies in pandas

The fastest one-hot in pandas is get_dummies. Hand it a column and it expands every category into its own 0/1 column.

dummies = pd.get_dummies(df['color'])

Avoid the Dummy Trap

The columns are perfectly correlated, so drop one with drop_first. This keeps linear models stable and avoids redundant information.

pd.get_dummies(df['color'], drop_first=True)

OneHotEncoder for Pipelines

For models, prefer scikit-learn's OneHotEncoder. It remembers the categories it learned, so train and test stay perfectly aligned.

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')

Encode Order on Purpose

When order is real, map it yourself so small to large becomes 1 to 3. An ordinal mapping keeps the meaning intact.

order = {'small': 1, 'medium': 2, 'large': 3}
df['size_num'] = df['size'].map(order)

Beware High Cardinality

One-hot on a column with thousands of values explodes into thousands of columns. For high cardinality, consider grouping rare values first.

Handle Unseen Categories

New data may contain labels your encoder never saw. Plan for this so an unseen category does not crash your prediction step.

Quick Check

Your color column has no natural order. Which encoding avoids inventing a false ranking?

Recap: Encoding

You turned words into numbers: one-hot for unordered categories, ordinal maps for real order, and label encoding only when order does not matter. 🎉

よくある質問

「カテゴリ列をエンコードする」レッスンは無料ですか?

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

「カテゴリ列をエンコードする」で何を学びますか?

One-hotエンコーディングとラベルエンコーディングの基礎 ブラウザで直接実行するハンズオンコードでData Science Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Data Science Academyを始めるのに経験は必要ですか?

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

「カテゴリ列をエンコードする」レッスンにはどのくらい時間がかかりますか?

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

このData Science Academyレッスンでコードを書いて実行できますか?

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

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

  1. 数値をカテゴリに分ける
  2. カテゴリ列をエンコードする
  3. 数値をスケーリングして正規化する
  4. 日付とテキストから特徴量を作る
← Data Science Academyに戻る