0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ML项目的6个基本步骤

倩倩 来源:AI科技大本营 2020-04-15 14:44 次阅读

每个机器学习项目都有自己独特的形式。对于每个项目,都可以遵循一组预定义的步骤。尽管没有严格的流程,但是可以提出一个通用模板。

准备问题

不仅是机器学习,任何项目的第一步都是简单地定义当前的问题。您首先需要了解背景和需要解决的问题。然后设计机器学习算法来有效地解决这一问题。一旦清楚地了解了问题,就可以解决它。

加载库

我将继续使用Python。第一步是加载或导入所需的所有库和包。一些非常基本且几乎必要的机器学习软件包是-NumPy,Pandas,Matplotlib和Scikit-Learn。

加载数据集

加载库后,您需要加载数据。Pandas具有执行此任务的非常简单的功能-pandas.read_csv。read.csv函数不仅限于csv文件,而且还可以读取其他基于文本的文件。其他格式也可以使用pandas读取功能(例如html,json,pickled文件等)读取。需要牢记的一件事是,您的数据需要与当前工作目录位于同一工作目录中,否则您将需要在函数中提供以“ /”为前缀的完整路径。

汇总数据

现在数据已加载并准备好进行操作。但是,您需要先检查数据的外观以及内容。首先,您需要查看数据具有多少行和列,以及每一列的数据类型都是什么(pandas认为它们是什么类型)。

快速查看数据类型和形状的方法是— pandas.DataFrame.info。这将告诉您数据框具有多少行和列以及它们包含哪些数据类型和值。

描述性统计

顾名思义,描述性统计数据以统计数据的形式描述数据-均值,标准差,四分位数等。获得完整描述的最简单方法是pandas.DataFrame.describe。您可以轻松确定数据是否需要缩放或需要添加缺失值,等等。(稍后会对此进行更多介绍)。

数据可视化

数据可视化非常重要,因为它们是了解数据和规律(即使它们不存在)的最快方法。您的数据可能具有数千个样本,甚至更多。无法直接分析所有数值数据。如果需要可视化,可以使用Matplotlib和Seaborn这样强大的可视化程序包。

使用Seaborn的Matplotlib进行可视化可用于检查特征内的相关性以及与目标的关系,可以使用散点图,直方图和箱形图来检查分布和偏度等。甚至pandas都有自己的内置可视化库-pandas.DataFrame.plot,其中包含条形图,散点图,直方图等。

Seaborn本质上是经过改造的matplotlib,因为它建立在matplotlib的基础上,使绘图更加美观,并且绘图速度更快。热图和对图(pairplot)是Seaborn快速绘制整个数据的可视化以检查多重共线性,缺失值等特征的示例。

一种获取大多数上述数据描述性和推断性信息的统计数据的非常有效的方法是Pandas Profiling。它会生成数据的精美报告,其中包含上述所有详细信息,使您能够一次分析所有数据。

准备数据

知道了数据的内容和规律,就需要对其进行转换,以使其适合算法来更有效地工作,以便提供更准确,更精确的结果。这就是数据预处理,这是任何ML项目中最重要,最耗时的阶段。

数据清洗

现实生活中的数据不能很好地安排在没有异常的数据框中并呈现给您。数据通常具有很多所谓的异常,例如缺失值,许多格式不正确的特征,不同比例的特征等。所有这些都需要手动处理,这需要大量时间和编码技巧(主要是python和pandas:D )!

Pandas具有各种功能来检查异常,例如pandas.DataFrame.isna以检查NaN等值。您可能还需要转换数据格式以摆脱无用的信息,例如删除“ Mr.”和“ Mrs” ”(如果存在单独的性别特征)。您可能需要使用pandas.DataFrame.replace函数以整个数据框的标准格式获取它,或使用pandas.DataFrame.drop删除不相关的特征。

特征选择

特征选择是选择一定数量的最有用特征的过程,这些特征将用于训练模型。这样做是为了在大多数特征对整体差异的贡献不足时缩小尺寸。如果您的数据中有300个特征,而前120个特征可以解释97%的方差,那么用这么多无用的特征来充实您的算法是没有意义的。减少特征不仅可以节省时间,还可以节省成本。

一些流行的特征选择技术包括SelectKBest,特征消除方法(例如RFE(递归特征消除))和嵌入式方法(例如LassoCV)。

特征工程

所有功能可能都不处于最佳状态。特征工程的意思是通过使用一组函数可以将它们转换为不同的相关的数据。这是为了增加与目标的相关性,从而增加准确性/分数。其中一些转换与缩放有关,例如StandardScaler,Normalizer,MinMaxScaler等。甚至可以通过将一些特征进行线性/二次组合来增加特征,以提高性能。对数转换,交互作用和Box-Cox转换是数字数据的一些有用转换。

