Tentei usar os métodos que voces já comentaram nos tópicos acima e não resolveu. Gostaria muito de uma ajuda resolutiva.
Tentei usar os métodos que voces já comentaram nos tópicos acima e não resolveu. Gostaria muito de uma ajuda resolutiva.
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