2

ランダムフォレストのMllibバージョンでは、パラメーター付きの名目フィーチャー(数値ではあるがカテゴリ変数)を持つ列を指定する可能性がありました。categoricalFeaturesInfo MLランダムフォレストとは何ですか?ユーザーガイド、同様のベクターでカテゴリ機能を変換VectorIndexerを使用していますが、書かれてthere is an exampleで「自動的にカテゴリの特徴を識別し、インデックス彼らは」 Sparkの最新ランダムフォレストのカテゴリ機能をどのように処理するのですか?

In the other discussion of the same problem

は、私は、数値インデックスはランダムな森の中で、とにかく連続の機能として扱われることがわかりましたこれを避けるためにワンホットエンコーディングを行うことをお勧めします。このアルゴリズムの場合は理にかなっていないようです。

私は彼らがStringIndexerでインデックス化されると、カテゴリ欄にカテゴリ(> 1000)の多くを持つとき、ランダムフォレストアルゴリズムは連続機能を使用することになって、私はMaxBinパラメータを設定尋ねること。また、気づきましたビン数を超えるフィーチャが連続として扱われることを意味しますか?as it's specified in the official example,です。したがって、StringIndexerはカテゴリ型の列でOKです。つまり、変数が数値であることを前提として、列挙型の列全体がバケット化されます。連続?私は、数値インデックスがランダムな森の中で、とにかく連続の機能として扱われることがわかっ同じ問題の他の議論で

答えて

1

これは実際には間違っています。ツリーモデル(RandomForestを含む)は、列のメタデータによってカテゴリ変数と数値変数を区別します。メタデータは、ML変圧器(StringIndexerまたはVectorIndexerなど)またはadded manuallyのように提供できます。 mlモデルで内部的に使用されている古いmllib RDDベースのAPIは、同じ目的でcategoricalFeaturesInfoMapを使用します。

Current APIは、メタデータをとり、categoricalFeaturesInfoで期待される形式に変換します。

OneHotEncodingは、線形モデルの場合にのみ必要であり、必須ではありませんが、for multinomial naive Bayes classifierを推奨します。

関連する問題