Получение ошибки в Random Forest как: ValueError: установка элемента массива с последовательностью - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть две особенности в моих данных в виде массивов, и я хочу передать их в классификатор случайных лесов для обучения моей модели. Но я получаю сообщение об ошибке как ValueError: установка элемента массива с последовательностью.

Вот мои массивы: введите описание изображения здесь

Надеюсь, все понятно. Заранее спасибо.

1 Ответ

0 голосов
/ 03 апреля 2020

Вам необходимо передать числовые значения в этот алгоритм ML. Ваши данные содержат последовательность, таким образом, ошибка. Ниже мое предложение, как изменить последовательность столбцов. Я предполагаю, что каждая последовательность в двух ваших столбцах имеет одинаковую длину.

import ast
import pandas as pd
df = pd.DataFrame([['[1,1,1,1,1,1]','[2,2,2,2,2,2]'], ['[1,1,1,1,1,1]','[2,2,2,2,2,2]']], columns=["a","b"])

new_df = []
for col_name in df.columns:
    vector_size = len(ast.literal_eval(df[col_name][0]))
    col_names = [col_name + str(num) for num in range(vector_size)]
    vector = np.array([ast.literal_eval(x) for x in df[col_name]])
    vector_df = pd.DataFrame(vector, columns = col_names)
    new_df.append(vector_df)
pd.concat(new_df, axis=1)

до:

before

после :

afer

если ваши данные не являются строковым представлением списка, вам не нужно использовать библиотеку ast.

...