Bohrium
robot
新建

空间站广场

论文
Notebooks
比赛
课程
Apps
我的主页
我的Notebooks
我的论文库
我的足迹

我的工作空间

任务
节点
文件
数据集
镜像
项目
数据库
公开
AI4S Cup学习赛:机器学习(ML)竞赛流程
AI4S Cup-Getting Started
AI4S Cup-Getting Started
hyb
发布于 2023-11-15
推荐镜像 :Basic Image:bohrium-notebook:2023-04-07
推荐机型 :c2_m4_cpu
2
一、什么是机器学习?
二、问题分析
赛题分析
(1)赛题背景
(2)数据理解
(3)评价指标
什么是分类任务?
为什么是二分类任务?
三、数据探索
数据探索是什么?
为什么要进行数据探索?
数据探索要明确的目的
数据探索的关键步骤
四、数据清洗
什么是数据清洗?
数据清洗的重要性
五、特征工程
六、模型训练
七、模型验证
重要概念介绍
八、模型评估
重要概念介绍

 以下内容由Datawhale社区贡献,帮助参加学习赛的选手了解机器学习的竞赛流程。

代码
文本

一、什么是机器学习?

机器学习是一个概念,它允许计算机自动从示例和经验中学习,并在没有明确编程的情况下模仿人类的决策。 机器学习是人工智能的一个分支,使用算法和统计技术从数据中学习并从中得出模式和隐藏的见解。例如我们学习开车时,希望提高自己的车技,这可以通过一些驾驶的测试来获得具体的指标分数。我们还要明确学习是基于经验的,也就是我们经历过的事情,比如我们在驾驶过程中遇到的情况以及当时的具体的动作和结果,这就是数据。所以我们可以将机器学习理解为通过机器学习技术,只需要拥有任务的数据,就可以得到解决任务的算法。

代码
文本

二、问题分析

赛题分析

(1)赛题背景

  • 理解题目永远是最先也是最重要的一步。 准确理解题目想要表达的意思能够避免我们走许多弯路。本次赛事为AI for Science赛事,聚焦医疗领域,旨在通过AI技术预测药物类别,从而降低不断上涨的医疗保健成本。本赛题实质上为二分类任务,即预测一个药物分子是否能成为中枢神经系统药物。
  • 一定要深入背景。 竞赛本身就是因特定的场景而存在的,同时很多操作又会因为场景不同而大不一样。
  • 为了进一步深入理解赛题,还需要对数据有一个初步的认识。

(2)数据理解

在这个阶段,并不需要对数据有特别深入的理解,只需要做基本的分析即可。在后面的数据探索阶段,深入理解数据,从数据中发现关键问题。

(3)评价指标

机器学习的评价指标是用于衡量模型性能的重要工具。这些指标可以从不同的角度对模型的表现进行评估,从而帮助我们更好地理解和改进模型。以下是一些常见的机器学习评价指标的通俗介绍:

  • 准确率(Accuracy):这是最简单的评价指标之一,它表示模型预测正确的样本数占总样本数的比例。如果模型的准确率很高,那么模型在大多数情况下都能做出正确的预测。
  • 精确率(Precision)和召回率(Recall):精确率表示模型预测为正类的样本中真正为正类的比例,正类是我们希望模型能够准确预测的类别,例如,在垃圾邮件检测中,正类就是垃圾邮件。而召回率表示所有真正为正类的样本中被模型预测为正类的比例。这两个指标通常用于不平衡数据集,不平衡数据集是指在分类问题中,各类别的样本数量分布极不均匀的情况。以垃圾邮件检测为例,如果垃圾邮件的样本数量远大于不是垃圾邮件的样本数量,那么这个数据集就被称为不平衡数据集。此外,在垃圾邮件检测这个例子中,我们希望尽可能找出所有的垃圾邮件,即使这可能会导致一些正常的邮件被误判为垃圾邮件。原因是,错过一个真正的垃圾邮件(即阳性实例)可能会给使用者带来更大的损失,如接收到恶意链接或者病毒邮件。相较而言,一个正常的邮件被误判为垃圾邮件(即假阳性),虽然会带来一些不便,但通常不会造成严重的后果。因此,在这种情况下,我们更愿意牺牲一些精确率,以提高召回率,从而尽量找出所有的垃圾邮件。
  • F1分数(F1-score):F1分数是精确率和召回率的调和平均值,它试图在精确率和召回率之间找到一个平衡点。当我们既关心精确率也关心召回率时,可以使用F1分数作为评价指标。
  • ROC曲线和AUC值:ROC曲线是一种用来衡量机器学习模型性能的工具。意思是我们可以通过这个曲线来比较不同的模型在不同的阈值下的表现。AUC值是“ROC曲线”上的一个指标,这个值的范围是0到1,越接近1表示模型的性能越好。 以上只是机器学习评价指标的一部分,实际上还有很多其他的指标,如均方误差、平均绝对误差等,它们在不同的任务和数据集上有着不同的应用。选择合适的评价指标是机器学习项目成功的关键步骤之一,它可以帮助我们发现模型的问题,从而进行针对性的优化。 而本次赛题的评价指标为:F2-score。 F2-score是一种用于评估二元分类模型性能的指标,它综合考虑了精确率和召回率。在计算F2-score时,召回率的权重会高于精确率,这是因为β值设定为2。换句话说,当我们认为召回率更加重要时,就可以选择使用F2-score作为评价指标。 数学上来看,F2-score的计算公式为:F2-score = 2 * (Precision * Recall) / (Precision + Recall)。其中,Precision(精确率)表示所有被预测为正例的样本中真正为正例的比例,Recall(召回率)则表示所有真正的正例中被正确预测为正例的比例。

