Spaces:
Runtime error
Runtime error
File size: 1,871 Bytes
23fa6a0 6494889 23fa6a0 04a46c5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import pickle
import numpy as np
class CustomModel:
def __init__(self):
self.attr_1_model = pickle.load(open("models/cog_model.pkl", "rb"))
self.attr_2_model = pickle.load(open("models/eff_model.pkl", "rb"))
self.attr_3_model = pickle.load(open("models/reas_model.pkl", "rb"))
self.arg_model = pickle.load(open("models/qual_model.pkl", "rb"))
def predict(self, array):
attr_1 = self.attr_1_model.predict(array, verbose=0)
attr_2 = self.attr_2_model.predict(array, verbose=0)
attr_3 = self.attr_3_model.predict(array, verbose=0)
attr_1 = self.__decode(attr_1)
attr_2 = self.__decode(attr_2)
attr_3 = self.__decode(attr_3)
array = self.__transform(attr_1, attr_2, attr_3, array)
pred = self.arg_model.predict(array)
return pred
def __decode(self, array):
new_array = []
label_map = {
0: "1 (Low)",
1: "2 (Average)",
2: "3 (High)",
}
for ele in array:
new_array.append(label_map[np.argmax(ele)])
return np.array(new_array)
def __transform(self, attr_1, attr_2, attr_3, array):
attr_1 = self.__encode(attr_1)
attr_2 = self.__encode(attr_2)
attr_3 = self.__encode(attr_3)
array_new = []
for idx, ele in enumerate(array):
temp = np.concatenate((attr_1[idx], attr_2[idx], attr_3[idx], ele))
array_new.append(temp)
array = np.array(array_new)
return array
def __encode(self, array):
new_array = []
label_map = {
"1 (Low)": np.array([0, 0, 1]),
"2 (Average)": np.array([0, 1, 0]),
"3 (High)": np.array([1, 0, 0]),
}
for ele in array:
new_array.append(label_map[ele])
return np.array(new_array)
|