2017-12-09 13 views
0

私は、感情によって分類された30,000のフレーズを持っています。層別化を実行するときにカテゴリの割合を維持する必要がありますか?

私はNaive Bayesを使用します。

ここに比率(感情 - >フレーズ数)があります。

anger   98 
boredom  157 
empty   659 
enthusiasm  522 
fun   1088 
happiness  2986 
hate   1187 
love   2068 
neutral  6340 
relief  1021 
sadness  4828 
surprise  1613 
worry   7433 

私のモデルなどを実行するためにデータセットを列車/テストに分割する必要がありますか?

層別化を実行する際にカテゴリの割合を維持する必要がありますか?

つまり、テストサンプルで30%を選択した場合、データセット全体の30%ではなく、各センチメントの30%を維持する必要がありますか?

私はそう思いますが、私は経験豊富な意見を持っています。

あなたはどうしますか?だれかがここでPythonループを実行するのではなく、どの感情をテストするのか、30%を計算するのか、辞書に入れられるのか、もっと良い方法を知っていますか?

カテゴリ機能で層別化するパンダのトリックはありますか?

答えて

1

層別化を実行する際にカテゴリの割合を維持する必要がありますか?

用語について少し混乱しているようです。 の階層化(またはstratified sampling)の正確な定義は、正確に比率を維持することです。それ以外の場合は、単純なランダムサンプリングです。

テストサンプルで30%を選択した場合、データセット全体の30%ではなく、各センチメントの30%を維持する必要がありますか?

これらは矛盾していませんか?あなたが各カテゴリの30%を保持している場合、最初のセットの30%で終了しませんか?

カテゴリ機能で層別化するパンダのトリックはありますか? model_selection.train_test_splitは、このようなstratifyオプションが含まれ(私はあなたが次の使用しようとしている推測する)

はパンダについては知らないが、scikitは学習:

from sklearn.model_selection import train_test_split 
X_train, X_test, y_train, y_test = train_test_split(X, y, 
                stratify=y, 
                test_size=0.3) 
+1

は説明をありがとうございました! –

+0

@AlexanderFrancaFernandesあなたは大歓迎です – desertnaut

関連する問題