Ошибка получения (найден массив с dim 3. Ожидаемая оценка <= 2) при выполнении следующего кода

#python #pandas #numpy #scikit-learn #data-science

#python #панды #numpy #scikit-учиться #наука о данных #pandas #scikit-learn

Вопрос:

Проверка надежности модели: В этом разделе я проверю надежность моей модели LSTM. Я использовал новые невидимые наборы данных для этого с 1 июля 2017 года по 20 июля 2017 года. Я загрузил наборы данных с веб-сайта Google Finance, чтобы проверить надежность модели.

 import preprocess_data as ppd
data = pd.read_csv('E:/DBSOM DATAFOM_Sem 2/Analyses of Samp;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
  

Я потратил много времени на устранение этой ошибки, но не нашел решения. Пожалуйста, предложите.

Комментарии:

1. Обновление: я использовал .to_numpy() вместо .values, но та же ошибка.

2. Не могли бы вы предоставить полную обратную трассировку?

3. неважно, я сам решил эту проблему. Спасибо

Ответ №1:

Я удалил эту строку Import sklearn.preprocessing.Стандартный масштабатор

И volla. Все работает гладко.