問題タブ [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.

0 投票する
0 に答える
157 参照

r - NaiveBayes を実行する前に rfe 関数を実行するとエラーが発生する

NaiveBayes を実行する前に機能選択のために rfe を実行すると、

以下のエラーが表示されます

ご覧のとおり、すべての NULL 分散変数を削除した後、エラーの他の理由が考えられます。どんな助けでも大歓迎です。

参考までに: tc_data_final には、164,000 の観測値を持つ 179 の変数があります。

NaiveBayes を実行する前に、他の機能選択オプションに関するその他の指針も非常に役立ちます。

0 投票する
1 に答える
932 参照

r - lrFuncs を使用した R キャレットの rfe で [Error in { :task 1 failed - "rfe is expected 58 important values but has only 48"] が発生する

を使用しようとすると、この投稿と同様の問題が発生します。私は彼らの提案を試みましたが、彼らは私の問題を解決しませんでした. 例として、caret パッケージの GermanCredit データセットを見てみましょう。このデータセットでは、すべての因子 (ターゲット変数 を除く) が既にバイナリ数値変数に変換されているため、 の使用について心配する必要はありません。rfelrFuncsClassmodel.matrix

では、分散のない変数 (ターゲット変数 Class を除く) を調べ、分散のない変数 (つまり、一意の値が 1 つだけ) を削除します。

ここで、相関変数を見て、「重複」を取り除きます。

ここで rfe を試しても、同じエラーが発生します。

この問題を解決し、このエラーが発生する理由を理解するための助けに感謝します。

0 投票する
1 に答える
1890 参照

r - 同じカテゴリ変数のレベルであるダミー変数を処理するためのキャレット RFE

分類の問題があり、予測子の 1 つは、3 つのダミー変数 A、B、C に変換された 4 つのレベル A、B、C、D を持つカテゴリ変数 X です。キャレット パッケージの Recursive Feature Selection (RFE) を使用して機能選択を行おうとしていました。A、B、C、D を一緒に考慮するように RFE 関数に指示するにはどうすればよいですか? つまり、A を除外すると、B&C も除外されます。

一日中これと戦った後、私はまだどこにも行きません...フォーミュラインターフェイスを使用してRFEをフィードすることも機能しません。RFE は自動的に因子をダミー変数に変換すると思います。

以下は私のコード例です:

ここの x_frame には、複数のレベルを持つカテゴリ変数が含まれています。

どんな助けでも大歓迎です!

0 投票する
0 に答える
871 参照

python - IndexError: インデックス 58 はサイズ 58 の範囲外です

RFECVを使用してデータをトレーニングし、適切な数の機能で最高の精度を得ています.しかし、タイトルに記載されているのと同じエラーが発生し続けました.以下はコードです.

でエラーが発生しましたがprobas_ = rfecv.fit(X[train], y[train]).predict_proba(X[test])、何が間違いなのか本当にわかりません。トレースバック全体は以下のとおりです。

これをデバッグしたところ、紛らわしいことがわかりました。

0 投票する
0 に答える
57 参照

r - 引数名に基づいて R/Subset 関数内の関数の引数コードを抽出する

私はcaretパッケージで働いています。methodsその内部で使用する多くの関数があります。例、

の引数をチェックするには、関数またはまたはrfe.defaultを使用しますargs()formalArgs()formals()

rfe.defaultここで、入力して取得する関数コード全体ではなく、関数内で使用される各引数のコードを確認したいだけです

これらの引数だけのコードを取得する方法。

function を使用deparse()して、関数コードから行の範囲を取得できます。しかし、引数名に基づいて関数から引数のコードを取得する方法はありますか?

引数がここのようにその中で関数を使用している場合rfeContol = rfeControl()

rfe.defaultコード全体ではなく、関数からこの引数のコードだけを抽出できるはずです or rfe.default.

ありがとう。

0 投票する
0 に答える
689 参照

python - Scikit RFECV がフロート ステップで機能しない

一部の機能を削除するために、scikit の再帰的機能の削除を使用しています。

ストレート アップRFEを使用する場合、ステップをフロートとして設定できます。つまり、(たとえば) 各ステップでフィーチャの 10% を削除する必要があります。それはうまくいきます。

RFECVに切り替えると、これは機能しないようです。

コード サンプル ( RFEでは問題なく動作し、 RFECVでは失敗します):

症状:

  • プロセスは終わることなく永遠に続きます。

  • コアがアクティブにならないようです。

  • 標準出力出力:... lib/python3.4/site-packages/sklearn/feature_selection/rfe.py:198: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future support_[features[ranks][:threshold]] = False

  • 標準出力にも次のように表示されます:
    Fitting estimator with 177 features. Fitting estimator with 177 features. Fitting estimator with 177 features. Fitting estimator with 124 features. Fitting estimator with 124 features. Fitting estimator with 71 features. Fitting estimator with 71 features. Fitting estimator with 124 features. Fitting estimator with 18 features. Fitting estimator with 18 features. Fitting estimator with 71 features. Fitting estimator with 18 features.
    (ただし、実際には何も起こりません)

  • 整数ステップで正常に動作します