1

Pythonで1:1の成層サンプリングを実行するにはどうすればよいですか?

Pandas Dataframedfが非常に不均衡であると想定します。これには、バイナリ グループとカテゴリ サブグループの複数の列が含まれます。

df = pd.DataFrame({'id':[1,2,3,4,5], 'group':[0,1,0,1,0], 'sub_category_1':[1,2,2,1,1], 'sub_category_2':[1,2,2,1,1], 'value':[1,2,3,1,2]})
display(df)
display(df[df.group == 1])
display(df[df.group == 0])
df.group.value_counts()

メインのメンバーごとに、withgroup==1の 1 つの一致を見つける必要がありますgroup==0

scikit-learn からの AStratifiedShuffleSplitは、1:1 の一致ではなく、データのランダムな部分のみを返します。

4

1 に答える 1