2
respostas

[Dúvida] ValueError: string to float

Quando vai rodar o classificador, aparece esse erro: ValueError: could not convert string to float: 'B'

Como faço para arrumar?

2 respostas

Resolvi assim:

#tratamento extra dos dados

trad_dic = {
    "M" : 1,
    "B" : 0
}

diagnostico_v1 = data.diagnostico.replace(trad_dic)

dados_modificados = data.drop(columns = "diagnostico")

#junção dos dados transformados com os que já tinhamos
dados_final = pd.concat([diagnostico_v1, dados_modificados], axis = 1)
dados_final.head()

e por fim:

SEED = 123143
random.seed(SEED)

valores_exames = dados_final.drop(columns = ["id", "diagnostico"])
valores_exames_v1 = valores_exames.drop(columns = "exame_33")

diagnostico = dados_final.diagnostico


treino_x, teste_x, treino_y, teste_y = train_test_split(valores_exames_v1, diagnostico, test_size = 0.3)

Olá Gabrielle, tudo bem com você?

O erro ValueError: não foi possível converter a string em float, geralmente ocorre quando estamos tentando converter uma string em um número de ponto flutuante (float), mas a string não contém um valor numérico válido. Por exemplo, se utilizássemos o código float('B'), o Python seria incapaz de converter a letra B em um número decimal, o que resultaria neste erro.

Mas, fico muito feliz que você tenha conseguido sanar este erro e além de tudo, compartilhado com a comunidade a forma que conseguiu resolver.

Abraços e bons estudos!