機械学習のロジスティック回帰:完全ガイド

公開: 2021-10-04

機械学習モデルが機能するには、アルゴリズムが必要です。 一連の条件に応じて、特定のMLモデルは、いずれかのアルゴリズムを使用して最高のパフォーマンスを発揮できます。 その結果、機械学習のエンジニアと愛好家は、さまざまなコンテキストで使用できるさまざまなタイプのアルゴリズムを認識し、時が来たときにどれを使用するかを知る必要があります。 機械学習には万能のソリューションはありません。さまざまなアルゴリズムを調整することで、目的の結果を得ることができます。

たとえば、線形回帰についてはすでに知っている必要があります。 ただし、このアルゴリズムは、カテゴリに依存する変数には適用できません。 これは、ロジスティック回帰が役立つところです。

機械学習では、ロジスティック回帰は、従属変数またはターゲット変数の確率を予測するために使用される教師あり学習方法です。 ロジスティック回帰を使用すると、従属変数と1つ以上の独立変数の間の関係を予測および確立できます。

ロジスティック回帰の方程式とモデルは、通常、二項分類の予測分析に使用されます。 マルチクラス分類にも使用できます。

機械学習のロジスティック回帰方程式は次のようになります。

logit(p)= ln(p /(1-p))= h0 + h1X1 + h2X2+h3X3…。+hkXk

どこ;

p=特徴の発生確率

x1、x2、..xk=入力機能のセット

h1、h2、….hk=ロジスティック回帰方程式で推定されるパラメトリック値。

目次

機械学習におけるロジスティック回帰モデルの種類

ロジスティック回帰の使用方法に基づいて、ロジスティック回帰モデルのタイプは次のように分類できます。

1.バイナリロジスティック回帰モデル

これは、ロジスティック回帰で最も一般的に使用される回帰モデルの1つです。 これは、データを2つのクラスに分類し、2つのクラスのいずれかに属するものとして新しい入力の値を予測するのに役立ちます。 たとえば、患者の腫瘍は良性または悪性のいずれかである可能性がありますが、両方ではありません。

2.多項ロジット回帰モデル

このモデルは、量的な重要性に関係なく、ターゲット変数を3つ以上のクラスに分類するのに役立ちます。 この例としては、食事の好みや過去の経験に基づいて、個人が注文する可能性のある食品の種類を予測することが考えられます。

世界のトップ大学(修士、エグゼクティブ大学院プログラム、ML&AIの高度な証明書プログラム)からオンラインで機械学習コースに参加して、キャリアを早急に進めましょう。

3.通常のロジスティック回帰モデル

このモデルは、ターゲット変数を分類するために使用されます。 たとえば、試験での学生の成績は、階層順に、悪い、良い、優れていると分類できます。 このように、データは3つの異なるカテゴリに分類され、各クラスには特定の重要度があります。

ロジスティック回帰方程式は、スパム検出、腫瘍分類、性別分類など、いくつかのケースで使用できます。 理解を深めるために、機械学習でのロジスティック回帰方程式の最も一般的な2つのユースケースを見てみましょう。

ロジスティック回帰方程式のユースケースの例

例1:スパムメールの特定

電子メールがスパムの場合は1、電子メールがスパムでない場合は0のクラスを検討してください。 これを検出するために、メール本文から複数の属性が分析されます。 これらには以下が含まれます:

  • 送り主
  • スペルミス
  • 「銀行の詳細」、「ラッキー」、「勝者」、「おめでとう」などのメール内のキーワード。
  • メール内の連絡先の詳細またはURL

次に、この抽出されたデータを機械学習のロジスティック回帰方程式に入力して、すべての入力を分析し、0〜1のスコアを提供します。スコアが0より大きく0.5より小さい場合、電子メールはスパムとして分類され、スコアが0.5から1の間の場合、メールは非スパムとしてマークされます。

例2:クレジットカード詐欺の特定

ロジスティック回帰方程式またはロジスティック回帰ベースの機械学習モデルを使用して、銀行は不正なクレジットカード取引を迅速に特定できます。 このため、PoS、カード番号、トランザクション値、トランザクションデータなどの詳細がロジスティック回帰モデルに入力され、特定のトランザクションが本物(0)か不正(1)かが決定されます。 たとえば、購入額が高すぎて通常の値から逸脱している場合、回帰モデルはトランザクションを不正として分類する値(0.5〜1)を割り当てます。

機械学習におけるロジスティック回帰の働き

ロジスティック回帰は、シグモイド関数を使用して予測を出力確率にマッピングすることで機能します。 この関数は、0と1の間の予測値をプロットするS字型の曲線です。次に、0と1をラベルとして使用して、値がY軸の上部と下部のマージンに向かってプロットされます。 次に、これらの値に応じて、独立変数を分類できます。

