ホームページ > バックエンド開発 > Python チュートリアル > ML でのラベル エンコーディング

ML でのラベル エンコーディング

王林
リリース: 2024-08-23 06:01:08
オリジナル
1261 人が閲覧しました

ラベル エンコーディング は、機械学習で最もよく使用される手法の 1 つです。カテゴリデータを数値形式に変換するために使用されます。したがって、データをモデルに当てはめることができます。

ラベル エンコーディングを使用する理由を理解しましょう。 string の形式で必須の列を含むデータがあると想像してください。しかし、モデリングは数値データに対してのみ機能するため、このデータをモデルに当てはめることはできません。どうすればよいでしょうか?ここで、フィッティング用のデータを準備する前処理ステップで評価される救命テクニック、ラベル エンコーディング を紹介します。

Label Encoder の仕組みを理解するために、Scikit-Learn ライブラリの iris データセットを使用します。次のライブラリがインストールされていることを確認してください。

pandas
scikit-learn
ログイン後にコピー

ライブラリとしてインストールするには、次のコマンドを実行します:

$ python install -U pandas scikit-learn
ログイン後にコピー

ここで、Google Colab ノートブックを開いて、Label Encoder のコーディングと学習に取り組みましょう。

コードを書いてみましょう

  • 次のライブラリをインポートすることから始めます:
import pandas as pd
from sklearn import preprocessing
ログイン後にコピー
  • iris データセットをインポートし、使用できるように初期化します。
from sklearn.datasets import load_iris
iris = load_iris()
ログイン後にコピー
  • 次に、エンコードするデータを選択する必要があります。アヤメの名をエンコードします。
species = iris.target_names
print(species)
ログイン後にコピー

出力:

array(['setosa', 'versicolor', 'virginica'], dtype='<U10')
ログイン後にコピー
ログイン後にコピー
  • 前処理 からクラス LabelEncoder をインスタンス化しましょう。
label_encoder = preprocessing.LabelEncoder()
ログイン後にコピー
  • これで、ラベル エンコーダを使用してデータを適合させる準備が整いました。
label_encoder.fit(species)
ログイン後にコピー

次のような出力が表示されます:

Label Encoding in ML

この出力が得られれば、データは正常に適合されています。しかし、問題は、各種にどのような値がどのような順序で割り当てられているかをどのようにして調べるかということです。

Label Encoder がデータに適合する順序は、classes_ 属性に保存されます。エンコードは 0 から data_length-1 まで始まります。

label_encoder.classes_
ログイン後にコピー

出力:

array(['setosa', 'versicolor', 'virginica'], dtype='<U10')
ログイン後にコピー
ログイン後にコピー

ラベルエンコーダーはデータを自動的にソートし、左側からエンコードを開始します。ここ:

setosa -> 0
versicolor -> 1
virginica -> 2
ログイン後にコピー
  • それでは、当てはめたデータをテストしてみましょう。アヤメの種 setosa を変身させます。
label_encoder.transform(['setosa'])
ログイン後にコピー

出力: array([0])

もう一度、正種の virginica を変換した場合です。

label_encoder.transform(['virginica'])
ログイン後にコピー

出力: array([2])

["setosa"、"virginica"] などの種のリストを入力することもできます

ラベル エンコーダーの Scikit Learn ドキュメント >>>

以上がML でのラベル エンコーディングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート