【问题标题】:Knn classifier graphKnn 分类器图
【发布时间】:2019-05-26 19:23:57
【问题描述】:

我正在尝试构建一个 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 文件如下所示: This is the screenshot of the csv file

【问题讨论】:

  • 如果需要对 csv 文件进行任何更改,请告诉我
  • 不需要dis.data[:, :2] 只需dis.values[:, :2]

标签: machine-learning scikit-learn data-science knn sklearn-pandas


【解决方案1】:

您不能像以前那样使用dis.data。在您的 CSV 文件头中应该有一个名为 data 的属性。但是您的 CSV 文件标题包含 A,B,C..

因此,您可以使用 dis.A 访问这些特定的列 A 列或使用 dis.B 访问 B 列。由于没有名为 data 的 CSV 列,因此您将获得 AttributeError

如果你想一次选择多个列,你可以简单地使用

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

同样,您可以获得所有目标值,

y = dis.Species

【讨论】:

    【解决方案2】:

    在您的代码中,您使用的是dis.data[:, :2]

    您正在尝试访问数据框 dis 的名为 data 的属性。但是 Pandas 数据框没有名为 data 的属性。

    在您的代码中,您尝试访问数据框的前两列。您可以通过在获取数据帧的values 后对数据帧进行切片来做到这一点。

    在代码中,您可以执行以下操作。

    dis.values[:, :2]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-30
      • 2016-07-25
      • 2021-04-16
      • 2014-02-02
      • 2013-03-08
      • 2020-01-14
      • 2020-04-01
      • 2020-09-08
      相关资源
      最近更新 更多