对于分类数据,有必要将类别编码为数字,以便算法可以从中识别出来。一些最有用的编码技术是– LabelEncoder,OneHotEncoder和Binarizer。

评估算法

数据准备就绪后,请继续检查各种回归/分类算法的性能(基于问题的类型)。您可以首先创建一个基本模型来设置要进行比较的基准。

拆分验证数据集

训练完模型后,还需要对其进行验证,以查看它是否真的对数据进行了概括或拟合过度/不足。手中的数据可以预先分为训练集和验证集。这种拆分具有多种技术-训练测试拆分,随机排序等。您还可以对整个数据集运行交叉验证,以进行更可靠的验证。KFold交叉验证,Leave-One-Out-CV是最流行的方法。

测试选项和评估指标

基于一组需要定义的评估指标来评估模型。对于回归算法,一些常用指标是MSE和R Square。

与分类有关的评估指标要多样化得多-混淆矩阵,F1得分,AUC / ROC曲线等。对每种算法的这些得分进行比较,以检查哪些算法的性能优于其余算法。

抽查算法

拆分数据并定义评估指标后,您需要在for循环中运行一组算法,以检查哪个算法表现最佳。简短的算法列表可以很好地解决您的问题,这是一个反复的尝试,这样您便可以加速研究并进一步调优它们。

可以制作流水线,并可以混合使用线性和非线性算法来检查性能。

比较算法

现场运行测试工具后,您可以轻松查看哪些工具最适合您的数据。始终获得高分的算法应该是您的目标。然后,您可以选择最好的,并对其进行进一步调整以提高其性能。

提高准确性

拥有性能最佳的算法之后,可以调整它们的参数和超参数以提供最好的结果。也可以连接多种算法。

算法调整

维基百科指出“超参数调整是为机器学习算法选择一组最佳超参数”。超参数是无法学习的参数,必须在运行算法之前进行设置。超参数的一些例子包括逻辑回归的损失,随机梯度下降的损失以及SVM的核。

这些参数可以在数组中传递,并且算法可以递归运行,直到找到完美的超参数。这可以通过诸如网格搜索和随机搜索之类的方法来实现。

组合

可以将多种机器学习算法组合在一起,以形成一个更健壮和更优化的模型,该模型相比于单个算法可以提供更好的预测。这被称为合奏。

有2种类型常见的合奏-套袋(Bootstrap-Aggregating)和Boosting。例如,“随机森林”是一种Bagging集成体,它组合了多个决策树并获取输出的总和。

另一方面,Boosting通过适应性学习的方式组合了一组弱学习方式:集合中的每个模型都得到了拟合,从而更加重视数据集中实例中序列中先前模型存在较大错误的实例。XGBoost,AdaBoost,CatBoost是一些例子。

完成模型

验证数据集的预测

当您获得具有最佳超参数和合奏的最佳性能模型时,可以在未知的测试数据集上对其进行验证。

在训练集上创建独立模型

验证后,对整个数据集运行一次模型,以确保在训练/测试时不会遗漏任何数据点。现在,您的模型处于最佳状态。

保存模型以备后用

有了准确的模型后,您仍然需要保存并加载它,以备将来需要时使用。完成此操作的最常用方法是Pickle。

以上就是本文的内容。当然,在机器学习方面,这还不是全部。但这可以用作良好的路线图。对于不同类型的数据/问题,需要自己发挥。在下面评论您的想法,或说一说您是否了解更好和更关键的技术。

半小时训练亿级规模知识图谱,亚马逊AI开源知识图谱嵌入表示框架DGL-KE

中国顶尖的技术社区们在一个群里,会聊什么…

京东智能内容创作算法的演进与实践:基于关键词自动生成摘要

马化腾、马云并列成为中国首富;百度回应“将上线电商直播”;.NET 5 Preview 2 发布 | 极客头条

程序员职场背锅甩锅指南

警惕!新骗术出现:这些虚假二维码生成器已成功盗取 4.6 万美元!

“出道” 5 年采用率达 78%,Kubernetes 的成功秘诀是什么?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4615

    浏览量

    93002
  • 机器学习
    +关注

    关注

    66

    文章

    8423

    浏览量

    132744
  • 数据可视化
    +关注

    关注

    0

    文章

    467

    浏览量

    10309
