pandas 创建列值的总和与另一个列表相乘的列表将返回KeyError

r55awzrz  于 2023-02-28  发布在  其他
关注(0)|答案(1)|浏览(110)

我尝试手动计算多元线性回归模型的拟合值,方法是将Pandas数据集的真实的值乘以相应的系数,然后对每一行求和,最后将它们添加到一个列表中,虽然我的Python不是很好,但我尝试通过两个for循环来完成,第一个循环迭代一行,将当前的和设置为截距值,然后进入第二个for循环,循环遍历当前行的列。在这个循环中,我尝试将当前和增加列值与系数的乘积。然后,将当前和附加到列表x中。但是,执行代码总是会导致KeyError:0

import pandas as pd
        from sklearn.linear_model import LinearRegression
        #finaldata_y dataset contains real Y values, finaldata_x dataset contains real x values
        model = LinearRegression()
        model.fit(finaldata_x, finaldata_y)
        x = []
        for i in finaldata_y.index:
            xvalue = model.intercept_
            for j in range(len(finaldata_x.columns)):
                xvalue = xvalue + model.coef_[j] * finaldata_x[j][i]
            x.append(xvalue)

我是不是忘了一些琐碎的事情?更好的是,有没有办法通过函数来做到这一点?我试图找到我的问题的解决方案,但无济于事。

yhxst69z

yhxst69z1#

如果要使用训练模型预测finaldata_x,可以使用'predict'方法:

predict_y = model.predict(finaldata_x)

相关问题