暂时未有相关云产品技术能力~
博客地址:https://alanhou.org
在前面的章节中,我们使用预测准确率来评估各机器学习模型,通常这是用于量化模型表现很有用的指标。但还有其他几个性能指标可以用于衡量模型的相关性,例如精确率、召回率、F1分数和马修斯相关系数(MCC)等。
本节中,我们来看两个非常简单但强大的诊断工具,可帮助我们提升学习算法的性能:学习曲线和验证曲线,在接下的小节中,我们会讨论如何使用学习曲线诊断学习算法是否有过拟合(高方差)或欠拟合(高偏置)的问题。另外,我们还会学习验证曲线,它辅助我们处理学习算法中的常见问题。
在前面的章节中,我们学习了用于分类的基本机器学习算法以及如何在喂给这些算法前处理好数据。下面该学习通过调优算法和评估模型表现来构建良好机器学习模型的最佳实践了。本章中,我们将学习如下内容: 评估机器学习模型表现 诊断机器学习算法常见问题 调优机器学习模型 使用不同的性能指标评估预测模型 通过管道流程化工作流
虽然上一小节中繁琐的介绍有助于我们了解PCA的内部原理,但我们还是要谈谈scikit-learn中实现的PCA类。 PCA类是scikit-learn中又一个变换器类,我们在使用相同模型参数谈的训练数据和测试集前先使用训练数据拟合模型。下面对葡萄酒训练数据集使用scikit-learn中的PCA类,通过逻辑回归分类变换后的样本,再使用第2章 为分类训练简单机器学习算法中定义的plot_decision_regions函数可视化决策区域:
在第4章 构建优秀的训练数据集 – 数据预处理中,我们学习了使用特征选择技术对数据集降维的不同方法。特征选择以外的另一种降维方法是特征提取。本章中我们会学习两种基本技术,可帮助我们通过将其变换为比原来更低维度的特征子空间总结出数据集中的信息内容。数据压缩是机器学习中非常重要的课题,它有助于我们存储和分析现代技术时代生产和收集的与日俱增的数据。
我们在第1章 赋予计算机学习数据的能力和第3章 使用Scikit-Learn的机器学习分类器之旅中简单地介绍了将数据集划分为训练集和测试集的概念。在测试集中比较预测标签和真实标签可以看成是发布上线前对模型的无偏差性能评估。本节中,我们会准备一个新的数据集,葡萄酒数据集。在预处理完数据集后,我们会探讨不同的特征选择技术来对数据集降维。
数据质量及所包含的有用信息量是决定机器学习算法能学到多好的关键因素。因此,在将数据集喂给机器学习算法前对其进行检查和预处理绝对很重要。本章中,我们会讨论一些基本数据预处理技术,有助于我们构建很好的机器学习模型。
另一种强大又广泛使用的学习算法是支持向量机(SVM),可看成是对感知机的扩展。使用感知机算法,我们最小化误分类错误。但在SVM中,我们的优化目标是最大化间隔(margin)。间隔定义为分隔的超平面(决策边界)之间的距离,距离超平面最近的训练样本称为支持向量。
本章中,我们会学习一些学术界和工业界常用的知名强大机器学习算法。在学习各种用于分类的监督学习算法的不同时,我们还会欣赏到它们各自的优势和劣势。另外,我们会开始使用scikit-learn库,它为高效、有生产力地使用这些算法提供了用户友好且一致的接口。
官方默认的 layout 目录已其实已经包含第三方包,但proto 文件仍然会出现红色波浪线,如`import "google/api/annotations.proto";`,以 VS Code 为例,只需要添加如下文件及配置:
前一节中,我们学习了Rosenblatt感知机规则的原理,下面使用Python进行实现并使用第1章 赋予计算机学习数据的能力中介绍的鸢尾花数据集进行训练。
本章中我们会使用所讲到的机器学习中的第一类算法中两种算法来进行分类:感知机(perceptron)和自适应线性神经元(adaptive linear neuron)。我们先使用Python逐步实现感知机,然后对鸢尾花数据集训练来分出不同花的品种。这有助于我们理解用于分类的机器学习算法概念以及如何用Python进行有效的实现。
前面我们讨论了机器学习的三大分类:监督学习、无监督学习和强化学习,下面来学习本书中会用到一些基本术语。下面的一小节中包含用于表示数据集各方面的常用术语,以及可实现更精准高效沟通的数学符号。
在作者的心目中,机器学习这一解释推理数据的应用和算法科学,是计算机科学中最令人振奋的领域!我们生活在数据多到泛滥的时代,使用机器学习领域的自学习算法 ,可以将数据转换为知识。借助近些年来开发的众多开源库,我们迎来了进入机器学习领域最好的时代,可以学习利用强大的算法来一窥数据的模式并对未来事件进行预测。