首先,我想使用装袋法在数据集中进行采样。之后,我将使用反向传播算法进行训练和测试。假设我将从数据集中随机选择40%的数据来创建1个样本集。之后,我将再次从总数据集中获取40%的数据并创建另一个数据集。
采样代码:
def subsample(dataset, ratio):
sample = list()
n_sample = round(len(dataset) * ratio)
while len(sample) < n_sample:
index = randrange(len(dataset))
append(dataset[index])
print(sample)
return sample
数据集:(我将对UCI Machine Repository的20个数据集进行采样)
import pandas as pd
dataset =pd.read_csv("abalone.csv")
如果要制作一个数据集的20个样本,则可以使用pandas.DataFrame.sample
并将每个样本存储到字典中。
import pandas as pd
dataset =pd.read_csv("abalone.csv")
df_dict ={}
for i in range(20):
df_dict['df{}'.format(i)] = dataset.sample(frac=0.4, random_state=123)
# use replace = True for Sample with replacement.