ロジスティック回帰およびパーセプトロン アルゴリズムによる乳がんデータセット BreastCancer および虹彩データセット iris の線形分類

線形分類のためのロジスティック回帰およびパーセプトロン アルゴリズム

このコードでは、LogisticRegression と Perceptron という 2 つの分類方法を使用します。

# 使用LogisticRegreeion分类器学习和测试
lr = LogisticRegression()
lr.fit(X_train_scaler, y_train)
y_pred_lr = lr.predict(X_test_scaler)

#定义感知机
perceptron = Perceptron(fit_intercept=False, max_iter=200, shuffle=False)

関数の max_iter は、ソース コードを介したトレーニング データのパスの最大数として見ることができ、これは設定された最大反復回数を指しますが、反復回数が多ければ多いほど良いという意味ではありません。過学習が発生する可能性が高いため、モデルの精度が低下するか、多くの反復にもかかわらずモデルの精度が変化しないため、複数の反復により大量の計算が発生します。

max_iter が 30 に設定されている場合、結果は次のようになります。

ここに画像の説明を挿入

max_iter が 50 に設定されている場合、結果は次のようになります。

ここに画像の説明を挿入

max_iter が 100 に設定されている場合、結果は次のようになります。

ここに画像の説明を挿入

max_iter が 200 に設定されている場合、結果は次のようになります。

ここに画像の説明を挿入
logisticRegression を使用したモデルの精度は反復回数が増えるにつれて少し向上しますが、パーセプトロン モデルの場合、反復回数が増えるにつれてモデルの精度が低下します。

トレーニングにすべての固有値を使用した場合、2 つのモデルの精度が大幅に向上しました。ロジスティック回帰モデルの精度は 98.2% に達し、パーセプトロン モデルの精度は 97.4% に達しました。これは、20 番目の固有値のみを使用した場合と比較して、 . 寸法および 29 次元特徴量によって得られるモデルの精度が大幅に向上しました。

ここに画像の説明を挿入

実験結果は、2 つの分類器の logisticRegression の精度がパーセプトロンの精度よりも高いことを示していますが、それぞれに独自の利点があるため、パーセプトロンが logisticRegression より劣っているとは言えません。これらは一般に、分類問題に使用される分類子アルゴリズムです。ロジスティック回帰は、線形回帰の出力をシグモイド関数の入力として使用し、その回帰モデルは対数コスト関数を使用するため、より複雑になります。より多くの計算が必要ですが、パーセプトロンは平均二乗誤差の形式でコスト関数を使用し、その活性化関数は比較的単純なステップ関数であるため、計算が単純で計算量が少ないため、時間がかかりません。は小さく、モデルのトレーニングは高速です。したがって、ノーフリーランチは、モデルの精度の向上と引き換えに大量の計算が使用され、それに応じて計算量の多いモデルの精度が向上することを指摘しています。これはノーフリーランチの原則を証明しています。

おすすめ

転載: blog.csdn.net/qq_48068259/article/details/127893020