lockermanwxlf commited on
Commit
4fc5a61
·
verified ·
1 Parent(s): 48798cf

Add files

Browse files
Files changed (6) hide show
  1. best_forest.joblib +3 -0
  2. best_knn.joblib +3 -0
  3. best_lreg.joblib +3 -0
  4. best_svm.joblib +3 -0
  5. main.py +40 -0
  6. 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