特征X是nxd个元素的一维数组,标签Y是nx1个元素的一维数组,模型参数w是dx1个元素的一维数组,正则化参数lambda,阈值参数t
#include <iostream>
#include <cmath>
// 定义软阈值函数
double softThreshold(double x, double t) {
if (x > t)
return x - t;
else if (x < -t)
return x + t;
else
return 0.0;
}
// Lasso 正则化逻辑回归的训练函数
void logistics_regression_Lasso(double* X, double* Y, double* w, double lambda, double t, int n, int d, int maxIter) {