2012-04-20 18 views
1

私はSMOTEを使ってデータセットをオーバーサンプリングしています(クラスの不均衡の影響を受けています)。私の属性の中には整数値を持つものもあれば、小数点以下2桁しかないものもありますが、SMOTEは小数点以下を含む新しいインスタンスを作成します。だからこの問題を解決するために私はNumericCleaner Filterを使い、私が望む小数の数を設定することを考えました。これはうまくいくようですが、欠損値に問題があります。欠損値はそれぞれ0.0の値に置き換えられ、データセットの欠損値を使用してモデルを評価する必要があります。 NumericCleaner(または値を丸めることを可能にする他のフィルタ)を使用して、欠損値を保持するにはどうすればよいですか?数値フィルタと欠損値(Weka)

+0

私の答えがあなたの問題を解決するなら、答えの横の "チェック"マークをクリックしてそれを受け入れてください。ありがとうございました。 –

答えて

1

非常に興味深い質問です。少数グループ(これは小数点以下を生成しますが、欠損値は欠損値のまま)

  • はその後、フィルタ - > unsupervised-> attribute-> NumericTransform
  • WEKAを選択をオーバーサンプリングする

    1. 使用打った:さて、ここでのソリューションです。
    2. このフィルタをクリックして属性インスタンス(小数点機能を使用する場所)を設定し、「abs」ではなく「methodName」に「ceil」と入力します。

    この問題が解決することを願っています。

    +0

    素晴らしい!これは整数値を必要とする属性に対しては完全に機能しますが、それを使って小数点以下の桁数を設定できますか? java.lang.mathには、SMOTEの小数点値 –

    +0

    に必要な機能を果たさないようだから、小数点以下の桁数を指定するオプションはありません。 –

    関連する問題