def update_model(db_path, model, batch_size=10000): conn = sqlite3.connect(db_path) c = conn.cursor() c.execute("SELECT * from review_db") results = c.fetchmany(batch_size) while results: data = np.array(results) X = data[:, 0] y = data[:, 1].astype(int) classes = np.array([0, 1]) X_train = vect.transform(X) model.partial_fit(X_train, y, classes=classes) results = c.fetchmany(batch_size) conn.close() return model
def train(document, y): X = vect.transform([document]) clf.partial_fit(X, [y])
def classify(document): label = {0: "negative", 1: "positive"} X = vect.transform([document]) y = clf.predict(X)[0] proba = np.max(clf.predict_proba(X)) return label[y], proba
import pickle import re import os from vecto import vect import numpy as np clf = pickle.load(open("classifier.pkl", "rb")) label = {0: "negative", 1: "positive"} example = ["I love this movie"] X = vect.transform(example) print("Prediction: %s\nProbability: %.2f%%" % (label[clf.predict(X)[0]], np.max(clf.predict_proba(X)) * 100))