为了账号安全,请及时绑定邮箱和手机立即绑定

sklearn MinMaxScaler - ValueError:预期的二维数组

sklearn MinMaxScaler - ValueError:预期的二维数组

繁华开满天机 2023-04-18 14:45:00
我想在分析之前使用MinMaxScalerfrom来缩放测试和训练数据。sklearn我一直在学习教程 ( https://mc.ai/an-introduction-on-time-series-forecasting-with-simple-neura-networks-lstm/ ),但我收到一条错误消息ValueError: Expected 2D array, got 1D array instead。我尝试查看Print predict ValueError: Expected 2D array, got 1D array instead,但如果我尝试train = train.reshape(-1, 1)或test = test.reshape(-1, 1)因为它们是系列,我会收到一条错误消息(错误消息AttributeError: 'Series' object has no attribute 'reshape')我该如何最好地解决这个问题?# Import libraries import pandas as pd from sklearn.preprocessing import MinMaxScaler # Create MWE dataset data = [['1981-11-03', 510], ['1982-11-03', 540], ['1983-11-03', 480],   ['1984-11-03', 490], ['1985-11-03', 492], ['1986-11-03', 380],   ['1987-11-03', 440], ['1988-11-03', 640], ['1989-11-03', 560],    ['1990-11-03', 660], ['1991-11-03', 610], ['1992-11-03', 480]] df = pd.DataFrame(data, columns = ['Date', 'Tickets']) # Set 'Date' to datetime data type df['Date'] = pd.to_datetime(df['Date'])# Set 'Date to index   df = df.set_index(['Date'], drop=True)# Split dataset into train and test  split_date = pd.Timestamp('1989-11-03')df =  df['Tickets']train = df.loc[:split_date]test = df.loc[split_date:]# Scale train and test data scaler = MinMaxScaler(feature_range=(-1, 1))train_sc = scaler.fit_transform(train)test_sc = scaler.transform(test)X_train = train_sc[:-1]y_train = train_sc[1:]X_test = test_sc[:-1]y_test = test_sc[1:]# ERROR MESSAGE   ValueError: Expected 2D array, got 1D array instead:  array=[510. 540. 480. 490. 492. 380. 440. 640. 560.].  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.
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 206 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信