运行以下代码时出现错误(找到暗淡 3 的数组。预计估计器 <= 2)

Posted

技术标签:

【中文标题】运行以下代码时出现错误(找到暗淡 3 的数组。预计估计器 <= 2)【英文标题】:Getting Error (Found array with dim 3. Estimator expected <= 2) while running following code 【发布时间】:2020-12-15 02:19:25 【问题描述】:

检查模型的稳健性: 在本节中,我将检查我的 LSTM 模型的稳健性。从 2017 年 7 月 1 日到 2017 年 7 月 20 日,我为此使用了新的看不见的数据集。我已经从谷歌金融网站下载了数据集来检查模型的稳健性。

import preprocess_data as ppd
data = pd.read_csv('E:/DBSOM DATA\FOM_Sem 2/Analyses of S&U Data/Project work/Stock-Price-Prediction-master/googl.csv')
stocks = ppd.remove_data(data)
stocks = ppd.get_normalised_data(stocks)
stocks = stocks.drop(['Item'], axis = 1)

#Print the data frame head and tail

print(stocks.head())
X = stocks[:].values
Y = stocks[:]['Close'].values
X = sd.unroll(X,1)
Y = Y[-X.shape[0]:]

print(X.shape)
print(Y.shape)

# Generate predictions 

predictions = model.predict(X)

#get the test score

testScore = model.evaluate(X, Y, verbose=0)
print('Test Score: %.4f MSE (%.4f RMSE)' % (testScore, math.sqrt(testScore)))

函数定义

import pandas as pd
Import sklearn.preprocessing.StandardScaler
from sklearn.preprocessing import MinMaxScaler

def get_normalised_data(data):
    
    # Initialize a scaler, then apply it to the features
    
    scaler = MinMaxScaler()
    numerical = ['Open', 'Close', 'Volume']
    data[numerical] = scaler.fit_transform(data[numerical])
    return data

def remove_data(data):

    # Define columns of data to keep from historical stock data

    item = []
    open = []
    close = []
    volume = []

    # Loop through the stock data objects backwards and store factors we want to keep

    i_counter = 0
    for i in range(len(data) - 1, -1, -1):
        item.append(i_counter)
        open.append(data['Open'][i])
        close.append(data['Close'][i])
        volume.append(data['Volume'][i])
        i_counter += 1

    # Create a data frame for stock data
    stocks = pd.DataFrame()

    # Add factors to data frame

    stocks['Item'] = item
    stocks['Open'] = open
    stocks['Close'] = pd.to_numeric(close)
    stocks['Volume'] = pd.to_numeric(volume)

    # return new formatted data
    return stocks

我花了很多时间解决这个错误,但没有找到解决方案。请提出建议。

【问题讨论】:

更新:我使用了 .to_numpy() 而不是 .values 但同样的错误。 您介意提供完整的 Traceback 吗? 没关系,我自己已经解决了这个问题。谢谢 【参考方案1】:

我删除了这行 Import sklearn.preprocessing.StandardScaler

还有沃拉。一切顺利。

【讨论】:

以上是关于运行以下代码时出现错误(找到暗淡 3 的数组。预计估计器 <= 2)的主要内容,如果未能解决你的问题,请参考以下文章

sklearn KNeighborsClassifier“ValueError:找到暗淡为 4 的数组。预计估计器 <= 2。”

尝试在 C 中使用 realloc 扩展数组时出现分段错误错误 [关闭]

sklearn 维度问题“找到暗淡 3 的数组。预期的估计器 <= 2”

为啥我尝试在真实设备中运行代码时出现以下错误?

运行 plsql 块时出现无效标识符错误

在堆栈上分配数组时出现运行时错误[重复]