Knn 分类器图

Posted

技术标签:

【中文标题】Knn 分类器图【英文标题】:Knn classifier graph 【发布时间】: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] 【参考方案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]

【讨论】:

以上是关于Knn 分类器图的主要内容,如果未能解决你的问题,请参考以下文章

R构建KNN分类器实战

不平衡数据集的 Knn 分类器

KNN分类器

kNN 是统计分类器吗?

KNN(K Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践

具有 ROC 分析的 KNN 分类器