将序列转换为数组元素

时间:2019-06-19 21:37:48

标签: python numpy machine-learning scikit-learn random-forest

我正在尝试将数据输入到随机森林分类器中,但是它一直告诉我我正在使用序列。我不确定如何将序列转换为可以接受的任何内容

我曾尝试将其输入list()内的分类器中,但这也不起作用。

这是X_train [1]的示例:

array([30, array([[0, 0, 1]]), 5.2304265, 7.233890799999999,
       array([[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]),
       array([[0, 1, 0, 0, 0, 0, 0]]), array([[0, 0, 0, 0, 1]]), 0, 0, 0,
       2, 10000.0, 13000.0, 30, 1], dtype=object)

clf = RandomForestClassifier(n_estimators=100, max_depth=2, random_state=0)
clf.fit(X_train, y_train)

...产生... ValueError: setting an array element with a sequence.

我希望它接受数据,因为它是数字,但似乎拒绝了数据

1 个答案:

答案 0 :(得分:1)

看看sci-kit learning中的fit()方法的documentation

明确指出,训练功能X必须采用以下格式

X : array-like or sparse matrix of shape = [n_samples, n_features]

期待2D阵列。您将需要修改您的训练数据以匹配所需的格式。