Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ OrdinalEncoder | Scikit-learnによるデータの前処理
/
Pythonによる機械学習入門

bookOrdinalEncoder

メニューを表示するにはスワイプしてください

次に取り組むべき課題はカテゴリカルデータです。カテゴリカル変数には主に2つのタイプがあります。

**順序型(Ordinal)**データには自然な順序があり、**名義型(Nominal)**データには順序がありません。この順序があるため、カテゴリは順位に従って数値としてエンコードできます。

例えば、'rate'列に'Terrible'、'Bad'、'OK'、'Good'、'Great'という値がある場合、次のようにエンコードできます:

  • 'Terrible' → 0
  • 'Bad' → 1
  • 'OK' → 2
  • 'Good' → 3
  • 'Great' → 4

順序型データをエンコードするには、OrdinalEncoderを使用します。これはカテゴリを0から始まる整数に変換します。

OrdinalEncoderは他のトランスフォーマーと同様に適用されます。主な課題はcategories引数を正しく指定することです。

例えば、(penguinsデータセットではない)データセットに'education'列が含まれている場合、最初のステップはそのユニークな値を確認することです。

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') print(df['education'].unique())
copy

'HS-grad' から 'Doctorate' までの順序付きカテゴリ値のリストを作成する必要がある。

1234567891011121314
import pandas as pd from sklearn.preprocessing import OrdinalEncoder # Load the data and assign X, y variables df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') y = df['income'] # 'income' is a target in this dataset X = df.drop('income', axis=1) # Create a list of categories so HS-grad is encoded as 0 and Doctorate as 6 edu_categories = ['HS-grad', 'Some-college', 'Assoc', 'Bachelors', 'Masters', 'Prof-school', 'Doctorate'] # Initialize an OrdinalEncoder instance with the correct categories ord_enc = OrdinalEncoder(categories=[edu_categories]) # Transform the 'education' column and print it X['education'] = ord_enc.fit_transform(X[['education']]) print(X['education'])
copy

OrdinalEncoderで複数の特徴量を変換する場合、各列のカテゴリを明示的に指定する必要があります。これはcategories引数を使用して行います。

encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])

1. データセット内のカテゴリカルデータを処理するためのOrdinalEncoderの使用について、最も適切に説明している文はどれですか?

2. カテゴリカル列'Color'があるとします。その値をエンコードするためにOrdinalEncoderを使用するのは適切でしょうか?

question mark

データセット内のカテゴリカルデータを処理するためのOrdinalEncoderの使用について、最も適切に説明している文はどれですか?

正しい答えを選んでください

question mark

カテゴリカル列'Color'があるとします。その値をエンコードするためにOrdinalEncoderを使用するのは適切でしょうか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  5

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  5
some-alt