gpt4 book ai didi

python - 多项式回归失败

转载 作者:行者123 更新时间:2023-11-30 08:48:09 25 4
gpt4 key购买 nike

我正在尝试从头开始实现我自己的多项式回归模型,这是我到目前为止所写的内容:

import numpy as np



class Polynomial:

def __init__(self, eta=0.2, degree=1, epochs=100):
self.eta = eta
self.degree = degree
self.coef = np.ones(shape = (self.degree,))
self.epochs = epochs

def fit_coef(self, X_train, y_train):
temp_coef = np.ones(shape=(self.degree, ))
size = len(X_train)
for _ in range(3):
for x, y in zip(X_train, y_train):
arr = np.array([x**i for i in range(self.degree)])
for i in range(self.degree):
err = np.sum(np.transpose(arr)*self.coef)*2/size
err -= y
err *= x**i
err *= self.eta
temp_coef[i] -= err
print(temp_coef[i])
self.coef = temp_coef

在尝试将我的模型拟合到任何示例数据集之后,我遇到了一个问题,我的模型的系数变成了 NaN 值,我注意到它们增长得非常快到大值。我无法解释这一点,所以解决它。大多数在线教程、有关多项式回归的文章都侧重于使用 sklearn 或其他软件包,因此我还没有找到解决方案。您能帮我检查一下这个问题吗?

最佳答案

首先,多项式回归使用平均绝对误差,L1 损失或者 均方误差、二次损失、L​​2损失以避免误差过大

第二,你的 x 的形状是什么? coef 的形状应为 x

关于python - 多项式回归失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56836814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com