生物制药的质量受多种因素影响。了解这些因素是向患者提供最高质量产品并符合监管要求的前提。JMP 数据探索功能简单易用。然而,大型数据集内部或数据集之间的相关性通常很复杂,需要使用标准 JMP 环境中不具备的工具。
另一方面,Python 的机器学习功能几乎可以解决所有数据科学问题。然而,对于许多领域专家来说,使用 Python 程序代码往往比较困难。为了解决这一难题,我们展示了如何将 Python 集成到 JMP Pro 中,作为扩展功能的替代方案,用于解决机器学习问题。
我们使用 JMP 日志来引导用户完成机器学习工作流程。数据可视化步骤,例如数据插值和其他数据清理措施,均使用 JMP 完成。机器学习算法的应用和验证则使用 Python 和 Scikit-learn 管道完成。最后,结果可视化也使用 JMP 完成,以便用户能够轻松地调整图表。
我们展示了如何使用该工具来识别对特定输出参数影响最大的因素。

今天我想借此机会和大家谈谈如何将Python和JMP集成起来,以利用JMP的数据探索功能和Python的机器学习功能。但在此之前,我首先要介绍一下我们为什么要这样做。
我在Rentschler Biopharma工作,我们通过CDMO(合同研发生产)模式生产生物制药。当然,我们的目标是了解并改进生产流程。但要做到这一点,我们必须先了解流程,然后才能交付尽可能最好的产品质量。
当你想到一个典型的生产流程或工艺步骤时,你会看到左边这里展示的是色谱柱。这是我们纯化蛋白质的典型步骤之一。我们知道有很多因素会影响这个工艺步骤,例如上样密度、流速、pH值或温度。
当然,每个生产过程都包含许多这样的步骤。例如,从生物反应器开始,到过滤,再到多个色谱步骤或渗滤。每个工艺步骤都受到多种因素的影响。
在工艺表征阶段,也就是任何开发项目的初期,我们通常会采用实验设计方法。例如,我们会改变流速、pH值和进料密度,观察它们之间的相互作用以及它们单独或共同作用对产品质量的影响。这对于启动工艺性能验证(PPQ)活动或商业化生产流程来说,是一个良好的开端。
然而,一段时间后,您将从商业生产中积累大量数据。当然,这些数据是随机的,但它可以大致说明,如果您生产 100 个批次,就会获得各种各样的产品质量数据。您的想法是了解产品质量是如何受到某种因素影响的,或者是否存在您在工艺表征中遗漏的因素。为此,机器学习是理想的工具。
然而,大多数中小企业专家虽然了解相关流程,但并不熟悉机器学习,也未必擅长编写代码。另一方面,信息学家往往对生物过程缺乏了解,因此也可能出现一些非常滑稽的预测结果。
这里的想法是使用中小企业容易使用的 JMP,最大限度地利用数据,并运用机器学习,而无需任何人注意到其背后的代码。
为此,我使用 JMP 日志工具,它易于使用,稍后我会向您展示。至于工作流程,我们使用 JMP 处理一些流程步骤,然后在后台使用 Python 处理其他流程,但用户永远不会看到任何 Python 代码。
例如,对于 JMP,你会探索数据、清理数据、缩放数据或创建特征,所有这些典型的步骤也会浪费任何机器学习科学家的大部分时间。
之后,这些数据会直接传递给 Python,执行一些典型的机器学习任务,例如模型选择或超参数调优。然后,数据会返回到 JMP 进行可视化。当然,如果您想根据这些数据生成报告,Python 也可以轻松完成,无需用户自行编写代码。
例如,在考虑参数缩放时,机器学习算法会倾向于所有参数处于同一尺度,否则某个因素可能会主导模型。当然,这取决于所使用的算法。但总的来说,缩放有助于确保所有参数具有可比性,避免任何因素在模型中占据优势。
为此,我们使用 JMP 日志记录工具,我现在就来演示一下。日志记录工具的界面如下所示。我们使用初始数据,当然可以是产品质量数据,或者也可以使用随机数据的示例表格。
您经常会发现,并非所有数据类型都正确。例如,您可以看到,这里的前三列是分类数据。为了算法的正常运行,您可能需要将它们转换为数值数据。另一方面,您可能有一些因子,它们现在是连续的,但您希望将它们转换为分类数据。这也可以很容易地实现。
然后,还有一种经常发生的情况,那就是数据缺失。你看,pH 值那一列就缺少一些数据。这时你可能会想,该怎么处理呢?其实很容易就能填补。你可以用预测值来填充,但假设我们用平均值或中位数来填充,那就更简单了。我们取平均值,它会自动填充。
最后,我们来看缩放方法。假设你想在同一坐标轴上进行缩放,这就是标准化。这里有一些因子。你想对它们进行独热编码。只需点击一下即可。然后你可能还有其他对数因子。思路相同。只需进行对数正态变换,以及一些你可能也想缩放的浓度值。
最后,你当然仍然会得到结果列和许多转换后的列,这些列可以用于任何模型。然后你可以将其交给 Python 处理。你只需要找到你想预测的内容。比如,你可能觉得弹性网络不错,那么哪种回归模型最好呢?我们不妨都用一下,看看它们之间是否存在差异。然后你可以在后台进行一些超参数调优,看看它们的性能如何。当然,这对计算机来说会稍微消耗一些资源。
通过这两个模型,我们可以看到它们都识别出了三个影响最终柱状图预测的因素,例如 pH 值、时间或其他时间点。本质上,它们的作用相同,这非常好。因此,这三个因素可能正是您感兴趣并想要深入研究的。最后,感谢您的关注。