# lasso回归问题的次梯度下降算法
import numpy as np
class Lasso:
def __init__(self,Lambda=1):
self.Lambda=Lambda
def fit(self,X,y,eta=0.1,N=1000):
m,n=X.shape
w=np.zeros((n,1))
self.w=w
for t in range(N):
e=X.dot(w)-y
v=2*X.T.dot(e)/m+self.Lambda*np.sign(w)
w=w-eta*v
self.w+=w
self.w/=N
def predict(self,X):
return X.dot(self.w)
机器学习算法导论---lasso
最新推荐文章于 2024-06-20 18:32:58 发布
该博客介绍了Lasso回归问题的次梯度下降算法实现。通过定义Lasso类,设置正则化参数Lambda,并利用次梯度更新权重w,实现了Lasso回归的训练过程。同时,提供了预测函数,用于对新数据进行预测。
2266

被折叠的 条评论
为什么被折叠?



