Spaces:
Sleeping
Sleeping
| import numpy as np | |
| import pickle | |
| import pandas as pd | |
| from sklearn.preprocessing import LabelEncoder | |
| data = pd.read_csv("funding/follow_on_final.csv") | |
| train = data | |
| train = train.drop(["Organization Name","Equity Only Funding", "Announced Date"], axis = 1 ) | |
| le=LabelEncoder() | |
| cols = train.select_dtypes(include=['object']).columns.tolist() | |
| cat_labels = {} | |
| for col in cols: | |
| train[col] = le.fit_transform(train[col]) | |
| cat_labels[col] = list(le.classes_) | |
| def str_to_label(col, val): | |
| if col in ["Money Raised" , "Total Funding", "Number of Founders"]: | |
| return float(val) | |
| return cat_labels[col].index(val) + 1 | |
| model = pickle.load(open('funding/classifier_model.pkl', 'rb')) | |
| def make_predictions(inputs): | |
| out = {} | |
| in_data = [] | |
| for key in inputs: | |
| in_data.append(str_to_label(key, inputs[key])) | |
| input_data = np.array(in_data).reshape(-1, len(in_data)) | |
| pred = model.predict_proba(input_data).max() | |
| if pred > 0.5: | |
| out["Prediction"] = "Funded" | |
| out["confidence"] = round(pred * 100) | |
| else: | |
| out["Prediction"] = "Not Funded" | |
| out["confidence"] = round(pred * 100) | |
| return out | |