Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Está exibindo value error

Fala galera, tudo bem? Estou tendo um erro com as variáveis aqui, e não estou conseguindo enxergar aonde estou errando. Está acusando o erro na linha 11. Podem me dar uma ajuda, por favor?

import pandas as pd
uri = 'https://gist.githubusercontent.com/guilhermesilveira/4d1d4a16ccbf6ea4e0a64a38a24ec884/raw/afd05cb0c796d18f3f5a6537053ded308ba94bf7/car-prices.csv'
dados = pd.read_csv(uri)
dados.head()

a_renomear = { 
    'mileage_per_year' : 'milhas_por_ano',
    'model_year' : 'ano_do_modelo',
    'price' : 'preco',
    'sold' :'vendido'
}
dados = dados.rename(columns=a_renomear)
dados.head()

a_trocar = {
    'no': 0,
    'yes': 1
}
dados.vendido = dados.vendido.map(a_trocar)
dados.head()

from datetime import datetime

ano_atual = datetime.today().year
dados['idade_do_modelo'] = ano_atual - dados.ano_do_modelo
dados.head()

dados ['km_por_ano'] = dados.milhas_por_ano * 1.60934
dados.head()

dados = dados.drop(columns = ["milhas_por_ano", "ano_do_modelo"], axis=1)
dados.head()

dados = dados.drop(columns = ["Unnamed: 0"], axis=1)
dados.head()

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score

x = dados[["preco", "idade_do_modelo", "km_por_ano"]]
y = dados["vendido"]

SEED = 5
np.random.seed(SEED)
treino_x, teste_x, treino_y, teste_y = train_test_split(x, y, test_size = 0.25, stratify = y,)

print("Treinaremos com %d elementos e testaremos com %d elementos" % (len(treino_x), len(teste_x)))

modelo = LinearSVC()
modelo.fit(treino_x, treino_y)
previsoes = modelo.predict(teste_x)

acuracia = accuracy_score(teste_y, previsoes) * 100
print("A acurácia foi %.2f%%" % acuracia)
**ValueError**                                Traceback (most recent call last)
<ipython-input-39-c676fd8a3c7f> in <module>
      9 SEED = 5
     10 np.random.seed(SEED)
---> 11 treino_x, teste_x, treino_y, teste_y = train_test_split(x, y, test_size = 0.25, stratify = y,)
     12 
     13 print("Treinaremos com %d elementos e testaremos com %d elementos" % (len(treino_x), len(teste_x)))

3 frames
/usr/local/lib/python3.7/dist-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan, msg_dtype)
    114             raise ValueError(
    115                 msg_err.format(
--> 116                     type_err, msg_dtype if msg_dtype is not None else X.dtype
    117                 )
    118             )

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
2 respostas
solução!

Olá, Juliane! Tudo bem com você?

Não consegui identificar onde pode está acontecendo o erro apontado por você pois o código executou normalmente pra mim.

Sugiro reiniciar o ambiente que você está trabalhando e executar novamente todo o código:

Caso utilize o colab:

Barra superior de opções do ambiente do Google Colab com um retângulo de contorno vermelho sem preenchimento que enfatiza a opção "Ambiente de execução" e uma seta vermelha aponta para a opção "Reiniciar e executar tudo".

Caso utilize o jupyter:

Barra superior de funções do Jupyter Notebook, com um retângulo vermelho sem preenchimento destacando a opção Kernel, uma seta vermelha apontando para a opção Restart & Run All.

Verifique se isso soluciona o problema encontrado por você.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Fala Bruno, estou bem graças a Deus e espero que você também esteja.

Eu executei o run all e tudo executou normalmente. Agradeço pelo esclarecimento, ajudou demais!