什么是分类任务?

在机器学习中,分类任务是针对输入数据中的给定示例预测预测其类别标签的预测性建模问题。这个问题听起来很专业,但其实就是让机器来判断一个事物属于哪个类别。 在分类任务中,有四种不同的类型,分别是二分类、多类别分类、多标签分类和不平衡分类。其中,二分类就是要让机器判断一个事物是好的还是坏的;多类别分类则是要让机器判断一个事物属于哪个类别,比如狗和猫;多标签分类则是要让机器判断一个事物同时属于哪些类别;而不平衡分类则是要让机器在一个类别比另一个类别更多的情况下,仍然能够准确地进行分类。

  • 二分类是一种简单的分类任务,它只有两个类别需要区分,比如在本场赛题中需要判断;预测一个药物分子是否能成为中枢神经系统药物;
  • 多类别分类则需要从多个可能的类别中选出一个类别,例如手写数字识别;
  • 多标签分类则是指样本可以同时拥有多个标签,比如一篇文章可以同时被标记为“科技”、“新闻”等多个标签;
  • 不平衡分类则是在样本类别极度不平衡的情况下进行的分类,比如在信用卡欺诈检测中,欺诈行为和正常行为的样本比例可能会极其悬殊。 这些分类任务的目标都是让机器学习模型通过训练数据自我学习并不断改进,使得对于新的输入数据,模型能够给出准确的预测。

为什么是二分类任务?

这个赛题是一个典型的二分类任务。二分类任务是指将数据分为两个不同的类别,这是机器学习中的一种基本问题。在这个特定的赛题中,目标是确定一种药物是否具有成为中枢神经系统(CNS)药物的潜力。换句话说,就是预测每个化合物或药物是属于中枢神经系统药物还是非中枢神经系统(non-CNS)药物的两个不同类别之一。 以更具体的例子来解释,假设我们有一种算法可以分析一个药物分子的各种特性,然后基于这些特性输出一个结果,比如“是”或“否”,表示这个药物是否有可能成为中枢神经系统药物。这就是一个二分类任务,因为只有两种可能的结果:是或否。 对于这种二分类问题,我们可以使用各种机器学习算法来解决,如逻辑回归等。在训练过程中,算法会根据输入的药物分子特性和对应的标签(是否是中枢神经系统药物),通过不断的学习和调整,使得对于新的、未知的药物分子,算法能够给出准确的预测。

代码
文本

三、数据探索

数据探索是什么?

机器学习数据探索,也被称为探索性数据分析,是机器学习中至关重要的步骤。 在这个过程中,通过作图、制表、方程拟合、计算特征量等手段来理解和揭示数据集的内在结构和规律。

为什么要进行数据探索?

数据探索是关键的数据分析阶段,它有多重目的。首先,数据探索有助于深入了解数据集,包括数据的规模、结构、分布和潜在模式。其次,它用于发现数据中的趋势、关联和异常情况,提供了对数据的初步见解。数据探索还有助于检测和处理异常值,提高数据质量。此外,它支持假设的生成,为后续分析提供指导

数据探索要明确的目的

  • 数据集的基本情况:数据集的大小、数据类型(数值型、分类型等)、特征数量等。
  • 重复值、缺失值和异常值的情况:检查数据集中是否存在重复的记录,以及各个特征中是否存在缺失值和异常值。
  • 是否存在时间信息:查看数据集中是否有表示时间的字段,如日期、时间戳等。
  • 标签类别分布是否均衡:统计各个类别的样本数量,判断类别分布是否均衡。如果类别分布不均衡,可能需要采取过采样、欠采样或生成合成样本等方法进行处理。

