1
resposta

Atributos não voltaram aos valores originais, nenhuma resposta acima funcionou.

Tentei usar os métodos que voces já comentaram nos tópicos acima e não resolveu. Gostaria muito de uma ajuda resolutiva.

1 resposta

Olá Lorenzo, eu apliquei uma solução semelhante à relatada pelo colega Franco. Após a normalização manual, recarreguei os dados do arquivo csv. Assim, consegui realizar a normalização com Sklearn e, posteriormente, inverter a transformação dos dados.

Teste desta forma em três cédulas distintas:

# normalização manual dos dados 
df_v1 = df
atributos = df_v1.columns

for atributo in atributos:
  df_v1[atributo] = (df_v1[atributo]-min(df_v1[atributo]))/(max(df_v1[atributo])-min(df_v1[atributo]))
df.describe()

Em outra cédula, carreguei novamente o dataset (se quiser pode dar um describe depois desse passo, vai ver que os dados não estão normalizados) e normalizei com Sklearn:

# carregamento dos dados e normalização com Sklearn

df = pd.read_csv('Wines.csv')
df = df.rename(columns = {'Alcool': 'Alcool',
                          'Ash': 'Po',
                          'Ash_Alcanity': 'Alcalinidade_po',
                          'Magnesium': 'Magnesio',
                          'Color_Intensity': 'Intendidade_de_cor'
                          })

from sklearn import preprocessing

colunas = df.columns

min_max_scaler = preprocessing.MinMaxScaler()
np_df = min_max_scaler.fit_transform(df)
df = pd.DataFrame(np_df, columns = colunas)
df.describe() 

Por fim, inverti a transformação dos dados.

np_df = min_max_scaler.inverse_transform(df)
df = pd.DataFrame(np_df, columns = colunas)
df.describe()

Espero ter ajudado. Grande abraço e bons estudos, Edu