Responder a: Adicionar Novo Registro com Variável Categórica

Home Fóruns Fórum Machine Learning e Data Science com Python de A à Z Adicionar Novo Registro com Variável Categórica Responder a: Adicionar Novo Registro com Variável Categórica

#28469

Desculpa Denny, acho que fiquei um pouco confuso. Bom, tentei seguir pelo o que entendi mas ao tentar passar o labelencoder com o método transform, está gerando um erro conforme a imagem abaixo. Uma observação que os dados do novo registro são exatamente iguais aos utiliziados na primeira linha da base de dados.

Error

import pandas as pd
import pickle
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
import numpy as np


base = pd.read_csv('census.csv')
previsores = base.iloc[:, 0:14].values
classe = base.iloc[:, 14].values

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer

labelencoder_previsores1 = LabelEncoder()
labelencoder_previsores3 = LabelEncoder()
labelencoder_previsores5 = LabelEncoder()
labelencoder_previsores6 = LabelEncoder()
labelencoder_previsores7 = LabelEncoder()
labelencoder_previsores8 = LabelEncoder()
labelencoder_previsores9 = LabelEncoder()
labelencoder_previsores13 = LabelEncoder()


previsores[:,1] = labelencoder_previsores1.fit_transform(previsores[:,1])
previsores[:,3] = labelencoder_previsores3.fit_transform(previsores[:,3])
previsores[:,5] = labelencoder_previsores5.fit_transform(previsores[:,5])
previsores[:,6] = labelencoder_previsores6.fit_transform(previsores[:,6])
previsores[:,7] = labelencoder_previsores7.fit_transform(previsores[:,7])
previsores[:,8] = labelencoder_previsores8.fit_transform(previsores[:,8])
previsores[:,9] = labelencoder_previsores9.fit_transform(previsores[:,9])
previsores[:,13] = labelencoder_previsores13.fit_transform(previsores[:,13])

column_tranformer = ColumnTransformer([('one_hot_encoder', OneHotEncoder(), [1, 3, 5, 6, 7, 8, 9, 13])],remainder='passthrough')
previsores = column_tranformer.fit_transform(previsores).toarray()

labelencoder_classe = LabelEncoder()
classe = labelencoder_classe.fit_transform(classe)

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
previsores = scaler.fit_transform(previsores)

mlp = pickle.load(open('mlp_final.sav', 'rb'))
resultado_mlp = mlp.score(previsores, classe)

novo_registro = [[39,"State-gov",77516,"Bachelor",13,"Never-married","Adm-clerical","Not-in-family","White","Male",2174,0,40,"United-States"]]
novo_registro = np.asarray(novo_registro)


novo_registro[:,1] = labelencoder_previsores1.transform(novo_registro[:,1])
novo_registro[:,3] = labelencoder_previsores3.transform(novo_registro[:,3])
novo_registro[:,5] = labelencoder_previsores5.transform(novo_registro[:,5])
novo_registro[:,6] = labelencoder_previsores6.transform(novo_registro[:,6])
novo_registro[:,7] = labelencoder_previsores7.transform(novo_registro[:,7])
novo_registro[:,8] = labelencoder_previsores8.transform(novo_registro[:,8])
novo_registro[:,9] = labelencoder_previsores9.transform(novo_registro[:,9])
novo_registro[:,13] = labelencoder_previsores13.transform(novo_registro[:,13])