Python 我想使用Bagging从数据集中进行随机抽样。并在进一步分析中使用该数据集。我该怎么做?

Python 我想使用Bagging从数据集中进行随机抽样。并在进一步分析中使用该数据集。我该怎么做?,python,random,jupyter-notebook,Python,Random,Jupyter Notebook,首先,我想使用bagging在数据集中进行采样。之后,我将使用反向传播算法进行训练和测试。假设我从数据集中随机选择40%的数据来创建一个样本集。之后,我将再次从总数据集中获取40%的数据,并创建另一个数据集 采样代码: def subsample(dataset, ratio): sample = list() n_sample = round(len(dataset) * ratio) while len(sample) < n_sample: i

首先,我想使用bagging在数据集中进行采样。之后,我将使用反向传播算法进行训练和测试。假设我从数据集中随机选择40%的数据来创建一个样本集。之后,我将再次从总数据集中获取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

如果您想对一个数据集进行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.

将每个数据集保存到字典(key='a number'和value=dataframe),感谢您的帮助。但我在这方面是全新的。你能帮我提供代码吗。我有一个代码,但我不知道它是否工作。这可能比您当前的子样本函数更简单。您想对
鲍鱼
数据集制作20个单独的样本,还是对20个不同的数据集进行采样?我必须使用UCI机器库中的20个数据集,如鲍鱼、甲状腺、汽车、国际象棋等。现在,对于每个数据集,我必须进行采样。假设考虑鲍鱼数据集。我需要这个数据集的不同样本,使用bagging。我想poster需要20个来自不同数据集的样本,而不是20个来自一个?即:“我必须使用UCI机器库中的20个数据集,如鲍鱼、甲状腺、汽车、国际象棋……等等”。这似乎是正确的方法,只是样本不应该来自多个CSV文件吗?@DarrylG,相同的方法可以应用于不同的数据集,并且每个字典都可以保存,或者可以创建一个新的字典,其中
key
作为数据集的名称,
value
作为当前值dict@shijith--同意,这就是为什么我认为这是正确的方法。非常感谢。我正在和我的主管谈这件事。如果我需要更多的东西,我会回来的。再次感谢。
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.