Граф классификатора Knn - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь построить график knn.но когда я запускаю этот код, упомянутый ниже, он выдает мне ошибку «AttributeError: у объекта« DataFrame »нет атрибута« data »»

%matplotlib inline
import matplotlib
matplotlib.use('GTKAgg')
import numpy as np
import pandas as pd 
from pandas import Series, DataFrame
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
from sklearn import neighbors, datasets

# importing data
dis = pd.read_csv("disease.csv")

# take the first two features
X = dis.data[:, :2]  
y = dis.target

print(X)

CSV-файл выглядит так: Это скриншотфайла CSV

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

Вы не можете использовать dis.data, как вы использовали.В заголовке вашего CSV-файла должен быть атрибут с именем data.Но заголовки ваших CSV-файлов содержат A,B,C...

. Таким образом, вы можете получить доступ к этим конкретным столбцам, используя dis.A для столбца A или dis.B для столбца B. Поскольку столбца нет, ваш CSV с именем data, вы получаете AttributeError.

Если вы хотите выбрать несколько столбцов одновременно, вы можете просто использовать

X = dis[dis.columns[0:2]]

Аналогично, вы можете получить все ваши целевые значения как,

y = dis.Species
0 голосов
/ 29 декабря 2018

В вашем коде вы используете dis.data[:, :2].

Вы пытаетесь получить доступ к атрибуту data вашего фрейма данных dis.Но у Pandas dataframe нет атрибута с именем data.

. В вашем коде вы пытаетесь получить доступ к первым двум столбцам этого кадра.Вы можете сделать это, разрезав фрейм данных после взятия values фрейма данных.

В кодах вы можете сделать следующее.

dis.values[:, :2]
...