From 2ae63a0df1d64cb7cede082ca4ab7990f84ad448 Mon Sep 17 00:00:00 2001 From: tianxuzhang Date: Sun, 3 Dec 2023 15:34:23 +0000 Subject: [PATCH] deploy: e3e1236072206002d19a19aac94c45d669a80044 --- ...346\200\247\345\233\236\345\275\222.ipynb" | 93 +++++++++++++++++++ ...\346\200\247\345\233\236\345\275\222.html" | 73 +++++++++++++++ searchindex.js | 2 +- 3 files changed, 167 insertions(+), 1 deletion(-) diff --git "a/_sources/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.ipynb" "b/_sources/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.ipynb" index 7eba72e..38888b9 100644 --- "a/_sources/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.ipynb" +++ "b/_sources/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.ipynb" @@ -484,6 +484,99 @@ "print(\"模型系数:\")\n", "print(multi_task_elastic_net.coef_)" ] + }, + { + "cell_type": "markdown", + "id": "42f8c990", + "metadata": {}, + "source": [ + "## 最小角回归\n", + "最小角回归(Least Angle Regression,简称LARS)是一种用于线性回归和特征选择的迭代算法。它通过一系列步骤逐渐构建回归模型,并根据变量与目标变量之间的相关性来选择特征。\n", + "\n", + "LARS算法的主要思想是每次选择与目标变量具有最大相关性的特征,并沿着该方向移动。在每个步骤中,LARS将当前的解投影到残差向量上,然后确定一个新变量进入解集,并决定如何移动。\n", + "\n", + "LARS算法的步骤如下:\n", + "\n", + "* 初始化:将所有系数设为零,并计算初始残差。\n", + "* 选择特征:找到与当前残差具有最大相关性的特征,并将该特征添加到解集中。\n", + "* 移动步长:通过沿着这个特征的方向移动,使解向量与该特征的相关性等于其他已选择特征的相关性。\n", + "* 更新解和残差:更新解向量和残差向量,以反映新的解和新的步长。\n", + "* 重复步骤2-4,直到达到所需的特征数量或达到停止准则。\n", + "\n", + "LARS算法可以用于拟合线性回归模型并进行特征选择。它能够处理高维数据集,同时具有较低的计算复杂度。\n", + "\n", + "在Scikit-learn中,你可以使用Lars类来实现最小角回归。例如:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "6ed5133b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "模型系数:\n", + "[ 0.02913523 -0.00313884 -0.03431681 0.29380121 -0.13901173 -0.08586778\n", + " 0.11000887 0.00837283 0.08400827 -0.11083981]\n" + ] + } + ], + "source": [ + "from sklearn.linear_model import Lars\n", + "\n", + "# 创建Lars对象并进行拟合\n", + "lars = Lars()\n", + "lars.fit(X, y)\n", + "\n", + "# 输出模型系数\n", + "print(\"模型系数:\")\n", + "print(lars.coef_)" + ] + }, + { + "cell_type": "markdown", + "id": "36d1ba79", + "metadata": {}, + "source": [ + "### LARS Lasso\n", + "\n", + "LARS Lasso(Least Angle Regression Lasso)是一种结合了最小角回归(LARS)和Lasso回归的正则化方法。\n", + "\n", + "与传统的LASSO回归相比,LARS Lasso具有更高的计算效率,因为它使用了逐步向前的方式来确定特征的顺序,而不需要像坐标下降或拟梯度等方法那样进行迭代优化。\n", + "\n", + "在Scikit-learn中,你可以使用LassoLars类来实现LARS Lasso回归。以下是一个示例代码:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a99de35e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "模型系数:\n", + "[ 0. 0. 0. 0.21248063 -0.00992147 0.\n", + " 0.00512876 0. 0.00215299 -0.00265399]\n" + ] + } + ], + "source": [ + "from sklearn.linear_model import LassoLars\n", + "\n", + "# 创建LassoLars对象并进行拟合\n", + "lasso_lars = LassoLars(alpha=0.1)\n", + "lasso_lars.fit(X, y)\n", + "\n", + "# 输出模型系数\n", + "print(\"模型系数:\")\n", + "print(lasso_lars.coef_)" + ] } ], "metadata": { diff --git "a/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.html" "b/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.html" index 13a1353..85859c1 100644 --- "a/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.html" +++ "b/docs/\345\233\236\345\275\222/\346\255\243\345\210\231\345\214\226\347\272\277\346\200\247\345\233\236\345\275\222.html" @@ -385,6 +385,10 @@

Contents

  • 多任务弹性网络
  • +
  • 最小角回归 +
  • @@ -745,6 +749,71 @@

    多任务弹性网络 +

    最小角回归#

    +

    最小角回归(Least Angle Regression,简称LARS)是一种用于线性回归和特征选择的迭代算法。它通过一系列步骤逐渐构建回归模型,并根据变量与目标变量之间的相关性来选择特征。

    +

    LARS算法的主要思想是每次选择与目标变量具有最大相关性的特征,并沿着该方向移动。在每个步骤中,LARS将当前的解投影到残差向量上,然后确定一个新变量进入解集,并决定如何移动。

    +

    LARS算法的步骤如下:

    + +

    LARS算法可以用于拟合线性回归模型并进行特征选择。它能够处理高维数据集,同时具有较低的计算复杂度。

    +

    在Scikit-learn中,你可以使用Lars类来实现最小角回归。例如:

    +
    +
    +
    from sklearn.linear_model import Lars
    +
    +# 创建Lars对象并进行拟合
    +lars = Lars()
    +lars.fit(X, y)
    +
    +# 输出模型系数
    +print("模型系数:")
    +print(lars.coef_)
    +
    +
    +
    +
    +
    模型系数:
    +[ 0.02913523 -0.00313884 -0.03431681  0.29380121 -0.13901173 -0.08586778
    +  0.11000887  0.00837283  0.08400827 -0.11083981]
    +
    +
    +
    +
    +
    +

    LARS Lasso#

    +

    LARS Lasso(Least Angle Regression Lasso)是一种结合了最小角回归(LARS)和Lasso回归的正则化方法。

    +

    与传统的LASSO回归相比,LARS Lasso具有更高的计算效率,因为它使用了逐步向前的方式来确定特征的顺序,而不需要像坐标下降或拟梯度等方法那样进行迭代优化。

    +

    在Scikit-learn中,你可以使用LassoLars类来实现LARS Lasso回归。以下是一个示例代码:

    +
    +
    +
    from sklearn.linear_model import LassoLars
    +
    +# 创建LassoLars对象并进行拟合
    +lasso_lars = LassoLars(alpha=0.1)
    +lasso_lars.fit(X, y)
    +
    +# 输出模型系数
    +print("模型系数:")
    +print(lasso_lars.coef_)
    +
    +
    +
    +
    +
    模型系数:
    +[ 0.          0.          0.          0.21248063 -0.00992147  0.
    +  0.00512876  0.          0.00215299 -0.00265399]
    +
    +
    +
    +
    +
    +