Я хочу сделать случайную выборку из набора данных с помощью Bagging. И использовать этот набор данных для дальнейшего анализа. Как я могу это сделать? - PullRequest
2 голосов
/ 23 октября 2019

Сначала я хочу сделать выборку в наборе данных, используя упаковку. После этого я буду использовать алгоритм обратного распространения для обучения и тестирования. Предположим, я выберу случайным образом 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

Набор данных: (Я сделаю выборку на 20 наборах данных из UCI Machine Repository)

import pandas as pd
dataset =pd.read_csv("abalone.csv")

1 Ответ

0 голосов
/ 23 октября 2019

Если вы хотите сделать 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...