Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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)