2016-08-23 6 views
0

私は不均衡なデータセットを持っています。166行(class0)と43行(class1)を含む209行(サンプル)があります。 したがって、私は不均衡な問題を解決したい、 私はクラスの重みを調整するPythonの命令を使用します。tree.DecisionTreeClassifier adjust class_weight

tree.DecisionTreeClassifier(max_depth=4,class_weight={1:3.8}) 
clf.fit(scale_data, data_answer 

最後に、結果(図1)において、サンプルは依然として209であるが、値は166.0(class0)及び166.34(クラス1)となりました。 class1は小数点以下の桁をサンプリングします。 私は結果を説明することはできません、Cpython(https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L1948>)によって書かれたソースコードをコンパイルすることはできません 誰かが私を助けることができますか? ありがとうございます。

fig.1

答えて

0

クラス1は、 "小数点以下の桁をサンプリング。" はありませんそれが何を意味するのか分かりません。代わりに、サンプルは重み付けされているので、値は43 * 3.8 = 163.4

+0

です。クラスの重みはサンプルサイズを拡張するためにオーバーサンプリングすることを意味しますか? – yating

+0

@yating No.トレーニング中にクラスに与えられた重みです。スプリットを決定するために選択した基準関数の結果に影響します。 –

関連する問題