Я сделал модель Keras NN для обнаружения поддельных новостей, и я получил точность проверки 89,1. Я использовал 50 000 образцов для обучения и 10000 для тестирования и 2000 для проверки. Я сохранил эту модель. Теперь я хочу загрузить эту модель, загрузить новые данные, которые я хочу сделать на основе этих данных.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler, RobustScaler, Normalizer, MinMaxScaler
from sklearn.feature_selection import RFE
from sklearn.metrics import accuracy_score
from tensorflow.python.keras.models import Sequential, load_model
from tensorflow.python.keras.layers import Dense, Dropout, LeakyReLU, Conv2D, LSTM, Flatten
from tensorflow.python.keras import optimizers
from tensorflow.python.keras.regularizers import l2
from tensorflow.python.keras.callbacks import EarlyStopping, ModelCheckpoint
import numpy as np
my_model_1 = load_model("keras fake news acc 89.1.h5")
validation_df = pd.read_csv("validation.csv")
validation_features = validation_df.iloc[:,:-1]
validation_results = validation_df.iloc[:,-1].tolist()
scaler = StandardScaler()
validation_features = scaler.transform(validation_features) #ERROR
Проблема в том, что я получаю ошибку:
NotFittedError: This StandardScaler instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
Если я использую fit_transform
для своих функций, я не получаю ошибку, но я получаю точность 52%, и это ужасно (потому что у меня было 89,1%).
Как я могу это исправить? Нужно ли мне также загружать данные, которые я использовал для обучения модели, или я могу просто загрузить модель и передать данные для прогнозирования?
Когда я обучал модель, я использовал fit_transform
для обучения данных и transform
для тестирования данных. Я предполагаю, что сейчас я должен использовать только transform
для своих данных, но я получаю ошибку