我无法解决SVR中的错误“ ValueError:预期的2D数组,取而代之的是1D数组:” ML

时间:2019-07-08 17:52:16

标签: machine-learning svm data-science

我正在尝试制作一个简单的svr,并且该代码需要某些功能缩放,因此当我使用此代码将缩放应用于数据集时,总是会出现此错误! 我试过在fit_transform()函数中以及数据集拆分部分中重塑数据,但是总是将y的值更改为绝对零!您的值应在-0.7202.643之间(总共10个值)..

ps:当我调整并转换'y'时出现错误。

我看到了不同的问题和应用技巧,但idk不适用于我,所以请帮忙,因为我严重陷入困境...

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

dataset = pd.read_csv('Position_Salaries.csv')
X = dataset.iloc[: , 1:2].values
y = dataset.iloc[: , 2].values

#feature scaling 
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
sc_y = StandardScaler()
X = sc_X.fit_transform(X)
y = sc_y.fit_transform(y)

#fitting svr to the dataset
from sklearn.svm import SVR
regressor = SVR(kernel = 'rbf')
regressor.fit(X,y)

#predicting a new result
y_pred = regressor.predict([[6.5]])

#visualising the svr results
plt.scatter(X,y ,color = 'red')
plt.plot(X , regressor.predict(X) , color = 'blue')
plt.title('truth or bluff')
plt.xlabel('positon level')
plt.ylabel('salary')
plt.show()

在-0.720和2.643之间(共10个值)

1 个答案:

答案 0 :(得分:0)

在您的代码中,Serieslist不接受的StandardScalery。要将import numpy as np y = np.reshape(y, (-1,1)) y = sc_y.fit_transform(y) 转换为numpy数组,请运行以下命令:

td:first-child {
   width:85%;
}

input[type=radio]{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
}

.yesImage, .noImage {
    background-color:navajowhite;
}

input[type=radio]:checked + .yesImage {
    background-color:black;
}

input[type=radio]:checked + .noImage {
    background-color:black;
}

.optionImage {
    cursor:pointer;
    background-size:contain;
    background-repeat:no-repeat;
    display:inline-block;
    height:35px;
    -webkit-transition: all 100ms ease-in;
    -moz-transition: all 100ms ease-in;
    transition: all 100ms ease-in;
}

.yesImage, .noImage {
    width:50px;
}