收藏 人收藏

    评论

    相关推荐

    简述光刻工艺的三主要步骤

    “ 光刻作为半导体中的关键工艺,其中包括3大步骤的工艺:涂胶、曝光、显影。三步骤有一异常,整个光刻工艺都需要返工处理,因此现场异常的处理显得尤为关键”
    的头像 发表于 10-22 13:52 644次阅读

    PLC测试项目的主要内容

    PLC(可编程逻辑控制器)的测试项目主要包括以下几个方面。
    的头像 发表于 09-20 15:00 387次阅读

    改善升压转换器PCB布局的五步骤

    电子发烧友网站提供《改善升压转换器PCB布局的五步骤.pdf》资料免费下载
    发表于 09-04 10:22 0次下载
    改善升压转换器PCB布局的五<b class='flag-5'>个</b><b class='flag-5'>步骤</b>

    构建\"PSOC_Edge_Machine_Learning_Profiler\" 项目,未找到 cy_ml_inference.h文件怎么解决?

    我正试图构建\"PSOC_Edge_Machine_Learning_Profiler\" 项目,但发现一错误。 其中 cy_ml_inference.h 文件未找到。 请提供获取该文件的方法
    发表于 07-23 07:59

    开源项目!自制一太阳能电子墨水屏气象站

    ://github.com/G6EJD/ESP32-e-Paper-Weather-Display/tree/master</span> 该项目的代码适配版本可以在以下仓库
    发表于 07-22 11:46

    简述使用波特五力模型的三步骤

    企业了解行业的竞争环境,从而制定相应的竞争策略。以下是使用波特五力模型的三步骤。 第一步:识别行业 在使用波特五力模型之前,首先需要明确分析的行业范围。行业的定义可以根据产品、服务、市场、地理区域等因素来确定。这一步的目的是确
    的头像 发表于 07-05 14:34 916次阅读

    建立神经网络模型的三步骤

    建立神经网络模型是一复杂的过程,涉及到多个步骤和细节。以下是对建立神经网络模型的三主要步骤的介绍: 第一步:数据准备 1.1 数据收集 数据是神经网络的基础。首先,你需要收集足够的
    的头像 发表于 07-02 11:20 1007次阅读

    昕感科技6英寸硅基半导体芯片项目预计年底全面通线

    江苏昕感科技在半导体芯片制造领域又迈出了重要的一步。由该公司投资建设的6英寸硅基半导体芯片项目,预计将在今年年底全面通线,年产能将达到100万片6英寸硅基半导体芯片。这一项目的成功实施
    的头像 发表于 06-26 10:49 1927次阅读

    M8_6pin母头使用步骤有哪些

    德索工程师说道M8_6pin母头作为电气连接器件,在电路连接中扮演着重要的角色。为了确保其正确、高效地使用,以下将详细介绍M8_6pin母头的使用步骤,并对每一步骤进行详细的解释和说明
    的头像 发表于 05-06 17:50 399次阅读
    M8_<b class='flag-5'>6</b>pin母头使用<b class='flag-5'>步骤</b>有哪些

    SOLIDWORKS教育版使学生了解如何加快设计项目的速度

    在当今信息爆炸的时代,设计项目的速度和效率对于工程专业的学生来说至关重要。SOLIDWORKS教育版作为一款专门为学生设计的3D CAD软件,不仅提供了强大的设计工具,更致力于帮助学生了解如何加快设计项目的速度,提升他们的设计能力和效率。
    的头像 发表于 04-09 16:00 336次阅读

    项目的时候,是不是每一功能做一中断,怎么选择中断去实现功能?

    我想问一下,做项目的时候,是不是每一功能做一中断,怎么选择中断去实现功能,而又可以互相嵌套中断,有什么资料可以参考的
    发表于 04-08 06:00

    硬件测试服务项目的重要性和作用

    硬件测试服务项目是确保硬件设备性能稳定、质量可靠的关键环节。它涉及对硬件产品进行全面、细致的检查和验证,以确保其满足设计要求并具备优良的用户体验。以下是关于硬件测试服务项目的详细介绍。 一、硬件测试
    的头像 发表于 03-28 09:54 782次阅读
    硬件测试服务<b class='flag-5'>项目的</b>重要性和作用

    项目分享|基于ELF 1开发板的远程监测及人脸识别项目

    小伙伴详尽展示这一项目的相关细节。项目实现步骤1.视频监控这一步骤中需要实现两程序:(1)在连接摄像头的ELF1开发板上实现一
    的头像 发表于 03-13 16:41 541次阅读
    <b class='flag-5'>项目</b>分享|基于ELF 1开发板的远程监测及人脸识别<b class='flag-5'>项目</b>

    MES系统项目的正确实施

    电子发烧友网站提供《MES系统项目的正确实施.docx》资料免费下载
    发表于 01-31 09:24 0次下载

    ad转换的四步骤是什么

    将对AD转换的步骤进行详细介绍。 一、采样 采样目的是从连续时间域的模拟信号中提取离散时间域的信号。采样过程需要遵循奈奎斯特定理(Nyquist Theorem),即采样频率必须大于等于信号最高频率的两倍,以保证采样后的信号能够完全恢复
    的头像 发表于 01-15 17:48 7871次阅读
    ad转换的四<b class='flag-5'>个</b><b class='flag-5'>步骤</b>是什么