0

Pythonでmaxent分類器を使用して、モデル分類器を作成しました。モデルを正しく作成したかどうかはわかりません。エラーがありますが、モデルはまだ分類を実行できますが、結果はまだ期待どおりではないためです。

from nltk.classify import MaxentClassifier
#MaxEnt_classifier = MaxentClassifier
#MaxEnt_classifier.fit(features_train_transformed,y_train)

MaxEnt_classifier =linear_model.LogisticRegression(C=1,solver ='saga',penalty = 'l2',max_iter = 50000)
MaxEnt_classifier.fit(features_train_transformed,y_train)
#Evaluate the model on the training data set
from sklearn.metrics import classification_report,confusion_matrix, accuracy_score
predictions_MaxEnt = MaxEnt_classifier.predict(features_train_transformed)
print(classification_report(y_train ,predictions_MaxEnt ))
print('Confusion Matrix: \n',confusion_matrix(y_train,predictions_MaxEnt))
print()
print('Accuracy: ', accuracy_score(y_train,predictions_MaxEnt))
import pickle

# def save(vectorizer, classifier):
#     '''
#     save classifier to disk
#     '''
with open('model(indo)_30.pkl', 'wb') as file:
    pickle.dump((vectorizer, MaxEnt_classifier), file)
def load():
    '''
    load classifier from disk
    '''
    with open('model(indo)_30.pkl', 'rb') as file:
        vectorizer, clf, svm = pickle.load(file)
    return vectorizer, clf, svm
vectorizer, MaxEnt_classifier = load()
print('\nPerform a test')      
df = pd.read_csv('hasil_labelling_dataLatih(1).csv') #read the CSV file
data = df["Labeled Data"]
#data_label = df["label"]

tweet_input_transformed = vectorizer.transform(data)
#NB_prediction = NB_classifier.predict(tweet_input_transformed)
#SVM_prediction = SVM_Clasifier.predict(tweet_input_transformed)
predictions_MaxEnt = model.predict(tweet_input_transformed)

これはエラーです (私はこれが間違っていることを知っています。Maxent の仕組みにリンクしてください)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-12-532749b3090b> in <module>
----> 1 vectorizer, MaxEnt_classifier = load()
      2 print('\nPerform a test')
      3 df = pd.read_csv('hasil_labelling_dataLatih(1).csv') #read the CSV file
      4 data = df["Labeled Data"]
      5 #data_label = df["label"]

<ipython-input-11-02129d8d7ca0> in load()
      4     '''
      5     with open('model(indo)_30.pkl', 'rb') as file:
----> 6         vectorizer, clf, svm = pickle.load(file)
      7     return vectorizer, clf, svm

ValueError: not enough values to unpack (expected 3, got 2)
4

0 に答える 0