SKLearn线性回归属性错误:“numpy.ndarray”对象没有属性“columns”

2024-03-29 10:30:50 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试使用sklearn进行线性回归,并创建一个系数和p值表

这是我正在使用的代码

    y = df['Result']
    x = df['Pts actual']
    y = y.values.reshape(-1,1)
    x = x.values.reshape(-1,1)
    reg = LinearRegression()
    reg.fit(x,y)
    reg.coef_
    reg.intercept_
    f_reg_p_val = f_regression(x,y)[1]
    reg_summary = pd.DataFrame(data = x.columns.values, columns=['Features'])
    reg_summary['p-values'] = f_reg_p_val
    reg_summary

然而,我只从原始数据帧中选择了一列作为x中的特征

排队

    reg_summary = pd.DataFrame(data = x.columns.values, columns=['Features'])

我得到这个错误

    AttributeError                            Traceback (most recent call last)
    <ipython-input-276-786cf89afda3> in <module>
    ----> 1 reg_summary = pd.DataFrame(data = x.columns.values, columns=['Features'])
          2 #reg_summary['coefficients'] = reg.coef_
          3 reg_summary['p-values'] = f_reg_p_val
          4 reg_summary
    
    AttributeError: 'numpy.ndarray' object has no attribute 'columns'

我错在哪里


Tags: columnsdataframedfdata线性valsklearnsummary
1条回答
网友
1楼 · 发布于 2024-03-29 10:30:50

您在此行将数据帧转换为numpy数组:

x = x.values.reshape(-1,1)

x.values部分返回一个numpy数组,该数组没有columns属性。这就是为什么代码稍后在您尝试访问AttributeError时抛出一个x.columns-它不再存在了

相关问题 更多 >