建立脑影像机器学习模型的step-by-step教程

机器学习的日益普及导致了一些工具的开发,旨在使这种方法的应用易于机器学习新手 。这些努力已经产生了和这样的工具,这并不需要任何编程技能 。然而,尽管这些工具可能非常有用,但它们的简单性是以透明度和灵活性为代价的 。学习如何编程一个机器学习管道(即使是一个简单的)是一个很好的方式来洞察这种分析方法的优势,以及沿着机器学习管道可能发生的扭曲 。此外,它还允许更大的灵活性,如使用任何机器学习算法或感兴趣的数据模式 。尽管学习如何为机器学习管道编程有明显的好处,但许多研究人员发现这样做很有挑战性,而且不知道如何着手 。
在本文中,我们提供了一个循序渐进的教程,介绍如何使用-learn实现一个标准的有监督机器学习管道,-learn是编程语言中一种广泛流行且易于使用的机器学习库 。在流程的每个步骤中,我们都提供了简短的基本原理和对代码的解释,当相关的时候,我们会向读者提供有用的外部资源,这些资源提供了进一步的示例或更深入的讨论 。示例代码遵循第2章中描述的工作流程 。鼓励读者参考本章,以获得机器学习管道主要元素的更深入的理论解释 。
本教程的目标是机器学习初学者 。由于这个原因,它需要最少的编程知识 。但是,鼓励读者熟悉基本的 。是一种广泛使用的编程语言,有很多可用的资源 。中级用户也会发现本教程很有用 。示例代码的结构方式很容易用其他技术删除、添加或替换某些技术 。这样,读者可以尝试不同的方法,并在代码的基础上开发更复杂的管道 。该实现遵循严格的方法,以避免双重倾斜等常见错误,并获得可靠的结果 。本文发表在本文发表在andto Brain。
我们首先简要介绍如何安装和所有必要的库,以及如何访问该代码的数据集和在线版本 。
19.2安装和主要库
在本教程中,源代码是使用 3编写的 。和大多数编程语言一样,是在库中组织的 。每个库都包含一组用于特定目的的专用函数 。在本教程中,我们使用以下库:
和numpy是被广泛使用的用于加载、操作和汇总数据的库 。虽然用于处理表格数据(例如,数据排列在表格中,有行和列),numpy是一个更通用的库 。我们还使用科学计算的基础库scipy运行一些单变量统计数据,以探索数据并为统计分析做准备 。和是用于数据可视化的库 。这在研究数据或总结结果时非常有用 。最后,-learn,或者更通俗的说法是,可以说是最流行和最容易访问的机器学习库 。它是一个高级库,这意味着许多复杂的应用程序被封装在更简单、更短和易于使用的函数中 。
要运行本教程中的示例代码,读者需要安装 3以及上述所有库 。最简单的方法是下载并安装 。这是用于科学计算的编程语言的免费和开源发行版,旨在简化包的管理和部署 。
19.3如何读本章
在本章中,读者会发现不同的文本风格区分不同种类的信息 。代码块(称为代码片段)将出现在下面的框中 。代码片段有编号,以便更容易地引用分析的不同阶段 。每个代码段的输出都显示在代码下面 。
在某些情况下,一行代码可能太长,必须分成两行 。这将用\表示(注意这不是在代码的在线版本中) 。示例代码的在线版本是用笔记本格式编写的 。>>>符号表示命令的输出将在笔记本中显示 。对于某些代码段,输出可能太长,在这种情况下,只显示输出的一部分 。这将被标记为“... .” 。文本中对主要库或特定库中特定工具的引用以新字体显示 。
19.4使用大脑形态测量学对精神分裂症患者和健康对照组进行分类
本教程中使用的例子涉及到使用神经解剖学数据对精神分裂症患者(SZ)和健康对照组(HC)进行分类 。模拟输出的数据集包含了大脑101个区域的灰质体积和厚度,以及每个参与者的ID、年龄、性别和诊断结果 。图19.1展示了本教程最后一个流程的概要 。为了本练习的目的,我们假设特征提取,即从原始结构磁共振成像(MRI)图像中提取体积和厚度值的过程已经完成 。因此,我们从为机器学习分析准备数据开始我们的教程 。在这个步骤中,我们将探索缺失数据、混杂变量和类别不平衡的数据,并讨论如何解决这些问题 。接下来,我们定义了具有10次迭代(外部CV)的交叉验证(CV)方案 。在每次迭代中,训练集和测试集分别进行数据转换,以避免知识泄漏 。然后将支持向量机(SVM)模型用于训练集 。SVM依赖于超参数C 。为了决定使用C的哪个值,我们创建了一个包含10折的内部CV 。这意味着,对于我们想要测试的每一个C值,一个SVM模型都要训练和测试10次;对于给定的C值,最后的性能是通过平均10个性能来估计的 。然后使用最优的C参数在整个训练集上训练SVM模型 。该训练模型的性能在测试集中进行测量 。整个过程重复10次(即外部CV的10次迭代) 。一旦完成,我们的SVM模型的最终性能是通过平均10个外部折的性能指标来计算的 。最后,我们调查哪些特征在驱动模型的预测中更重要,并测试我们的模型的最终性能的统计显著性 。