Logistic分类器

来自决策链云智库
Logistic Classification Learner.png
节点状态
Windows / Windows 10 Win10及以上可用
V1.0部署
Logistic分类器Logistic Classification Learner.svg
节点开发者决策链算法研发部 (Dev.Team-DPS)
节点英文名Logistic Classification Learner
功能主类别机器学习
英文缩写LogisticGBM
功能亚类别分类训练器
节点类型数据挖掘
开发语言Python
节点简介

在机器学习中,逻辑回归分类器(Logistic Regression Classifier)是一种常用的分类算法,用于解决二分类问题。虽然名字中包含"回归"一词,但实际上逻辑回归是一种分类算法,而不是回归算法。逻辑回归分类器的基本原理是通过将线性回归模型的输出映射到一个概率值,并使用一个阈值来进行分类决策。

该模型假设输出变量(也称为标签或类别)服从二项分布,即属于两个可能的类别之一。逻辑回归分类器使用的函数称为逻辑函数(或称为sigmoid函数),它能够将任意实数映射到0到1之间的概率值。

端口数量与逻辑控制(PC)
Input-入口2个
Output-出口3个
Loop-支持循环
If/Switch-支持逻辑判断
输入输出
可生成图片类型(推荐)
可生成数据表类型(推荐)
相关节点
上一节点CatBoost
下一节点LightGBM



算法概述

在统计学中,逻辑模型(或logit模型)是一种统计模型,将事件的对数概率建模为一个或多个自变量的线性组合。在回归分析中,逻辑回归[1](或logit回归)是估计逻辑模型的参数(线性组合中的系数)。形式上,在二元逻辑回归中,有一个由指标变量编码的单一二元因变量,其中两个值被标记为“0”和“1”,而自变量可以分别是二元变量(两类,由指标变量进行编码)或连续变量(任何实值)[2]。对数赔率量表的计量单位被称为logit,来自逻辑单位。

示例代码-Logistic分类节点

该节点使用Python编写,调用scikit-learn包[3]。以下为示例代码:

from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
X, y = load_iris(return_X_y=True)
clf = LogisticRegression(random_state=0).fit(X, y)
clf.predict(X[:2, :])
clf.predict_proba(X[:2, :])
clf.score(X, y)

拟合后,模型可以用于预测样本的类别,可以在通用预测模块实现内外部测试集的预测。

节点使用指南

  • 最适用的场景:决策树可用于解决分类问题,其中目标是将数据分为不同的类别或预测数据的类别。
  • 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。

变量配置

  • 选择特征变量:作为特征进行学习的变量(X),多选。
  • 选择目标变量:作为结局的二分类变量(y),单选。

参数配置

  • 设置随机数:控制模型的随机性。
  • 正则化参数:正则化参数是机器学习算法中的一个重要参数,用于控制模型的复杂度并防止过拟合(Overfitting)。选择适当的正则化参数对于获得良好的模型性能非常重要。默认为1.0。
  • 惩罚规则选择:惩罚的允许值取决于所选择的算法。求解器支持的惩罚:'lbfgs' - ['l2',None], 'liblinear' - ['l1', 'l2'], 'newton-cg' - ['l2',None],'newton-cholesky' - ['l2',None], 'sag' - ['l2',,None], 'saga' - ['elasticnet', 'l1', 'l2', None]。
  • 优化算法选择:
    • liblinear:这是适用于小型数据集的优化算法。它基于坐标轴下降法(coordinate descent)和拟牛顿法(quasi-Newton)进行优化。liblinear对于处理二分类问题或多类问题的一对多(one-vs-rest)方法都是有效的。它还可以处理L1和L2正则化。
    • newton-cg:这是使用牛顿法的优化算法。它通过计算损失函数的二阶导数信息来更新模型参数。newton-cg适用于处理具有较小数据集的二分类或多类分类问题,但不适用于L1正则化。
    • lbfgs:这是使用拟牛顿法的优化算法。它也利用损失函数的二阶导数信息进行参数更新。lbfgs适用于处理具有较小数据集的二分类或多类分类问题,且支持L2正则化。
    • sag:这是随机平均梯度下降(Stochastic Average Gradient)的优化算法。它使用样本的一部分计算梯度,并在每次迭代中更新模型参数。sag适用于处理具有大型数据集的二分类或多类分类问题,但不支持L1正则化。
    • saga:这是liblinear和sag算法的改进版本,支持L1和L2正则化,并可以处理大型数据集。saga在处理大规模数据集时比较高效。
    • 设置容忍度:设置停止标准(stopping criteria)的容忍度。默认0.0001。
    • 设置最大迭代次数。

注意事项

  • 不支持带空值运算,用多重插补插补空值进行插补,
  • 节点不出图,
  • 导入该节点的数据端口为训练数据集,导入前注意转换。
  • Logistic回归是具有二项式/伯努利条件分布和Logit link的广义线性模型(GLM)的一个特例。逻辑回归的数字输出,即预测概率,可以通过应用阈值(默认为0.5)作为分类器。这就是它在决策链中的实现方式,因此它需要有一个分类的结局变量,使逻辑回归成为分类器。

参考文献

  1. Tolles, Jonathan and Meurer, William J. (2016). "Logistic Regression: Relating Patient Characteristics to Outcomes". JAMA. 316 (5): 533–534. doi:10.1001/jama.2016.7653.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  2. Hosmer, David W.; Lemeshow, Stanley (2000). Applied Logistic Regression (2nd ed.). Wiley. ISBN 978-0-471-35632-5.
  3. Kramer, Oliver (2016). "Scikit-learn". Machine learning for evolution strategies. Springer: 45--53.


查找其他类别的节点,请参考以下列表