実装でMLモデルをトレーニングする前にカテゴリデータを処理する方法。ICHI.PRO実装でMLモデルをトレーニングする前にカテゴリデータを処理する方法。前回のブログでは、欠落値のタイプと、実装を使用して連続およびカテゴリカル欠落値を処理するさまざまな方法について説明しました。データセットの欠落値を処理した後、次のステップはカテゴリデータを処理することでした。このブログでは、Pythonを使用した実装とともに、カテゴリカル機能/列を処理するさまざまな方法について説明します。Unsplash.comはじめに:すべての機械学習モデルは、操作するために数値を必要とするある種の数学モデルです。カテゴリデータには可能な値(カテゴリ)があり、テキスト形式にすることができます。データセットの不足値を処理した後、データサイエンスプロジェクトに取り組んでいる間。次の作業は、MLモデルを適用する前に、データセット内のカテゴリデータを処理することです。カテゴリデータの種類を理解しましょう。名目データ:ラベル付き/名前付きデータと呼ばれる名目データ。カテゴリの順序を変更できます。順序を変更しても、その値には影響しません。性別(男性/女性/その他)、年齢層(若年/成人/老年)などです。序データ:表現離散的と単位を命じました。名目データと同じですが、順序付け/ランク付けされています。カテゴリの順序を変更することはできません。3位、教育:(高校/学部生/大学院生/博士号)などです。説明に使用されるデータセットはTitanic(Kaggleデータセット)です。dataset.説明:オブジェクト/カテゴリタイプ機能のカテゴリごとにダミーまたはバイナリタイプの列を作成します。各行の値は、そのカテゴリがその行で使用可能な場合は1、それ以外の場合は0です。get_dummies()関数を使用します。columns.カテゴリカル列の値を処理するための使いやすく高速な方法。get_dummiesメソッドは、データに多くのカテゴリ列がある場合は役に立ちません。カテゴリ列に多くのカテゴリがある場合、データセットに多くの機能を追加することになります。2.序数エンコーディング説明:カテゴリー変数が序数である場合、最も簡単なアプローチは、各ラベル/カテゴリーをランクに基づいた序数に置き換えることです。私たちのデータでは、Pclassは値がFirst、Second、Thirdの順序関数であるため、各カテゴリはそれぞれランク、つまり1、2、3に置き換えられます。実装:ステップ1:カテゴリとしてキーを使用し、ランクを使用して値を使用して辞書を作成します。手順2:新しい列を作成し、作成した辞書を使用して順序列をマップします。手順3:元の列を削除します。1)データセット内の順序特徴を処理する最も簡単な方法。データセットの記名型の特徴には適していません。説明:各カテゴリを、そのカテゴリがその列で発生した頻度/回数に置き換えます。実装:手順1.カテゴリ名としてキーを使用し、カテゴリの数、つまり各カテゴリ列でのそのカテゴリの頻度を使用して値を使用して辞書を作成します。手順2.そのカテゴリの重みとして機能する新しい列を作成し、それぞれの辞書にマップします。手順3.元の列を削除します。count.実装する東。追加機能を増やしません。同じ数のカテゴリを処理できません。両方のカテゴリに同じ値を提供します。説明:ここでは、列のカテゴリが、ターゲット列に関するそれに依存する結合確率ランキングに置き換えられています。実装:実装を示すために、存続するターゲット列に関してキャビン列を使用しています。同じ手順が、データセット内の任意の順序列に適用できます。手順1.元のキャビン値をキャビン名の最初の文字に置き換えます。ステップ2.ターゲット列の値に基づいて各カテゴリの同時確率を計算します。手順3.結合確率の昇順でソートされたインデックスを使用してリストを作成します。ステップ4.キャビンのカテゴリー名としてキー、同時確率ランキングとして値を含む辞書を作成します。ステップ5.新しい列を作成し、辞書の同時確率ランキングを使用してキャビン値をマップします。手順6.元のキャビン列を削除します。column.データの量には影響しません。機能を追加することはありません。機械学習モデルがより速く学習するのに役立ちます。通常、平均または同時確率エンコーディングは過剰適合につながります。したがって、過剰適合を回避するために、ほとんどの場合、相互検証またはその他のアプローチが必要です。説明:ターゲット/ガイド付きエンコーディングと同様の違いのみがここにあります。ここでは、カテゴリをターゲット列に関する平均値に置き換えます。ここでも、キャビンと生き残ったターゲットカラムを使用して実装します。実装:手順1.ターゲット列(存続)に関して、キャビン列の各カテゴリの平均を計算します。手順2.新しい列を作成し、平均で置き換えます。キャビン列のカテゴリをエンコードされた平均辞書にマップします。column.ラベルまたはカテゴリ内の情報をキャプチャし、より予測的な機能をレンダリングします。独立変数とターゲット変数の間に単調な関係を作成します。この問題を克服するために、モデルの過剰適合につながる可能性があります。ほとんどの場合、交差検定が使用されます。説明:ここで、列のカテゴリは、ターゲット変数に関する確率比に置き換えられます。ここでは、キャビンを独立変数として使用しており、そのカテゴリは、各キャビンで生存した人と死亡した人の確率比に置き換えられています。実装:手順1.元のキャビン値をキャビン名の最初の文字に置き換えます。ステップ2.特定のキャビンで生き残った人の割合(%)を見つけて、新しいデータフレームに保存します。ステップ3.特定のキャビンで人々が死亡する確率で生き残った確率データフレームに新しい列を作成します。ステップ4.生存確率データフレームにもう1つの新しい列を作成します。生存確率と死亡確率の比率です。手順5.確率比列のある辞書を作成します。手順6.データに新しい列を作成し、キャビン列のカテゴリをエンコードされた確率比ディクショナリにマッピングして置き換えます。手順7.元のキャビンカラムをドロップします。survival.余分な機能を増やさないでください。ラベルまたはカテゴリ内の情報をキャプチャするため、より予測的な機能が作成されます。変数とターゲットの間に単調な関係を作成します。したがって、線形モデルに適しています。分母が0の場合は定義されません。上記と同じように、2つの方法は、通常、交差検定が実行されていることを回避および検証するための過剰適合につながります。したがって、このブログでは、機械学習用のデータを準備しながら、カテゴリ変数を処理するために最も広く使用されている方法について説明しようとしています。入手可能な実際のコードノートブックhttps://github.com/GDhasade/Medium.com_Contents/blob/master/Handle_Categorical_Data.ipynb詳細については、次のWebサイトをご覧ください。http://contrib.scikit-learn.org/category_encoders/index.html。参照:Scikit-learn.org。scikit-learn0.22ドキュメント。[オンライン]次の場所で入手可能:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html.‌contrib.scikit-learn.org。カテゴリエンコーダ—カテゴリエンコーダ2.2.2ドキュメント。[オンライン]次の場所で入手可能:http://contrib.scikit-learn.org/category_encoders/index.html.クリッシュナイク(2019)。機能エンジニアリング-マルチカテゴリ変数に対して1つのホットエンコーディングを実行する方法。[2020年9月10日アクセス]。ネットワークの出現と、現在の手法を絶対的な限界まで押し上げる技術の進歩により、あらゆることを実行することを目的とした包括的なツールの作成に焦点が当てられています。ネットワークは必要ありませんが、それでも基本的な数学モデルよりも汎用性の高いものが必要です。プラグインについては聞いたことがあるはずです。:全国地区のリターンシェープファイルを作成する際の問題MIT選挙研究所の大学院研究者で博士号を取得したジェシークラークによって書かれました。前書き公開されているデータを使用してカリフォルニア州オークランドの大気質を予測するGoogleとEDFがオークランドの大気汚染のマッピングに関する研究を発表したとき、この研究の結果は大きな注目を集めました。彼らが発表したデータは、オークランド東部と西部の街区によって大気質がどのように変化するかを示した最初のデータセットの1つでした。データサイエンスプロジェクトから実現された経済的価値を解釈するためのフレームワークパートI:NPV、IRR、PIDanielFleckとDavidLubertによる執筆シリーズの最初のブログでは、正味現在価値(NPV)、内部収益率(IRR)、および収益性指数(PI)を利用して、データサイエンスプロジェクトを適切に評価することに焦点を当てます。データサイエンスの方法論を利用することで、これらの同じ経済指標の入力をさらに改善して、より高品質の評価を開発する方法についても説明します。固有分解とSVDに役立つ基底の線形代数の概念を理解するこの記事では、固有分解や特異値分解(SVD)などの行列因数分解法を理解するための興味深い方法である基底の概念について学習します。定義基本は、ベクトル空間(ベクトルのセット)を記述するために使用される座標系です。