如何根据国家/地区和正负比率创建分层样本?

问题描述

全部

我正在基于预测认值进行项目。我有3个国家/地区的数据,摩洛哥,西班牙和印度,并且每个国家/地区的非违约者比率都不同:违约者。我想训练这些数据的样本(合并),但也要考虑到按国家/地区划分的数据具有不同程度的失衡。

如果我要去一个国家采样,我将使用分层采样。但是我又如何考虑国家呢?例如下面我将所有数据结合起来,然后进行分层抽样。但是在我得出的样本中,例如,西班牙违约者所占的百分比与原始样本所占的百分比不同。

df = data.concat([moroc,spain,india])
y = df['status']
df.drop(columns=['status'],inplace=True)
sss = StratifiedShuffleSplit(n_splits=1,test_size=0.2,random_state=0)
for train_index,test_index in sss.split(df,y):


    x_train,x_test = df.iloc[train_index],df.iloc[test_index]
    y_train,y_test = y.iloc[train_index],y.iloc[test_index]
   
sample = pd.concat([x_train,y_train],axis=1)

在上述情况下,我该怎么做才能考虑到该国?所有不同国家的数据集都有不同的大小。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)