数据探索的关键步骤

具体来说,机器学习数据探索包括以下几个关键步骤:

  1. 进行数据总览以了解数据集的基本特性;
  2. 检查数据中是否存在缺失值和异常值;
  3. 查看预测值的分布情况;
  4. 将特征分为类别特征和数值特征,并对这两种特征进行更深入的分析
  5. 尝试理解变量间的相互关系以及变量与预测值之间的关系。 值得注意的是,由于数据的输入质量对输出结果有决定性影响,因此数据探索阶段通常会占据实际项目大部分时间的70%,包含了数据预处理、特征选择、降维等重要环节。 总的来说,机器学习数据探索是一种全面理解和描述数据集的手段,为后续的特征工程和模型建立提供了基础。
代码
文本

四、数据清洗

什么是数据清洗?

数据清洗(Data cleaning)是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。数据清洗是数据预处理的第一步,也是保证后续结果正确的重要一环。若不能保证数据的正确性,我们可能得到错误的结果,比如因小数点错误而造成数据放大十倍,百倍甚至更大等。 举个例子,例如数据有缺失时,我们可以对数据进行删除、替换、插补等方法进行修复,这些方法便被称为数据清洗。

数据清洗的重要性

数据清洗的重要性不可低估,因为它直接影响着数据的质量和可用性,进而对数据分析、决策制定和机器学习模型的准确性产生深远的影响。不经过数据清洗的原始数据可能包含缺失值、异常值、重复记录、格式不一致、错误数据、不一致性和不规范之处,这些问题会导致分析的不准确性、误导性和可信度低等问题的出现,会极大地影响后续模型的训练。

代码
文本

五、特征工程

特征工程指的是把原始数据转变为模型训练数据的过程,目的是获取更好的训练数据特征。特征工程能使得模型的性能得到提升,有时甚至在简单的模型上也能取得不错的效果。 常见特征工程的步骤通常包括以下几个方面:alt 1.png 在实际运用中,我们还得根据数据集的特点等各方面因素考虑,在各个步骤中选择合适的方法,从而使得模型达到最好的效果。

代码
文本

六、模型训练

我们人类在学习新知识时,需要不断地练习和重复,才能够掌握得更好。机器学习中的模型训练也是类似的,机器需要不断地接受数据的输入,然后根据输入数据进行学习和调整,以便能够更好地完成任务。 在机器学习中,模型训练就是指机器通过输入数据来不断地调整自己的参数,从而使得机器在完成特定任务时能够表现得更好。这个过程需要不断地重复,直到机器能够在给定的数据集上表现得足够好为止。 在处理好数据集后,需要选择合适的算法和模型结构。不同的任务可能需要使用不同的算法和模型结构,因此需要根据具体的任务选择合适的算法和模型结构。其次,使用选择的算法和模型结构,对模型进行训练。在训练过程中,模型会不断地从数据中学习,并对自己的参数进行调整。这个过程可能需要花费很长时间,特别是当数据集很大时。 以下是一些常见的机器学习模型:

  1. 线性回归模型:线性回归模型是一种用于预测数值型数据的模型。它基于输入特征和目标变量之间的线性关系,通过拟合一条直线来进行预测。
  2. 逻辑回归模型:逻辑回归模型是一种用于预测二元分类问题的模型。它通过将输入特征与一个或多个参数相乘,并将结果传递到一个sigmoid函数中来进行预测。
  3. 决策树模型:决策树模型是一种基于树形结构的分类模型。它通过将输入特征划分为不同的类别,并将每个类别映射到一个叶子节点上来进行预测。
  4. 随机森林模型:随机森林模型是一种基于决策树的分类模型。它通过组合多个决策树来进行预测,并使用投票或平均值来确定最终的预测结果。
  5. 支持向量机模型:支持向量机模型是一种用于分类和回归问题的模型。它通过寻找一个最优的超平面来将输入数据分成两个类别,并使用间隔来衡量模型的性能。
  6. 神经网络模型:神经网络模型是一种基于人工神经元的模型,它通过多层神经网络来学习输入数据的特征,并进行分类或回归预测。 这些模型都有不同的优缺点和适用场景,需要根据具体的任务和数据集来选择合适的模型。
代码
文本

七、模型验证

一旦模型训练完成,需要对其性能进行评估,并进行优化。

