Add files
Browse files- best_forest.joblib +3 -0
- best_knn.joblib +3 -0
- best_lreg.joblib +3 -0
- best_svm.joblib +3 -0
- main.py +40 -0
- vectorizer.joblib +3 -0
best_forest.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1fe94c3c3d4ef118f6fb2e423562cfcf91a6d44b4dab1ebf523a8b0d78ac7aaa
|
| 3 |
+
size 21323097
|
best_knn.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1c4bd87ac0d26fe7f9d8e5efa89a98b859c785b379f97f51c643f2c23e856253
|
| 3 |
+
size 10372500
|
best_lreg.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:629ed82434ff08e7538a34f9d82c989af76af5cf990ef6f340fe306ab39d495b
|
| 3 |
+
size 30399
|
best_svm.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8bfd050d13b118192ee11d8f5829cf5298ad37fb111d8de552611d5b4527053e
|
| 3 |
+
size 6305515
|
main.py
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import joblib
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import gradio as gr
|
| 4 |
+
|
| 5 |
+
vec = joblib.load('vectorizer.joblib')
|
| 6 |
+
feature_names = vec.get_feature_names_out()
|
| 7 |
+
|
| 8 |
+
knn = joblib.load('best_knn.joblib')
|
| 9 |
+
lreg = joblib.load('best_lreg.joblib')
|
| 10 |
+
svm = joblib.load('best_svm.joblib')
|
| 11 |
+
forest = joblib.load('best_forest.joblib')
|
| 12 |
+
|
| 13 |
+
knn_label = "KNN Classifier"
|
| 14 |
+
lreg_label = "Logistic Regression"
|
| 15 |
+
svm_label = "Support Vector Machine"
|
| 16 |
+
forest_label = "Random Forest"
|
| 17 |
+
|
| 18 |
+
str_to_model = {
|
| 19 |
+
knn_label: knn,
|
| 20 |
+
lreg_label: lreg,
|
| 21 |
+
svm_label: svm,
|
| 22 |
+
forest_label: forest
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
review_input = gr.Textbox(label = 'Review Comment')
|
| 26 |
+
dropdown_input = gr.Dropdown([knn_label, lreg_label, svm_label, forest_label], label='Method')
|
| 27 |
+
|
| 28 |
+
def multi_inputs(review, model_label):
|
| 29 |
+
model = str_to_model[model_label]
|
| 30 |
+
mat = vec.transform([review])
|
| 31 |
+
bow = pd.DataFrame(mat.toarray(), columns=feature_names)
|
| 32 |
+
|
| 33 |
+
a = model.predict(bow)[0]
|
| 34 |
+
b = model.predict_proba(bow)[0]
|
| 35 |
+
|
| 36 |
+
out1 = 'Negative comment' if a == 0 else 'Positive comment'
|
| 37 |
+
out2 = f'{b[0]*100:.0f}%'
|
| 38 |
+
out3 = f'{b[1]*100:.0f}%'
|
| 39 |
+
|
| 40 |
+
return out1, out2, out3
|
vectorizer.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d0409295b1d9c8360c83b1b778455dbd024edabac40718fc7c2ff9c5616464dc
|
| 3 |
+
size 20862
|