シグモイド関数は次のようになります。

シグモイド関数は、次の方程式に基づいています。

y = 1 /(1 + e ^ x)

ここで、e ^x=値2.718の指数定数。

上記のシグモイド関数の方程式は、xが負であると見なされる場合、予測値(y)をゼロとして提供します。 xが大きな正の数の場合、予測される値は1に近くなります。

Pythonでのロジスティック回帰モデルの構築

Pythonでロジスティック回帰モデルを構築するプロセスを見ていきましょう。 そのために、ソーシャルネットワークデータセットを使用して回帰分析を実行し、個人が特定の車を購入するかどうかを予測してみましょう。 手順は次のようになります。

ステップ1:ライブラリとデータセットをインポートする

まず、モデルの構築に必要なライブラリをインポートします。 これには、Pandas、Numpy、およびMatplotlibが含まれます。 また、使用するデータセットをインポートする必要があります。 コードは次のようになります。

numpyをnpとしてインポートします

matplotlib.pyplotをptとしてインポートします

パンダをpdとしてインポートします

データセット=pd.read_csv('Social_Network.csv')

ステップ2:従属変数と独立変数に分割する

次に、供給されたデータを従属変数と独立変数に分割します。 この例では、個人の推定給与と年齢を独立変数として、購入額を従属変数と見なします。

x = dataset.iloc [:、[2,3]]。values

y = dataset.iloc [:、4] .values

ステップ3:データセットをトレーニングセットとテストセットに分割する

データセットを特定のトレーニングセットとテストセットに分割することが不可欠です。 トレーニングセットはロジスティック回帰方程式をトレーニングし、テストデータはモデルのトレーニングを検証してテストするために使用されます。 Sklearnは、指定されたデータセットを2つのセットに分割するために使用されます。 トレーニングとテストのために取っておきたいデータの量を指定することにより、train_split_functionを使用します。

sklearn.model_selectionからimporttrain_test_split

x_train、x_test、y_train、y_test = train_test_split(x、y、test_size = 0.33、random_state = 0)

ご覧のとおり、テストサイズは完全なデータセットの33%と定義されています。 したがって、残りの66%がトレーニングデータとして使用されます。

ステップ4:スケーリング

ロジスティック回帰モデルの精度を向上させるには、データを再スケーリングし、性質が大きく異なる可能性のある値を取得する必要があります。

sklearn.preprocessingからインポートStandardScaler

sc_X = StandardScaler()

X_train = sc_X.fit_transform(X_train)

X_test = sc_X.transform(X_test)

ステップ5:ロジスティック回帰モデルを構築する

それが完了したら、ロジスティック回帰モデルを構築し、それをトレーニングセットに適合させる必要があります。 Sklearnからロジスティック回帰アルゴリズムをインポートすることから始めます。

sklearn.linear_modelからimportLogisticRegression

次に、トレーニングデータに適合するインスタンス分類器を作成します。

分類子=LogisticRegression(random_state = 0)

classifier.fit(x_train、y_train)

次に、テストデータセットで予測を作成します。

y_pred = classifier.predict(x_test)

最後に、混同行列を使用してロジスティック回帰モデルのパフォーマンスを確認します。

sklearn.metricsからimportconfusion_matrix

cm = confusion_matrix(y_test、y_pred)

acc = accure_score(y_test、y_pred)

print(acc)

印刷(cm)

これで、Matplotlibを使用して、トレーニングセットやテストセットを含むデータセット全体を視覚化できます。

結論は

ロジスティック回帰は、機械学習モデルとアルゴリズムの開発に役立つツールの1つです。 同様に、手元のユースケースに応じて使用される他の複数のアルゴリズムもあります。 ただし、使用するアルゴリズムを知るには、考えられるすべてのオプションに注意する必要があります。 そうして初めて、データセットに最も適したアルゴリズムを選択できるようになります。

機械学習のエグゼクティブPGプログラムをチェックしてください。これは、ゼロからスキルを磨き、実際の機械学習の問題を解決できるように設計されています。 さまざまなコースをチェックして、自分に合ったコースに登録してください。 upGradに参加して、総合的な学習環境と配置サポートを体験してください!

機械学習では何種類のロジスティック回帰が可能ですか?

ロジスティック回帰には、大きく3つのタイプがあります。
1.バイナリ
2.多項
3.序数。

機械学習で使用されるロジスティック回帰とは何ですか?

ロジスティック回帰は、適切な将来の予測を行うために、従属変数と独立変数の間の最適な関係を見つけて構築するために使用される教師あり学習方法の1つです。

機械学習のロジスティック回帰が使用する関数は何ですか?

機械学習のロジスティック回帰は、シグモイド関数を使用して最適な曲線を見つけます。