【发布时间】:2024-05-15 23:15:02
【问题描述】:
我正在尝试从 imblearn 进行 SMOTE 过采样。这是我的代码:
X = data[['a','b','c']]
y = data['targets']
oversampler = SMOTE(random_state=42)
X_over, y_over = oversampler.fit_resample(X,y)
而且,最后一行 X_over, y_over = oversampler.fit_resample(X,y) 引发了错误 setting an array elemenet with a sequence
我确定原因是因为我的“X”的形状。
X 是一个数据框,其中“a”列的每一行都是长度为 118 的列表,“b”列的每一行都是长度为 15 的列表,“c”列是一个整数列。
即
例如,
a(length - 118) b(length -15) c
[1,2,3,4,.....0] [4,7,8,9...0] 3
现在,如何将此数据帧 X 转换为形状数组 (n_samples, n_features),这是 documentation 所必需的
有人可以帮我转换输入数据框以消除此错误吗?
【问题讨论】:
-
“'a' 列的每一行都是长度为 118 的 'list' 类型”是什么意思?它是一个字符串还是一个浮点数列表?
-
整数列表。我已经编辑了我的问题以明确这一点。
标签: python arrays numpy scikit-learn imblearn