ランダムフォレストがどのように動作するかはわかりません。 通常、分類では、列車データをランダムフォレスト分類器に収めて、テストデータを予測するように頼むことができます。sci-kitのランダムフォレスト分類子をどのように解釈するのですか?
現在、私は私に提供されているタイタニックデータに取り組んでいます。これはデータセットの一番上の行で、1300(約)行あります。
survived pclass sex age sibsp parch fare embarked 0 1 1 female 29 0 0 211.3375 S 1 1 1 male 0.9167 1 2 151.55 S 2 0 1 female 2 1 2 151.55 S 3 0 1 male 30 1 2 151.55 S 4 0 1 female 25 1 2 151.55 S 5 1 1 male 48 0 0 26.55 S 6 1 1 female 63 1 0 77.9583 S 7 0 1 male 39 0 0 0 S 8 1 1 female 53 2 0 51.4792 S 9 0 1 male 71 0 0 49.5042 C 10 0 1 male 47 1 0 227.525 C 11 1 1 female 18 1 0 227.525 C 12 1 1 female 24 0 0 69.3 C 13 1 1 female 26 0 0 78.85 S
与えられた何の試験データはありません。ですから、ランダムな森林がデータセット全体の生存率を予測し、それを実際の値と比較する(もっと正確なスコアをチェックするように)。
私がしたことは、完全なデータセットを2つの部分に分けることです。 1つは機能と他のものを予測(生き残った)します。 機能は、生き残りを除くすべての列で構成され、予測は生存列となります。
dfFeatures = df['survived']
dfTarget = dfCopy.drop('survived', 1)
注:dfはデータセット全体です。ここで
はランダムフォレスト
rfClf = RandomForestClassifier(n_estimators=100, max_features=10)
rfClf = rfClf.fit(dfFeatures, dfTarget)
scoreForRf = rfClf.score(dfFeatures, dfTarget)
のスコアをチェックするコードは、私は私はそれが少し難しいの後ろに何が起こっているかを理解するために見つけています。この
The accuracy score for random forest is : 0.983193277311
のようなもので、スコアの出力を得ることです上記のコード内のコード。
他のフィーチャ(dfFeatures
)に基づいてすべてのタプルの生存率を予測し、テストデータ(dfTarget
)と比較して予測スコアを与えるか、列車データとランダムに列車データを作成し、後に生成されたテストデータの精度を比較しますか?
より正確には、精度スコアを計算する間、全体データセットまたはランダム部分データセットの生存を予測しますか?
手動でデータセットを列車とテストに分割すると、それはトレーニングセットの生き残り列を予測し、テストセットと一致させようとします。 – Arman
@Arman私がトレーニングセットとテストセットに分かれない場合はどうしたらいいですか?それは場面の後ろにランダムにテストセット(67-23)を生成しませんか? – Cybercop
私はそう考えています。どのくらいのテストセットとどのくらいの訓練が設定されているかについては、正確にはわからないのですが、そのような状況では正確さはトレーニング精度スコアではないと思います。 – Arman