Ошибка ключа в pandas (Первое программирование) - PullRequest
0 голосов
/ 09 апреля 2020

Я новичок в программировании и в настоящее время изучаю модели KNN.

Я написал код, но получаю ключевую ошибку и не могу ее исправить.

Я смотрю Учебное пособие по машинному обучению на YouTube от «Tech With Tim», и этот код находится в его 5-м видео на серии «Python Учебное пособие по машинному обучению» . Данные, которые я использовал, - это набор данных "Car Evaluation" из хранилища машинного обучения UCI. Я написал точно такой же код, но продолжаю получать следующую ошибку.

Это код, который я написал

import sklearn
from sklearn.utils import shuffle
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
import numpy as np
from sklearn import linear_model, preprocessing

data = pd.read_csv("car.data")
print(data.head())

le = preprocessing.LabelEncoder()
buying = le.fit_transform(list(data["buying"]))
maint = le.fit_transform(list(data["maint"]))
door = le.fit_transform(list(data["door"]))
persons = le.fit_transform(list(data["persons"]))
lug_boot = le.fit_transform(list(data["lug_boot"]))
safety = le.fit_transform(list(data["safety"]))
cls = le.fit_transform(list(data["cls"]))

predict = "class"

x = list(zip(buying, maint, door, persons, lug_boot, safety))
y = list(cls)

x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(x, y, test_size=0.1)

print(x_train, y_test)

, и это ошибка, которую я получил

C:\Users\computer\anaconda3\envs\tensor\pythonw.exe "C:/Users/computer/PycharmProjects/TensorEnv2/test 2.py"
  buying  maint  door  persons  lug_boot  safety    cls
0  vhigh  vhigh     2        2     small     low  unacc
1  vhigh  vhigh     2        2     small     med  unacc
2  vhigh  vhigh     2        2     small    high  unacc
3  vhigh  vhigh     2        2       med     low  unacc
4  vhigh  vhigh     2        2       med     med  unacc

Traceback (most recent call last):
  File "C:\Users\computer\anaconda3\envs\tensor\lib\site-packages\pandas\core\indexes\base.py", line 2646, in get_loc
    return self._engine.get_loc(key)
  File "pandas\_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'maint'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/computer/PycharmProjects/TensorEnv2/test 2.py", line 13, in <module>
    maint = le.fit_transform(list(data["maint"]))
  File "C:\Users\computer\anaconda3\envs\tensor\lib\site-packages\pandas\core\frame.py", line 2800, in __getitem__
    indexer = self.columns.get_loc(key)
  File "C:\Users\computer\anaconda3\envs\tensor\lib\site-packages\pandas\core\indexes\base.py", line 2648, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas\_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'maint'
...