生成导入数据集进行分层抽样得到抽样和未抽样的数据集python代码
时间: 2023-06-04 12:06:06 浏览: 62
抱歉,我可以回答您的问题,以下是Python代码实现分层抽样:
```
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.utils import resample
# 导入数据集
data = pd.read_csv('data.csv')
# 被抽样属性
strata = 'region'
# 分层抽样
sampled_data = pd.DataFrame()
for region in data[strata].unique():
strata_data = data[data[strata] == region]
sample = resample(strata_data, replace=True, n_samples=100, random_state=42)
sampled_data = pd.concat([sampled_data, sample])
# 剩余未抽样的数据集
unsampled_data = data.drop(sampled_data.index)
```
以上代码假定数据集的名称为"data.csv",被抽样的属性为"region",每个区域抽取100个样本。使用了Scikit-learn库中的resample函数实现分层抽样。抽取到的样本存储在"sampled_data"中,未被抽样的数据集则存储在"unsampled_data"中。