Logistic Regressionを使用してモデルを訓練し、名前フィールドと説明フィールドが男性、女性、またはブランドのプロファイルに属するかどうかを予測しました。私の列車精度は約99%であり、試験精度は約83%です。私はCパラメータをチューニングして正規化を実装しようとしましたが、改良はほとんど気づかれませんでした。トレーニングセットには約5,000の例があります。これは、私がSci-Kitでもっと多くのデータを必要としているか、それとも他に何かできるのか、私のテストの精度を上げることを学ぶのですか?Sci-Kitを使用したロジスティック回帰のオーバーフィットを回避するLearn
答えて
オーバーフィットは多面的な問題です。それはあなたの列車/テスト/検証スプリット(50/40/10から90/9/1のものは何かを変えるかもしれません)かもしれません。入力をシャッフルする必要があるかもしれません。アンサンブル方式を試してみるか、機能の数を減らしてください。あなたは外れ値を持っている可能性があります。
これらのどれも、またはこれらのすべて、またはこれらの組み合わせであってもかまいません。
初心者のための、テストの分割サイズの関数としてのテストのスコアをプロットしてみて、あなたが
ガイダンスをありがとう。私が使用している機能はTfidfVectorizerからのものなので、どのように機能の数を減らすか分かりません。自分のような初心者のためのアイデアはここにありますか?ありがとう! – user3647894
ロット;プロットスコア対テストサイズ。あなたのデータがゼロ平均と単位標準にスケールされていることを確かめてみてください –
#The 'C' value in Logistic Regresion works very similar as the Support
#Vector Machine (SVM) algorithm, when I use SVM I like to use #Gridsearch
#to find the best posible fit values for 'C' and 'gamma',
#maybe this can give you some light:
# For SVC You can remove the gamma and kernel keys
# param_grid = {'C': [0.1,1, 10, 100, 1000],
# 'gamma': [1,0.1,0.01,0.001,0.0001],
# 'kernel': ['rbf']}
param_grid = {'C': [0.1,1, 10, 100, 1000]}
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import classification_report,confusion_matrix
# Train and fit your model to see initial values
X_train, X_test, y_train, y_test = train_test_split(df_feat, np.ravel(df_target), test_size=0.30, random_state=101)
model = SVC()
model.fit(X_train,y_train)
predictions = model.predict(X_test)
print(confusion_matrix(y_test,predictions))
print(classification_report(y_test,predictions))
# Find the best 'C' value
grid = GridSearchCV(SVC(),param_grid,refit=True,verbose=3)
grid.best_params_
c_val = grid.best_estimator_.C
#Then you can re-run predictions on this grid object just like you would with a normal model.
grid_predictions = grid.predict(X_test)
# use the best 'C' value found by GridSearch and reload your LogisticRegression module
logmodel = LogisticRegression(C=c_val)
logmodel.fit(X_train,y_train)
print(confusion_matrix(y_test,grid_predictions))
print(classification_report(y_test,grid_predictions))
これはscikit learn tutorialのcopy + pasteです。 –
コピー+ペーストなし私はこのSVMモジュールで数日前に働いていました。これはSVCのために最高のCとガンマを見つける方法でしたが、他の人には難しいかもしれないアルゴを学習するマシンですが、質問をしたユーザーがそれを取得します。 –
- 1. Scikit-learnのロジスティック回帰のエンコーディング方法
- 2. ロジスティック回帰コスト関数scikit learn
- 3. scikitで異なるフィーチャ次元を持つロジスティック回帰モデルlearn
- 4. SciKitのマルチクラスロジスティック回帰Learn
- 5. scikit-learnのロジスティック回帰フィーチャ値の正規化
- 6. Scikit Learn:ロジスティック回帰モデル係数:明確化
- 7. Scikit-learnとStatsmodelsを使用した線形回帰
- 8. pythonのロジスティック回帰における正則化パラメータの発見方法scikit-learn?
- 9. SVM回帰を使ったScikit-learnグリッド検索
- 10. グリッド検索(GridSearchCV)とパイプラインを使用したサポートベクトル回帰(SVR)の係数Scikit Learn
- 11. sklearn(scikit-learn)ロジスティック回帰パッケージ - 分類のための訓練された係数を設定します。
- 12. Scikit-Logistic回帰回帰メモリエラー
- 13. Tensorflowロジスティック回帰
- 14. Rロジスティック回帰
- 15. Pythonロジスティック回帰
- 16. ロジスティック回帰は
- 17. SPSSロジスティック回帰
- 18. ロジスティック回帰Python
- 19. Pythonのロジスティック回帰
- 20. ロジスティック回帰で予測する(Python Sci Kit Learn)
- 21. Scikit-LearnでPythonで多項式回帰をプロットする
- 22. scikit-学ぶからロジスティック回帰のこの実装例に続いてロジスティック回帰
- 23. ScikitのpythonとRでロジスティック回帰の結果が異なる?
- 24. タイタニックデータセットでロジスティック回帰を適用する
- 25. R gbmロジスティック回帰
- 26. ロジスティック回帰ダブルループR
- 27. Sklearnを使用したロジスティック回帰のウェイトベクトルの取得方法
- 28. Tensorflowを使用したMNISTでのロジスティック回帰のスピード
- 29. rmsを使用したロジスティック回帰の計算
- 30. SciKit Learn - 線形回帰の背後にある数学モデル?
がはるかに正確な(電車/テスト分割することが何を得る参照; C-チューニングが行わ; *かろうじて注目* ?;;;;;;;;;;;;;;;;;;;;;前処理、オプト・アルゴリズム、正則化の種類、マルチ・クラス戦略)、いくつかの書式を追加することができます。それでも、それはまだ非常に広い質問であるようです。 – sascha