python - 属性错误: 'DataFrame' object has no attribute 'target_names' - scikit

标签 python pandas machine-learning scikit-learn

我正在尝试建立一个逻辑回归模型。读取数据集后。我正在得到

AttributeError                            Traceback (most recent call last)
<ipython-input-1-b1fbf288405a> in <module>()
     21 df.head(10)  #This should print 10 rows
     22 
---> 23 df.target_names
     24 df.feature_names
     25 

C:\Users\HP\Anaconda2\lib\site-packages\pandas\core\generic.pyc in __getattr__(self, name)
   3612             if name in self._info_axis:
   3613                 return self[name]
-> 3614             return object.__getattribute__(self, name)
   3615 
   3616     def __setattr__(self, name, value):

AttributeError: 'DataFrame' object has no attribute 'target_names'

这就是我所做的

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn import preprocessing

# create header for dataset
header = ['age','bp','sg','al','su','rbc','pc','pcc',
    'ba','bgr','bu','sc','sod','pot','hemo','pcv',
    'wbcc','rbcc','htn','dm','cad','appet','pe','ane',
    'classification']
# read the dataset
df = pd.read_csv("C:\Users\HP\Documents\machine learning project\Chronic_Kidney_Disease\chronic_kidney_disease_full.arff",
        header=None,
        names=header
       )
# dataset has '?' in it, convert these into NaN
df = df.replace('?', np.nan)
# drop the NaN
df = df.dropna(axis=0, how="any")
df.head(10)  #This should print 10 rows

df.target_names
df.feature_names

谁能告诉我为什么会出现此错误

最佳答案

您必须定义 feature_names 和 target_names,因为它们不是 native pandas 属性。如果您希望 df.feature_names 和 df.target_names 返回一组选定的列,则需要创建一个多重索引并将 df.columns 设置为等于该索引。多重索引允许您创建多行标题或索引。这在此处进行了描述,并且可以应用于行或列。

https://pandas.pydata.org/pandas-docs/stable/advanced.html

关于python - 属性错误: 'DataFrame' object has no attribute 'target_names' - scikit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49966639/

相关文章:

python - 使用质数输入维度训练 CNN 的问题

python - 如何在 Pandas 中滚动非重叠窗口

python - 为什么 cross_validation.train_test_split 中的参数 random_state 是整数而不是 bool 值

ios - iOS 的动态机器学习模型

machine-learning - SVM 对二进制数据 DNA 进行分类

python - tkinter python 入口高度

python - Puppy Linux - 导入 gtk 在 Python 中抛出错误

Python pandas - 将 lambda 添加到每一列

python - 错误 : 'conda' can only be installed into the root environment

python - groupby 和 agg 之后数据框奇怪地为空