我有不同类型的数据,我想根据下面显示的变量Y
A
和B
来预测因变量C
。
Y A B C
0 11.3914 2.75 0 [0, 0, 10, 17, 35, 26, 0]
1 14.0348 2.50 0 [0, 0, 39, 35, 30, 5, 0]
2 14.8416 2.75 1 [0, 0, 12, 5, 5, 2, 1]
3 13.7829 2.25 0 [0, 0, 2, 18, 14, 8, 0]
...
以下尝试在ValueError: setting an array element with a sequence.
行中给了我fit
。
X = df[['A', 'B', 'C']]
y = df['Y']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20)
tree_reg = DecisionTreeRegressor()
tree_reg.fit(X_train, y_train)
y_pred = regressor.predict(X_test)
我认为这是因为C
中的数组数据,但是当我尝试仅使用变量A
和B
进行预测时:
即X = df[['A', 'B']]
这次,我在最后的predict
行中出现了另一个错误:ValueError: Number of features of the model must match the input. Model n_features is 7 and input n_features is 2
我在做什么错?如何在X
中包含所有这些功能?
答案 0 :(得分:0)
我认为使用功能final Verified = await signString(plainText, Signture , publicKey);
时出现错误是由于最后一行。
A and B
看来您使用错误来预测。您有y_pred = regressor.predict(X_test)
个名为fit
的模型,并且正在使用另一个模型tree_reg
(可能用于某些先前的数据)来预测结果。在您的情况下,regressor
模型接受7个功能,而您仅提供2个。
使用所有三个功能regressor
当您想在数据框内使用A, B and C
时,可以使用list
方法将列表转换为数据框的各个列。