def clean_data(data: DataFrame): columns = ['form_field1', 'form_field2', 'form_field3', 'form_field4', 'form_field5', 'form_field6', 'form_field7', 'form_field8', 'form_field9', 'form_field10', 'form_field12', 'form_field13', 'form_field14', 'form_field16', 'form_field17', 'form_field18', 'form_field19', 'form_field20', 'form_field21', 'form_field22', 'form_field24', 'form_field25', 'form_field26', 'form_field27', 'form_field28', 'form_field29', 'form_field32', 'form_field33', 'form_field34', 'form_field36', 'form_field37', 'form_field38', 'form_field39', 'form_field42', 'form_field43', 'form_field44', 'form_field46', 'form_field47', 'form_field48', 'form_field49', 'form_field50'] categories = [array(['charge', 'lending'], dtype=object)] df = data[columns] enc = OrdinalEncoder() enc.categories_ = categories df.form_field47 = enc.transform(df.form_field47.to_frame()) return df
def ordenc_to_sklearn(op_mapping): "Converts OrdinalEncoder mapping to scikit-learn OrdinalEncoder." cats = [] for column_map in op_mapping: col = column_map['col'] while len(cats) <= col: cats.append(None) mapping = column_map['mapping'] res = [] for i in range(mapping.shape[0]): if np.isnan(mapping.index[i]): continue ind = mapping.iloc[i] while len(res) <= ind: res.append(0) res[ind] = mapping.index[i] cats[col] = np.array(res, dtype=np.int64) skl_ord = SklOrdinalEncoder(categories=cats, dtype=np.int64) skl_ord.categories_ = cats return skl_ord
def analisarPendente(): print(request.data) K.clear_session() data = json.loads(request.data) model = load_model('SmartGardenModelBinary.h5') dfTest = json_normalize(data) le_insumo = LabelEncoder() le_mes = OrdinalEncoder(categories=[[ 'jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez' ]]) le_aparencia = OrdinalEncoder( categories=[['murcha', 'amarelada', 'normal']]) le_temp = OrdinalEncoder(categories=[['baixo', 'medio', 'alto']]) le_umi = OrdinalEncoder(categories=[['baixo', 'medio', 'alto']]) le_risco = OrdinalEncoder(categories=[['baixo', 'medio', 'alto']]) le_insumo.classes_ = np.load('./pickle/insumo.npy', allow_pickle=True) le_mes.categories_ = np.load('./pickle/mes.npy', allow_pickle=True) le_aparencia.categories_ = np.load('./pickle/aparencia.npy', allow_pickle=True) le_temp.categories_ = np.load('./pickle/temp.npy', allow_pickle=True) le_umi.categories_ = np.load('./pickle/umi.npy', allow_pickle=True) le_risco.categories_ = np.load('./pickle/risco.npy', allow_pickle=True) insumo = le_insumo.transform(dfTest['insumo']) mes = le_mes.transform(dfTest[['mes']]) aparencia = le_aparencia.transform(dfTest[['aparencia']]) dfTest['insumo'] = insumo dfTest['mes'] = mes dfTest['aparencia'] = aparencia predictions = model.predict(dfTest.values) predictions[predictions >= 0.5] = 1 predictions[predictions < 0.5] = 0 nn_preds = pd.DataFrame(predictions, columns=[0, 1, 2, 0, 1, 2, 0, 1, 2]) nn_preds['encGeral'] = (nn_preds.iloc[:, 0:3] == 1).idxmax(1) nn_preds['encUmi'] = (nn_preds.iloc[:, 3:6] == 1).idxmax(1) nn_preds['encTemp'] = (nn_preds.iloc[:, 6:9] == 1).idxmax(1) nn_preds['stRisco'] = le_risco.inverse_transform(nn_preds[['encGeral']]) nn_preds['stUmi'] = le_umi.inverse_transform(nn_preds[['encUmi']]) nn_preds['stTemp'] = le_temp.inverse_transform(nn_preds[['encTemp']]) nn_preds = nn_preds[['stRisco', 'stUmi', 'stTemp']] nn_preds = nn_preds.to_json() nn_preds = json.loads(nn_preds) nn_preds['stRisco'] = nn_preds['stRisco']['0'] nn_preds['stTemp'] = nn_preds['stTemp']['0'] nn_preds['stUmi'] = nn_preds['stUmi']['0'] return json.dumps(nn_preds)