【发布时间】:2023-03-03 08:26:21
【问题描述】:
我正在尝试从头开始实现我自己的多项式回归模型,这是我目前所写的:
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 或其他软件包,所以我还没有找到解决方案。你能帮我检查一下这个问题吗?
【问题讨论】:
-
你给它的学位不是 1 吗?
-
是的,当然,在创建实例时
标签: python machine-learning statistics