2
respostas

Erro ao definir variáveis x e y

logo após definir dados = pd.read_csv(uri).drop(columns=["Unnamed: 0"], axis=1)

O Seguinte erro acontece ao definir as variáveis x e y:

x = dados ["preco", "idade_do_modelo", "km_por_ano"]
y = dados ["vendido"]
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2897             try:
-> 2898                 return self._engine.get_loc(casted_key)
   2899             except KeyError as err:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: ('preco', 'idade_do_modelo', 'km_por_ano')

The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
2 frames
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2898                 return self._engine.get_loc(casted_key)
   2899             except KeyError as err:
-> 2900                 raise KeyError(key) from err
   2901 
   2902         if tolerance is not None:

KeyError: ('preco', 'idade_do_modelo', 'km_por_ano')
2 respostas

Boa tarde Lucas, tudo bem?

Altere para

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

Toda vez que for selecionar mais de uma coluna tem que usar dois colchetes.

Neste codigo tem dois detalhes para serem corrigidos:

CODIGO ORIGINAL from skleran.tree import DecisionTreeClassifier #corrigir essa linha para "from sklearn.tree import DecisionTreeClassifier"

SEED = 158020 np.random.seed(SEED) modelo = DecisionTreeClassifier(max_depth=2) modelo.fit(treino_x, treino_y) previsoes = modelo.predict(test_x) #corrigir essa linha para "previsoes = modelo.predict(teste_x)"

acuracia = accuracy_score(teste_y, previsoes) * 100 print ("A acurácia foi %.2f%%" % acuracia)