AI
文章平均质量分 92
根号00000011
屌丝
展开
-
【AI】如何处理偏斜类
并不一定,因为患有癌症的,很有可能仅仅占据人群的 0.5% ,而一直预测 y = 0 ,也就是预测大家都没有患癌症,就能得到 99.5% 的精准度。如果你告诉一个病人说:“你患了癌症”,他们会非常的震惊,因为这是一个非常坏的消息,对人的打击非常大。这样的情况下,能够相对准确地预测癌症的情况,错误的预测就减少了,那么我们会得到比较高的查准率。所谓的召回率,就是那些真正患有癌症的病人,有多少我们能够准确发现他们的病情。所谓的查准率,就是那些我们预测他们患有癌症的病人,有多少是真正患有癌症的。转载 2024-04-05 09:00:03 · 62 阅读 · 0 评论 -
14 超参数优化 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
有 19 个参数,而所有这些参数的所有组合,以及它们可以承担的所有值,都将是无穷无尽的。还必须注意的是,如果要进行 k 折交叉验证,则需要更多的循环,这意味着需要更多的时间来找到完美的参数。使用这两种方法,你可以为各种模型找到最优参数,只要它们有拟合和预测功能,这也是 scikit-learn 的标准。这样,我们是在最小化精确度的负值,但事实上,我们是在最大化精确度。大多数模型参数都是实数,不同参数的组合可以是无限的。最后,我们可以看到,5折交叉检验最佳得分是 0.889,我们的网格搜索得到了最佳参数。翻译 2024-03-24 16:07:07 · 72 阅读 · 0 评论 -
13 评估指标 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
说到机器学习问题,你会在现实世界中遇到很多不同类型的指标。有时,人们甚至会根据业务问题创建度量标准。逐一介绍和解释每一种度量类型超出了本书的范围。相反,我们将介绍一些最常见的度量标准,供你在最初的几个项目中使用。在本书的开头,我们介绍了监督学习和非监督学习。虽然无监督学习可以使用一些指标,但我们将只关注有监督学习。这是因为有监督问题比无监督问题多,而且对无监督方法的评估相当主观。如果我们谈论分类问题,最常用的指标是:说到回归,最常用的评价指标是了解上述指标的工作原理并不是我们必须了解的唯一事情。我们还必须知翻译 2024-03-24 16:04:49 · 71 阅读 · 0 评论 -
12 组织机器学习项目 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
如果你所做的项目能让其他人理解并使用,而无需咨询你的意见,那么你就节省了他们的时间和自己的时间,可以将这些时间投入到改进你的项目或开发新项目中去。model_dispatcher.py 从 scikit-learn 中导入了 tree,并定义了一个字典,其中键是模型的名称,值是模型本身。我们现在已经取得了一些进展,但如果我们看一下我们的训练脚本,我们仍然受到一些东西的限制,例如模型。关于许可证的详细介绍超出了本书的范围。:这是一个标记符文件,您可以在其中描述您的项目,并写明如何训练模型或在生产环境中使用。翻译 2024-03-24 13:20:42 · 57 阅读 · 0 评论 -
11 组合和堆叠方法 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
之后,我们在折叠 2 上从头开始训练模型,并在折叠 1 上进行预测。现在,为了合并这些模型,我们将折叠 1 和折叠 1 的所有预测数据合并在一起,然后创建一个优化函数,试图找到最佳权重,以便针对折叠 2 的目标最小化误差或最大化 AUC。例如,如果你有一个 AUC 非常高的随机森林模型和一个 AUC 稍低的逻辑回归模型,你可以把它们结合起来,随机森林模型占 70%,逻辑回归模型占 30%。提升模型的工作原理与装袋模型类似,不同之处在于提升模型中的连续模型是根据误差残差训练的,并倾向于最小化前面模型的误差。翻译 2024-03-24 11:29:29 · 77 阅读 · 0 评论 -
10 特征选择 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
在前一种方法中,我们从一个特征开始,然后不断添加新的特征,但在 RFE 中,我们从所有特征开始,在每次迭代中不断去除一个对给定模型提供最小值的特征。如果我们使用线性支持向量机(SVM)或逻辑回归等模型,我们会为每个特征得到一个系数,该系数决定了特征的重要性。没有比这更简单的了。当我们进行递归特征剔除时,在每次迭代中,我们都会剔除特征重要性较高的特征或系数接近 0 的特征。请记住,当你使用逻辑回归这样的模型进行二元分类时,如果特征对正分类很重要,其系数就会更正,而如果特征对负分类很重要,其系数就会更负。翻译 2024-03-24 11:25:38 · 51 阅读 · 0 评论 -
9 特征工程 —— 建立一个自动的机器学习框架,几乎可以解决任何机器学习问题
在处理时间序列数据时,日期时间特征非常重要,例如,在预测一家商店的销售额时,如果想在聚合特征上使用 xgboost 等模型,日期时间特征就非常重要。现在,您可以使用所有其他列,对相关列中没有缺失值的样本进行模型训练,然后尝试预测之前删除的样本的目标列(同一列)。在这种情况下,我们会创建不同类型的特征,例如:使用数值特征时,在对分类列进行分组时,会得到类似于时间分布值列表的特征。特征的数量越多,多项式特征的数量也就越多,而且你还必须记住,如果数据集中有很多样本,那么创建这类特征就需要花费一些时间。翻译 2024-03-24 11:06:21 · 47 阅读 · 0 评论 -
8 无监督和有监督学习 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
同样,当我们得到猫和狗的图像时,我们事先知道哪些是猫,哪些是狗,如果任务是创建一个模型来预测所提供的图像是猫还是狗,那么这个问题就被认为是有监督的问题。大多数情况下,当人们开始学习数据科学或机器学习时,都会从非常著名的数据集开始,例如泰坦尼克数据集或鸢尾花数据集,这些都是有监督的问题。图 3 显示的是 MNIST 数据集,这是一个非常流行的手写数字数据集,它是一个有监督的问题,在这个问题中,你会得到数字图像和与之相关的正确标签。必须注意的是,有时我们可能会在分类设置中使用回归,这取决于用于评估的指标。翻译 2024-03-24 11:02:22 · 46 阅读 · 0 评论 -
7 文本分类或回归方法 —— 建立一个自动的机器学习框架,几乎可以解决任何机器学习问题
文本问题是我的最爱。一般来说,这些问题也被称为自然语言处理(NLP)问题。NLP 问题与图像问题也有很大不同。你需要创建以前从未为表格问题创建过的数据管道。你需要了解商业案例,才能建立一个好的模型。顺便说一句,机器学习中的任何事情都是如此。建立模型会让你达到一定的水平,但要想改善和促进你所建立模型的业务,你必须了解它对业务的影响。NLP 问题有很多种,其中最常见的是字符串分类。很多时候,我们会看到人们在处理表格数据或图像时表现出色,但在处理文本时,他们甚至不知道从何入手。文本数据与其他类型的数据集没有什么不翻译 2024-03-24 10:59:11 · 90 阅读 · 0 评论 -
6 处理分类变量 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
很多人在处理分类变量时都会遇到很多困难,因此这值得用整整一章的篇幅来讨论。在本章中,我将讲述不同类型的分类数据,以及如何处理分类变量问题。什么是分类变量?分类变量/特征是指任何特征类型,可分为两大类:无序变量是指有两个或两个以上类别的变量,这些类别没有任何相关顺序。例如,如果将性别分为两组,即男性和女性,则可将其视为名义变量。有序变量则有 "等级 "或类别,并有特定的顺序。例如,一个顺序分类变量可以是一个具有低、中、高三个不同等级的特征。顺序很重要。就定义而言,我们也可以将分类变量分为二元变量,即只有两个类翻译 2024-03-24 10:52:10 · 124 阅读 · 0 评论 -
5 图像分类和分割方法 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
说到图像,过去几年取得了很多成就。计算机视觉的进步相当快,感觉计算机视觉的许多问题现在都更容易解决了。随着预训练模型的出现和计算成本的降低,现在在家里就能轻松训练出接近最先进水平的模型,解决大多数与图像相关的问题。但是,图像问题有许多不同的类型。从两个或多个类别的标准图像分类,到像自动驾驶汽车这样具有挑战性的问题。我们不会在本书中讨论自动驾驶汽车,但我们显然会处理一些最常见的图像问题。我们可以对图像采用哪些不同的方法?图像只不过是一个数字矩阵。计算机无法像人类一样看到图像。它只能看到数字,这就是图像。灰度图翻译 2024-03-24 10:43:43 · 134 阅读 · 0 评论 -
4 可重复代码和模型方法 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
在书中描述这些是不可行的,也是不可取的,所以我将使用不同的媒介来赞美本书的这一部分。请务必记住,要让你的代码和模型对他人可用,并做好文档记录,这样任何人都可以使用你开发的东西,而无需多次询问你。因此,如果您在发布代码时能复制自己的电脑,而其他人在安装您的软件或运行您的代码时也能复制您的电脑,那就再好不过了。包含版本总是最好的,这也是你应该做的。包含版本后,可以确保其他人使用的版本与你的版本相同,而不是最新版本,因为最新版本可能会更改某些内容,如果是这样的话,模型的训练方式就不会与你的相同了。翻译 2024-03-24 10:26:26 · 38 阅读 · 0 评论 -
3 交叉检验 —— 建立一个自动的机器学习框架,几乎可以解决任何机器学习问题
因此,要在这里建立一个良好的交叉检验系统,必须有分层的 k 折交叉检验,但也必须确保训练数据中的患者不会出现在验证数据中。如果我们有一个非常大的网络来处理一个非常小的数据集(即样本数非常少),我们就会观察到,随着我们不断训练,训练集和测试集的损失都会减少。这意味着在所有的训练折叠中,我们将对除 1 之外的所有数据样本进行训练。在上面的数据集中,我们可以建立一个最大深度(max_depth)非常高的模型,它在训练数据上会有出色的结果,但这种模型并不实用,因为它在真实世界的样本或实时数据上不会提供类似的结果。翻译 2024-03-23 09:48:58 · 56 阅读 · 0 评论 -
2 无监督和有监督学习 —— 建立一个自动的机器学习框架,几乎可以解决任何机器学习问题
同样,当我们得到猫和狗的图像时,我们事先知道哪些是猫,哪些是狗,如果任务是创建一个模型来预测所提供的图像是猫还是狗,那么这个问题就被认为是有监督的问题。图 3 显示的是 MNIST 数据集,这是一个非常流行的手写数字数据集,它是一个有监督的问题,在这个问题中,你会得到数字图像和与之相关的正确标签。MNIST 是一个有监督的分类问题,我们把它转换成一个无监督的问题,只是为了检查它是否能带来任何好的结果。MNIST 是一个有监督的分类问题,我们把它转换成一个无监督的问题,只是为了检查它是否能带来任何好的结果。翻译 2024-03-23 09:25:06 · 50 阅读 · 0 评论 -
1 准备环境 —— 建立一个自动机器学习框架,几乎可以解决任何机器学习问题
在我们开始编程之前,在你的机器上设置好一切是非常重要的。为了避免这种情况,你可以在虚拟机中安装Ubuntu,或者在Windows上安装Linux shell。,它是 conda 的最小安装程序。因此,在本书中,使用 pip 安装是最可取的方法。我已经创建了一个编写本书时使用的软件包列表,保存在 environment.yml 中。你可以在我的 GitHub 仓库中的额外资料中找到它。我们将创建一个在本书中一直使用的 conda 环境。在 conda 环境中,安装软件包有两种不同的方式。翻译 2024-03-23 09:22:22 · 39 阅读 · 0 评论