原文:
www.kdnuggets.com/2018/05/5-reasons-logistic-regression-first-data-scientist.html
作者:Dima Shulga,HiredScore 数据科学家
1. Google 网络安全证书 - 快速进入网络安全职业生涯。
2. Google 数据分析专业证书 - 提升你的数据分析技能
3. Google IT 支持专业证书 - 支持组织的 IT 部门
几年前我开始涉足数据科学领域。当时我是一名软件工程师,首先在网上学习(在开始攻读硕士学位之前)。我记得,当我搜索在线资源时,只看到了学习算法的名称——线性回归、支持向量机、决策树、随机森林、神经网络等等。很难理解应该从哪里开始。今天我知道,成为数据科学家最重要的事情是学习管道,即获取和处理数据、理解数据、构建模型、评估结果(包括模型和数据处理阶段的结果)以及部署。因此,作为这篇文章的TL;DR:首先学习逻辑回归,以便熟悉管道,而不会被复杂的算法所困扰。
你可以在这篇文章中了解更多关于我从软件工程转向数据科学的经验。
所以,这里是我认为我们应该首先学习逻辑回归成为数据科学家的 5 个理由。这仅仅是我的观点,当然,对其他人来说,可能以不同的方式做事情会更容易。
因为学习算法只是管道的一部分
正如我在开头所说,数据科学工作不仅仅是模型构建。它包括这些步骤:
你可以看到“建模”是这个重复过程的一部分。在构建数据产品时,最好先构建完整的管道,保持尽可能简单,了解你到底想要实现什么,如何衡量自己以及你的基准是什么。之后,你可以进行复杂的机器学习,并且能够知道自己是否在进步。
顺便提一下,逻辑回归(或任何机器学习算法)不仅可以用于“建模”部分,还可以用于“数据理解”和“数据准备”,插补就是一个例子。
因为你将更好地理解机器学习
我认为,当人们阅读这篇文章标题时,首先会问自己为什么使用“逻辑回归”而不是“线性回归”。而事实是,这并不重要。仅仅这个问题就引出了两种类型的监督学习算法——分类(逻辑回归)和回归(线性回归)。当你用逻辑回归或线性回归构建你的工作流程时,你会在保持简单的同时熟悉大多数机器学习的概念。诸如监督学习与非监督学习、分类与回归、线性与非线性问题等概念。此外,你还会对如何准备数据、可能遇到的挑战(如插补和特征选择)、如何评估你的模型、是否使用“准确率”、“精确率-召回率”、“ROC AUC”?还是“均方误差”和“皮尔逊相关系数”?等有个大致了解。这些概念是数据科学过程中的重要部分。一旦你熟悉了这些概念,你将能够用更复杂的模型替换你的简单模型。
因为“逻辑回归”有时已经足够
逻辑回归是一个非常强大的算法,即使面对非常复杂的问题,它也能发挥良好的作用。以 MNIST 为例,仅使用逻辑回归就可以达到 95%的准确率,这虽然不是一个惊人的结果,但足以确保你的工作流程有效。实际上,只要特征表示得当,它可以发挥出色的表现。在处理非线性问题时,我们有时会尝试以可以用线性方式解释的方式来表示原始数据。以下是这个想法的一个小示例:我们希望对以下数据执行一个简单的分类任务:
X1 x2 | Y
==================
-2 0 1
2 0 1
-1 0 0
1 0 0
如果我们绘制这些数据,我们将能够看到没有一条直线可以将其分开:
plt.scatter([-2, 2], [0, 0 ], c='b')
plt.scatter([-1, 1], [0, 0 ], c='r')
在这种情况下,如果我们不对数据进行处理,逻辑回归将不会对我们有帮助,但如果我们去掉x2
特征,改用x1²
,效果就会是这样:
X1 x1² | Y
==================
-2 4 1
2 4 1
-1 1 0
1 1 0
现在,有了一条简单的直线可以分开数据。当然,这个玩具示例与现实生活相差甚远,在现实中,很难确定如何准确地改变数据以使线性分类器有效,但是,如果你在特征工程和特征选择上投入一些时间,你的逻辑回归可能会表现得非常出色。
因为它是统计学中的一个重要工具
线性回归不仅对预测很有用,一旦你有了一个拟合的线性回归模型,你可以了解依赖变量和自变量之间的关系,或者用“机器学习”语言来说,你可以了解特征与目标值之间的关系。考虑一个简单的例子,我们有关于房价的数据,我们有一堆特征和实际价格。我们拟合一个线性回归模型并得到不错的结果。我们可以查看模型为每个特征学习到的实际权重,如果这些权重显著,我们可以说某些特征比其他特征更重要。此外,我们可以说房屋大小,例如,对房价变化的贡献为 50%,每增加 1 平方米将使房价增加 1 万元。线性回归是从数据中学习关系的强大工具,统计学家经常使用它。
因为这是学习神经网络的一个很好的起点
对我来说,学习逻辑回归首先帮助了我在开始学习神经网络时很多。你可以把网络中的每个神经元看作是一个逻辑回归,它有输入、权重、偏置,你对这些做点积,然后应用一些非线性函数。此外,神经网络的最终层通常是一个简单的线性模型。看一下这个非常基础的神经网络:
让我们更详细地看看“输出层”,你可以看到这其实是一个简单的线性(或逻辑)回归,我们有输入(隐藏层 2),有权重,我们做点积,然后添加一个非线性函数(取决于任务)。一个很好的方式来理解神经网络是将其分为两部分:表示部分和分类/回归部分:
第一部分(左侧)试图学习一个好的数据表示,这将帮助第二部分(右侧)执行线性分类/回归。你可以在这个很棒的文章中阅读更多关于这个想法的内容。
结论
如果你想成为数据科学家,有很多知识需要掌握,乍一看,学习算法似乎是最重要的部分。现实情况是,学习算法在大多数情况下非常复杂,需要大量时间和精力来理解,但只是数据科学流程中的一小部分。
个人简介: 迪玛·舒尔加 是 HiredScore 的数据科学家。
原文。经许可转载。
相关内容:
-
机器学习新手的十大算法之旅
-
初学者的 10 大机器学习算法
-
逻辑回归:简明技术概述