Skip to content

Commit 640ed8f

Browse files
committed
ibrahimsharaf#3 Saving trained classification model
1 parent 473ba2e commit 640ed8f

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

joblib_model.pkl

3.19 KB
Binary file not shown.

model.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import logging
22
import random
3-
3+
import os
44
import numpy as np
55
import pandas as pd
66

77
from gensim.models import doc2vec
88
from sklearn.linear_model import LogisticRegression
99
from sklearn.model_selection import train_test_split
1010
from sklearn.metrics import accuracy_score, f1_score
11+
from sklearn.externals import joblib
1112

1213
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
1314

@@ -99,9 +100,21 @@ def test_classifier(d2v, classifier, testing_vectors, testing_labels):
99100
logging.info('Testing accuracy: {}'.format(accuracy_score(testing_labels, testing_predictions)))
100101
logging.info('Testing F1 score: {}'.format(f1_score(testing_labels, testing_predictions, average='weighted')))
101102

103+
def save_classifier(model, filename):
104+
joblib.dump(model, filename)
105+
106+
def load_classifier(filename):
107+
if(os.path.isfile('./' +filename)):
108+
loaded_model = joblib.load(filename)
109+
return loaded_model
110+
else:
111+
return None
102112

103113
if __name__ == "__main__":
104114
x_train, x_test, y_train, y_test, all_data = read_dataset('dataset.csv')
105115
d2v_model = train_doc2vec(all_data)
106116
classifier = train_classifier(d2v_model, x_train, y_train)
107-
test_classifier(d2v_model, classifier, x_test, y_test)
117+
joblib_file = "joblib_model.pkl"
118+
save_classifier(classifier, joblib_file)
119+
model = load_classifier(joblib_file)
120+
test_classifier(d2v_model, model, x_test, y_test)

0 commit comments

Comments
 (0)