重要概念介绍

  训练集用于训练模型,通过迭代优化模型参数,使得模型能够准确地预测训练集中的样本。
  验证集用于调整模型的超参数,例如学习率、正则化参数等,以提高模型的泛化能力。在训练过程中,可以通过验证集来监控模型的性能,并及时停止训练,以避免过拟合。
  测试集用于最终评估模型的性能,确保模型在新数据上的泛化能力。在训练和验证过程中,模型可能对训练集和验证集过于拟合,导致在测试集上的表现较差。因此,使用测试集来评估模型的性能是至关重要的。 常见的模型验证方法就是把数据集随机分为训练集,验证集和测试集,从而评估模型在新数据上的表现,从而验证模型的有效性和泛化能力。然后用训练集训练模型,用验证集验证模型,根据情况不断调整模型,选择出其中最好的模型,再用训练集和验证集数据训练出一个最终的模型。 当然我们也可以使用交叉验证。那么,什么是交叉验证呢?交叉验证(Cross-Validation)是机器学习中常用的一种模型评估方法,用于评估模型的性能和泛化能力。它的主要目的是在有限的数据集上,尽可能充分地利用数据来评估模型,避免过拟合或欠拟合,并提供对模型性能的更稳健的估计。 交叉验证的基本思想是将原始的训练数据划分为多个子集(也称为折叠),然后将模型训练和验证进行多次循环。在每一次循环中,使用其中一个子集作为验证集,其他子集作为训练集。这样可以多次计算模型的性能指标,并取这些指标的平均值作为最终的模型性能评估结果。alt 2.png

代码
文本

八、模型评估

重要概念介绍

  泛化能力:泛化能力决定了机器学习模型在接受训练数据集训练后对新数据进行分析和正确预测的能力。这种新鲜样本可能具有与训练数据集不同的特征,但模型应能适应这些新样本并给出准确的预测。
  回归:是一种预测任务,回归试图找到一个函数,该函数可以精确地描述自变量和因变量之间的连续关系。假设我们有一个包含房价和房子特性(如面积、房间数量等)的数据集。在这种情况下,我们可以使用回归模型根据这些特性来预测房价。回归问题通常用于预测一个具体的数值,如预测房价、未来的天气情况等等。
  聚类:作为一种无监督学习方法,是机器学习中的一种重要技术。它主要用于发现数据中的相似群组或“簇”,这些相似群组中的数据成员在某些特征上彼此相似,与其他簇中的数据成员有所不同。 在实际应用中,聚类可以用于各种场景,例如市场细分、社交网络分析、图像分割等。通过将数据集划分为若干个簇,每个簇可能对应于一些潜在的概念,这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。
  均方误差:是反映估计量与被估计量之间差异程度的一种度量。它是各数据偏离真实值差值的平方和的平均数。在回归问题中,均方误差通常用作损失函数,用于测量预测值与真实值之间的差异。例如,可以根据公寓的各种属性估算其价格,然后使用均方误差来量化预测价格与实际价格之间的差距。均方误差越小,模型的预测效果越好。
  平均绝对误差:是一种常用的度量标准,用于衡量预测模型在连续性数据上的预测精度。具体来说,它是预测值与真实值之间的平均绝对差异,表示预测值与真实值之间的平均偏差程度。

模型评估在机器学习中扮演着至关重要的角色,它涉及对模型性能的量化分析,以确保模型具有良好的泛化能力。模型评估方法通常分为多个方面,其中包括预测误差、拟合程度和模型稳定性等。 对于不同类型的机器学习任务,如分类、回归、聚类等,评估指标也会有所不同。例如,在回归模型中,常用的评估指标包括均方误差、平均绝对误差等。而在分类问题中,准确率、精确率、召回率、F1分数等则常被用于评估模型的性能。 模型评估的核心目标是衡量模型在未知数据上的泛化能力。为了实现这一目标,通常会将数据集划分为训练集和测试集,通过在测试集上进行预测来评估模型的表现。此外,交叉验证也是常见的评估方法,它可以更准确地估计模型在不同数据子集上的性能。 除了传统的评估指标外,随着研究的深入,一些新兴的评估方法也逐渐崭露头角。模型的效率、计算资源耗用量等因素也在实际应用中具有重要意义。

代码
文本
AI4S Cup-Getting Started
AI4S Cup-Getting Started
点个赞吧
本文被以下合集收录
AI4S学习赛
小炒砂糖桔
更新于 2023-11-15
4 篇0 人关注
推荐阅读
公开
文献案例|机器学习在构建材料相图中的应用
相图文献案例半监督学习
相图文献案例半监督学习
MileAway
发布于 2023-12-27
1 赞2 转存文件
公开
漫谈AI时代的科学计算与物理建模|导语一:where did we stand
AI4S
AI4S
Linfeng Zhang
更新于 2024-08-04
16 赞4 转存文件