提问人:Joo 提问时间:11/15/2023 更新时间:11/16/2023 访问量:61
ValueError:预期的 2D 数组
ValueError: Expected 2D array
问:
我尝试制作一个 SVC。
from sklearn.svm import SVC
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("iris.csv")
df.loc[df["species"]=="setosa", "species"] = 0
df.loc[df["species"]=="versicolor", "species"] = 1
df.loc[df["species"]=="virginica", "species"] = 2
x = df.drop("species", axis="columns")
y = df.species
list = [6, 3, 5, 2]
svc = SVC()
svc.fit(x, y)
predict = svc.predict(list)
predict
但它向我展示了这个 ValueError,因为我的列表没有正确的维度:
ValueError: Expected 2D array, got 1D array instead: array=[6. 3. 5. 2.]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
我尝试使用 values.reshape(-1, 1) 或仅使用 reshape(-1, 1),但它不起作用,因为它是一个列表。 在错误中写到错误在“预测”行中。请帮帮我:)
答:
2赞
Suraj Shourie
11/16/2023
#1
如果不了解数据帧的结构,就很难确定,但您可能只需要使用 .请参阅下面的示例代码:np.reshape
也不要用作变量的名称,因为它会覆盖内置名称。list
import numpy as np
# your code here
# ....
x_test = [6, 3, 5, 2]
n = 1 # number of rows of test data
x_test = np.array(x_test).reshape(n,x.shape[1])
predict = svc.predict(x_test)
评论
0赞
Joo
11/17/2023
现在它说 FIT 函数有问题,带有以下 valueError:
0赞
Joo
11/17/2023
ValueError:未知标签类型:未知。也许您正在尝试拟合一个分类器,该分类器期望具有连续值的回归目标上的离散类。
下一个:使用“重塑”时更改数据
评论
df.head().to_dict()
x
x
df.head().to_dict()