Я новичок в Python и работаю над проблемой классификации двоичного текста. Я разработал модель классификации текста. Теперь я хочу сохранить эту обученную модель и перезагрузить ее снова, чтобы протестировать в новом файле тестовых данных.
Я пытался использовать pickle и joblib для этой задачи и некоторые другие предложенные здесь методы при переполнении стека, но не смог этого сделать. С помощью одного метода я успешно сохранил свою модель, но не смог протестировать ее в новом файле тестовых данных. Любая помощь будет высоко оценена. Извиняюсь, если я не смог объяснить проблему хорошо, поскольку я новичок в Python.
Dataset = pd.read_csv('trainingdata.csv')
my_types = ['Requirement','Non-Requirement']
X_train, X_test, y_train, y_test = model_selection.train_test_split(Dataset['description'],Dataset['types'],test_size=0.0, random_state=45)
tfidf_vect_ngram = TfidfVectorizer(analyzer='word',
token_pattern=r'\w{1,}', ngram_range=(1,1), max_features=5000)
tfidf_vect_ngram.fit(Dataset['description'])
X_train_Tfidf = tfidf_vect_ngram.transform(X_train)
logreg = LogisticRegression(n_jobs=1, C=1e5)
logreg.fit(X_train_Tfidf, y_train)
import pickle
filename = 'finalized_model.sav'
pickle.dump(logreg, open(filename, 'wb'))
loaded_model = pickle.load(open(filename, 'rb'))
result = loaded_model.score('testdata.csv')
print(result)
Я тоже пробовал это.
with open('text_classifier', 'wb') as picklefile:
pickle.dump(logreg,picklefile)
with open('text_classifier', 'rb') as training_model:
model = pickle.load(training_model)
result = model.predict('testdata.csv')
print(result)
Я попробовал еще одно решение.
from keras.models import load_model
logreg.save('my_model.h5')
del logreg
model = load_model('my_model.h5')
result=model('projectay.csv')
print(result)
Несмотря на то, что я попробовал несколько решений, я не смог получить требуемых результатов. Возможно, я совершаю грубую ошибку из-за своего меньшего опыта в машинном обучении и питоне. Может кто-нибудь, пожалуйста, укажите, где я делаю ошибку. Спасибо в ожидании.