機械学習におけるラベルエンコーダーと1つのホットエンコーダー[2022]

公開: 2021-01-04

多くのアプリケーションに導入されている機械学習モデルでは、多くの場合、カテゴリデータまたはテキストフォーカスから数値記述への一連の変換が必要です。 変換のニーズに対応するために、ラベルエンコーダ1つのホットエンコーダの2種類のエンコーダが使用されます

トリッキーな部分は、ラベルエンコーダーを選択するタイミングとホットエンコーダーを1つ選択するタイミングです。 決定の選択はモデルに影響を与え、データサイエンティストや機械学習愛好家に一般的に求められる多くの質問の基本を形成します。

エンコーディングの選択は、モデルの精度に大きく影響するため、最適化されたソリューションにつながる可能性があります。 モデルでの違いを理解するには、ラベルエンコーダー1つのホットエンコーダーを理解する必要があります。

人工知能と機械学習の知識グラフを通して、私たちのほとんどが認識する1つの側面は、ほとんどのアルゴリズムが数値入力で合理的にタスクを実行することです。 したがって、アナリストが直面する中心的な課題は、テキストデータを数値データに変換し、それでもモデルにそれからポイントを定式化させることです。

目次

ラベルエンコーダ

ラベルエンコーディングは、ラベルの数値形式への変換を引用して、機械で読み取れる形式に変更します。 その後、機械学習アルゴリズムは、これらのラベルをどのように管理する必要があるかを正しい方法で決定できます。 これは、教師あり学習の統合データセットにおける重要な前処理手段です。

たとえば、兄弟間の最上級の比較という形で、特定のスキルの特定の品質を比較するデータセットがあります。 データセットは良い、良い、最高です。 ラベルエンコーダーを適用した後、各品質にはそれぞれ0、1、2のラベルが付けられます。 良い品質のラベルは0、より良いラベルは1、最高の品質のラベルは2です。

上記の例は、データセットの観点からは基本的なものです。 変換は、身長、年齢、目の色、虹彩の種類、症状など、どのデータセットでもかまいません。

Pythonでのラベルエンコーディングは、Sklearnライブラリを使用して実装できます。 Sklearnは、カテゴリ機能のカテゴリを数値にエンコードするための非常に効果的な方法を提供します。 ラベルエンコーダは、0〜n-1クラスのクレジットでラベルをエンコードします。nは多様なラベルの数です。 ラベルが繰り返される場合、それは以前に指定されたとおりに正確なメリットを指定します。

また、このタイプのカテゴリテキストデータをモデルの数値データで理解できるデータに刷新するために、LabelEncoderクラスを使用します。 最初の列にラベルをエンコードし、sklearnライブラリからLabelEncoderクラスをインポートし、データの最初のセクションを装備して刷新し、発生したテキストデータを新しいエンコードされたデータでリハビリする必要があります。

これは、ラベルエンコーディングの簡単な説明です。 データに依存して、ラベルエンコーディングは新しいジレンマを開始します。 説明のために、一連の王国名を数値データにエンコードしました。 これは完全にカテゴリ別のデータであり、行間にはいかなる意味でも関連付けはありません。

この障害を解決するには、新しいエンコーディング手法を採用する必要があります。 ここでのジレンマは、同様のセクションにいくつかの数量があるため、プロトタイプはデータを同じ順序(0 <1 <2)であると誤って判断することです。しかし、これはまったく問題ではありません。 この問題を軽減するために、 1つのホットエンコーダーを採用しています。

必読:機械学習プロジェクトのアイデア

1つのホットエンコーダ

ワンホットエンコーディングは、カテゴリ変数を処理するためのもう1つの優れたプロトコルです。 これは、カテゴリ機能の個別の値のボリュームで確立された次の特性を確立するだけです。 分類内の個別の値全体がアウトラインとして拡大されます。 1つのホットエンコーディングは、カテゴリデータを含むセクションを取得します。このセクションには、既存のラベルがエンコードされており、セクションが多数のセクションに分割されます。 ボリュームは、どのセクションがどの値を持っているかを考慮して、1と0で再構築されます。

ワンホットエンコーダは1-Dアレイを承認しません。 入力は常に2次元配列である必要があります。

エンコーダーに承認されたデータには文字列を含めないでください。

広く普及している機械学習アルゴリズムの多くは、カテゴリデータにコミットできません。 むしろ、カテゴリデータを数値データに変更する必要があります。 ワンホットエンコーディングは、この変換を実行するために利用される戦略の1つです。 この手法は主に、深層学習手法が連続的な連続問題と相関する場合に使用されます。

ワンホットエンコーディングは、実際には、カテゴリ変数をバイナリベクトルとして表現したものです。 カテゴリ値は、最初は整数値にマップされます。 すべての整数値は、すべて0のバイナリベクトルとして例示されます。

しかし、処理するファイルが複数ある場合はどうなりますか?

Scikit-learnはセクションの配置の影響を受けやすいため、トレーニングデータセットとテストデータセットで矛盾が生じた場合、結果は不条理になります。 これは、カテゴリがトレーニングデータとテストデータに複数の値を持っている場合に発生する可能性があります。

テストデータが、alignコマンドを使用したトレーニングデータと同じ方法でエンコードされていることを確認します。 alignコマンドは、セクションが両方のデータセットの正確な法令に表示されるというセキュリティをもたらします。

読む:機械学習モデル

結論

地球はカテゴリデータで詰まっています。 このデータの使用方法を知っていれば、アナリストははるかに有益なデータサイエンティストになります。 したがって、このようなモデルで作業しようとする人は、機械学習でのラベルエンコーダー1つのホットエンコーダーの使用法に精通している必要があります

機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

1つのホットエンコーディングを使用する必要があるアルゴリズムはどれですか?

カテゴリ変数を処理するために、1つのホットエンコーディングプロセスが使用されます。 このプロセスは、カテゴリ変数を変換して、機械学習アルゴリズムが変数を使用して予測を改善しやすくします。 入力として数値のみを受け取るアルゴリズムは、カテゴリ変数を変換するために1つのホットエンコーディングプロセスのみを必要とします。 これらの機械学習アルゴリズムには、ロジスティック回帰、線形回帰、サポートベクターマシンなどがあります。ただし、マルコフチェーン、ナイーブベイズなどの一部のアルゴリズムは、共同離散分布を処理できるため、エンコードを必要としません。

ディープラーニングで1つのホットエンコーディングを使用することが望ましいのはいつですか?

One Hot Encodingは、MLモデルが提供されたデータを理解するのに役立つ、強力なデータ変換および前処理アプローチです。 基本的に、MLアルゴリズムがカテゴリ変数を処理できない場合は、1つのホットエンコーディングが使用されます。したがって、1つのホットエンコーディングがそれらを適切な形式に変換します。 変換されるカテゴリ変数の機能が通常ではない場合は、1つのホットエンコーディングを使用するのが最も好ましいです。 また、特定のデータセットに存在するカテゴリ機能の数が非常に少ない場合、1つのホットエンコーディングが効果的に機能します。

ダミー可変トラップという用語はどういう意味ですか?

ダミー変数トラップは、ワンホットエンコーディングプロセスが直面する問題の1つです。 カテゴリデータセットに変数が強くリンクされている場合、これが発生します。 結果として、1つのホットエンコーディング手順を使用すると、残りの変数を使用して1つの変数の結果を簡単に予測できます。 ダミー変数トラップの結果として、多重共線性として知られる別の問題が発生します。