Delete api.py
Browse files
api.py
DELETED
@@ -1,92 +0,0 @@
|
|
1 |
-
from flask import Flask, request, jsonify
|
2 |
-
import numpy as np
|
3 |
-
import pandas as pd
|
4 |
-
from sklearn.model_selection import train_test_split
|
5 |
-
from sklearn.linear_model import LogisticRegression
|
6 |
-
from sklearn.neighbors import KNeighborsClassifier
|
7 |
-
from sklearn import svm
|
8 |
-
from sklearn.tree import DecisionTreeClassifier
|
9 |
-
from sklearn.ensemble import RandomForestClassifier
|
10 |
-
from sklearn.ensemble import GradientBoostingClassifier
|
11 |
-
from xgboost import XGBClassifier
|
12 |
-
from sklearn.metrics import accuracy_score
|
13 |
-
import joblib
|
14 |
-
import pickle
|
15 |
-
|
16 |
-
app = Flask(__name__)
|
17 |
-
|
18 |
-
@app.route('/predict', methods=['POST'])
|
19 |
-
def predict():
|
20 |
-
data = request.get_json()
|
21 |
-
|
22 |
-
# Load trained models
|
23 |
-
with open('rf_hacathon_fullstk.pkl', 'rb') as f1:
|
24 |
-
rf_fullstk = pickle.load(f1)
|
25 |
-
with open('rf_hacathon_prodengg.pkl', 'rb') as f2:
|
26 |
-
rf_prodengg = pickle.load(f2)
|
27 |
-
with open('rf_hacathon_mkt.pkl', 'rb') as f3:
|
28 |
-
rf_mkt = pickle.load(f3)
|
29 |
-
|
30 |
-
# Extract input features
|
31 |
-
new_data_fullstk = pd.DataFrame({
|
32 |
-
'degree_p': data['degree_p'],
|
33 |
-
'internship': data['internship'],
|
34 |
-
'DSA': data['DSA'],
|
35 |
-
'java': data['java'],
|
36 |
-
}, index=[0])
|
37 |
-
|
38 |
-
new_data_prodengg = pd.DataFrame({
|
39 |
-
'degree_p': data['degree_p'],
|
40 |
-
'internship': data['internship'],
|
41 |
-
'management': data['management'],
|
42 |
-
'leadership': data['leadership'],
|
43 |
-
}, index=[0])
|
44 |
-
|
45 |
-
new_data_mkt = pd.DataFrame({
|
46 |
-
'degree_p': data['degree_p'],
|
47 |
-
'internship': data['internship'],
|
48 |
-
'communication': data['communication'],
|
49 |
-
'sales': data['sales'],
|
50 |
-
}, index=[0])
|
51 |
-
|
52 |
-
# Make predictions
|
53 |
-
p_prodeng = rf_prodengg.predict(new_data_prodengg)
|
54 |
-
prob_prdeng = rf_prodengg.predict_proba(new_data_prodengg)
|
55 |
-
if p_prodeng == 1:
|
56 |
-
pred_prodeng = 'Placed'
|
57 |
-
prob_prodeng = prob_prdeng[0][1]
|
58 |
-
else:
|
59 |
-
pred_prodeng = 'Not-placed'
|
60 |
-
prob_prodeng = prob_prdeng[0][0]
|
61 |
-
|
62 |
-
p_fstk = rf_fullstk.predict(new_data_fullstk)
|
63 |
-
prob_fstk = rf_fullstk.predict_proba(new_data_fullstk)
|
64 |
-
if p_fstk == 1:
|
65 |
-
pred_fstk = 'Placed'
|
66 |
-
prob_fstk = prob_fstk[0][1]
|
67 |
-
else:
|
68 |
-
pred_fstk = 'Not-placed'
|
69 |
-
prob_fstk = prob_fstk[0][0]
|
70 |
-
|
71 |
-
p_mkt = rf_mkt.predict(new_data_mkt)
|
72 |
-
prob_mkt = rf_mkt.predict_proba(new_data_mkt)
|
73 |
-
if p_mkt == 1:
|
74 |
-
pred_mkt = 'Placed'
|
75 |
-
prob_mkt = prob_mkt[0][1]
|
76 |
-
else:
|
77 |
-
pred_mkt = 'Not-placed'
|
78 |
-
prob_mkt = prob_mkt[0][0]
|
79 |
-
|
80 |
-
result = {
|
81 |
-
'prediction_fullstk': pred_fstk,
|
82 |
-
'probability_fullstk': prob_fstk,
|
83 |
-
'prediction_prodengg': pred_prodeng,
|
84 |
-
'probability_prodengg': prob_prodeng,
|
85 |
-
'prediction_mkt': pred_mkt,
|
86 |
-
'probability_mkt': prob_mkt
|
87 |
-
}
|
88 |
-
|
89 |
-
return jsonify(result)
|
90 |
-
|
91 |
-
if __name__ == '__main__':
|
92 |
-
app.run(debug=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|