問題タブ [rfe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scikit-learn - RFECV と GridSearchCV を使用した StandardScaler() のスタック
そのため、StandardScaler() を使用すると、ネストされた 3 分割クロス検証をそれぞれ高速に実行して、GridSearchCV 内に RFECV を作成できることがわかりました。StandardScaler() がなければ、私のコードは 2 日以上実行されていたので、キャンセルして StandardScaler をプロセスに挿入することにしました。しかし、今では 4 時間以上実行されており、正しく実行できたかどうかはわかりません。これが私のコードです:
正直に言うと、StandardScaler() を GridSearchCV() 関数内に配置して、1 回だけでなく (?) フォールドごとにデータを正規化する必要があると思うので、正しくないと思います。私が間違っている場合、またはパイプラインが間違っている場合は修正してください。
RFECV によってプルーニングされる 145 個のフィーチャの 8,000 行と、GridSearchCV によってプルーニングされる 6 つの C 値があります。したがって、各 C 値について、最適な機能セットは RFECV によって決定されます。
ありがとう!
アップデート:
したがって、次のように RFECV 内に StandardScaler を配置します。
しかし、それでも次のエラーがスローされます。
ValueError: エスティメータ Pipeline(memory=None, steps=[('standardscaler', StandardScaler(copy=True, with_mean=True, >with_std=True)), ('svc', SVC(C=1.0, cache_size) のパラメータ C が無効です=200、class_weight=なし、>coef0=0.0、decision_function_shape='ovr'、次数=3、ガンマ='auto'、カーネル='linear'、max_iter=-1、確率=False、random_state=なし、縮小=True 、tol=0.001、verbose=False))])。> で使用可能なパラメーターのリストを確認します
estimator.get_params().keys()。
python - RFECV またはその他の機能選択前のデータ準備
機能を選択する前に、相関の高い機能と負の相関の機能を削除することが賢明かどうかを判断しようとしています。ここに私のコードのスナップショットがあります
そのため、相関する機能を削除して、または削除せずに試してみたところ、まったく異なる機能が得られました。RFECV やその他の特徴選択 (次元削減法) は、これらの相関性の高い特徴を考慮に入れていますか? 私はここで正しいことをしていますか?最後に、しきい値の高い機能を削除することをお勧めする場合は、これを行う前にスケーリングする必要があります。ありがとうございました。
ケビン
python - 最低ランクの特徴を削除するたびに再帰的特徴抽出を複数回実行するコード
わかりましたので、X 量のフィーチャを使用してデータセットで再帰的フィーチャ抽出を実行し、各反復で最低ランクのフィーチャを削除して、5 個のフィーチャだけが残るまで RFE を再実行します。ただし、これをコーディングする方法がわかりません。
RFE の実行の最初の部分は問題ありませんが、座って手動で RFE を再実行し、一度に 1 つの機能を削除するのに永遠にかかることはしたくありません。誰かがこれをコーディングするのを手伝ってくれますか?
