from fancyimpute import KNN # Usa 5NN que tenham um recurso para preencher os valores ausentes de cada linha previsores = KNN(k=3).fit_transform(previsores) # Transforma Objeto em DATAFRAME para verificar pre-processamento result = pd.DataFrame(previsores) guarda = result # Cria atributo a ser previsto classe = result.iloc[:, 0].values # Exclui o mesmo da base de dados previsora result = result.drop(columns=0) # Retorna a modificação previsores = result.iloc[:, :].values # Determina o tipo int para todas bases usadas previsores = previsores.astype('int') classe = classe.astype('int') ''' ################################################################################################# ######################################## CLASSIFICADORES ######################################## ################################################################################################# ''' from sklearn.model_selection import train_test_split #Função do pacote sklearn que divide automaticamente dados teste e dados de treinamento from sklearn.model_selection import cross_val_score #importação do algoritmo de validação cruzada from sklearn.model_selection import cross_validate #Retorna a taxa de previsao, tempo de execução e recall from sklearn.metrics import confusion_matrix, f1_score #Avalização por meio de Matriz de Confução from sklearn import metrics import matplotlib.pyplot as plt # Criando variaveis para treinamento e teste, usando o metodo de divisao dos dados
pred_data = pred_data.astype(int) logger.info("初步插补 MSE:{}".format(MSE(imputedData, pred_data))) logger.info("ae MSE:{}".format(MSE(imputedData, fix_data))) # logger.info("初步插补 TF:{}".format(TF(imputedData, pred_data))) # logger.info("ae TF:{}".format(TF(imputedData, fix_data))) X_filled_knn = KNN(k=3).fit_transform(missData) re_X = inp.revise(modifier(X_filled_knn, s), miss_location, model=os.path.join(modelSavePath, '{}.pkl'.format(modelName))) re_X = modifier(re_X, s) re_X = re_X.astype(int) X_filled_knn = modifier(X_filled_knn, s) X_filled_knn = X_filled_knn.astype(int) logger.info("knn MSE:{}".format(MSE(imputedData, X_filled_knn))) logger.info("knn res MSE:{}".format(MSE(imputedData, re_X))) logger.info("res change MSE:{}".format(MSE(X_filled_knn, re_X))) # X_filled_ii = IterativeImputer().fit_transform(mm_missData) # re_X = inp.revise(X_filled_ii, miss_location, # model=os.path.join(modelSavePath, '{}.pkl'.format(modelName))) # X_filled_ii = restore(min_max_scaler=min_max_scaler,s=s,data=X_filled_ii) # re_X = restore(min_max_scaler=min_max_scaler, s=s, data=re_X) # logger.info("ii MSE:{}".format(MSE(imputedData, X_filled_ii))) # logger.info("ii res MSE:{}".format(MSE(imputedData, re_X))) X_filled_sf = SimpleFill().fit_transform(missData) re_X = inp.revise(modifier(X_filled_sf, s), miss_location,