【发布时间】:2020-03-06 19:16:32
【问题描述】:
我有一个数据集,我正在尝试对数据集进行日志转换,但我不断收到错误消息,提示“预期 2D 数组,得到 1D 数组”:
dataset3 = df_sheet_map['Set 3']
dataset3
X2 = dataset3.x
Y2 = dataset3.Y
plt.plot(X2, Y2, 'o')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
print('A logarthimic regression model will be used for this data set')
from sklearn.linear_model import LinearRegression
ln_Y2 = np.log(Y2)
plt.plot(X2, ln_Y2, 'o')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
from sklearn.cross_validation import train_test_split
X2_train, X2_test, Y2_train, Y2_test = train_test_split(X2, Y2, test_size= 0.2, random_state=0)
from sklearn.linear_model import LinearRegression
X2_test = X2_test.reshape(1, -1)
regressor = LinearRegression()
regressor.fit(X2_train,Y2_train)
y_pred = regressor.predict([[X2_test]])
但我显示以下错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-59-f9248c950ce4> in <module>()
2 X2_train, X2_test, Y2_train, Y2_test = train_test_split(X2, Y2, test_size= 0.2, random_state=0)
3 from sklearn.linear_model import LinearRegression
----> 4 X2_test = X2_test.reshape(1, -1)
5
6 regressor = LinearRegression()
~\Anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)
5065 if self._info_axis._can_hold_identifiers_and_holds_name(name):
5066 return self[name]
-> 5067 return object.__getattribute__(self, name)
5068
5069 def __setattr__(self, name, value):
AttributeError: 'Series' object has no attribute 'reshape'
有人可以帮忙吗?我不确定如何像使用 X2_test = X2_test.reshape(1, -1) 之前那样重塑这段代码。我得到了预期的 2d 数组但得到了 1d 的错误。
【问题讨论】:
-
试试 X2_test.values.reshape(1, -1)
标签: python pandas scikit-learn