教程地址:https://pycaret.gitbook.io/docs/get-started/quickstart
回归
PyCaret的回归模块是一个监督机器学习模块,用于估计因变量(通常称为“结果变量”或“目标”)和一个或多个自变量(通常称为“特征”、“预测变量”或“协变量”)之间的关系。
回归的目标是预测连续值,如预测销售额、预测数量、预测温度等。
Setup
此函数初始化训练环境并创建转换管道。在执行任何其他函数之前,必须调用Setup函数。它需要两个必需参数:data和target。所有其他参数都是可选的。
# load sample dataset
from pycaret.datasets import get_data
data = get_data('insurance')
Functional API
from pycaret.regression import *
s = setup(data, target = 'charges', session_id = 123)
OOP API
from pycaret.regression import RegressionExperiment
s = RegressionExperiment()
s.setup(data, target = 'charges', session_id = 123)
比较模型
该函数使用交叉验证训练和评估模型库中所有可用估计器的性能。该函数的输出是具有平均交叉验证分数的评分网格。CV期间评估的指标可以使用get_metrics函数访问。可以使用add_metric和remove_metric函数添加或删除自定义指标。
# functional API
best = compare_models()
# OOP API
best = s.compare_models()
print(best)
分析模型
此功能分析训练模型在测试集上的性能。在某些情况下,它可能需要重新训练模型。
# functional API
evaluate_model(best)
# OOP API
s.evaluate_model(best)
evaluate_model只能在Notebook中使用,因为它使用ipywidget。您也可以使用plot_model函数单独生成绘图。
# functional API
plot_model(best, plot = 'residuals')
# OOP API
s.plot_model(best, plot = 'residuals')
# functional API
plot_model(best, plot = 'feature')
# OOP API
s.plot_model(best, plot = 'feature')
预测
该函数使用训练好的模型预测prediction_label。当数据为无时,它预测测试集上的标签和分数(在设置函数期间创建)。
# functional API
predict_model(best)
# OOP API
s.predict_model(best)
评估指标是在测试集上计算的。第二个输出是pd. DataFrame,其中包含对测试集的预测(参见最后两列)。要在看不见的(新)数据集上生成标签,只需在predict_model函数中传递数据集。
# functional API
predictions = predict_model(best, data=data)
predictions.head()
# OOP API
predictions = s.predict_model(best, data=data)
predictions.head()
Save the model
# functional API
save_model(best, 'my_best_pipeline')
# OOP API
s.save_model(best, 'my_best_pipeline')
要在环境中重新加载模型:
# functional API
loaded_model = load_model('my_best_pipeline')
print(loaded_model)
# OOP API
loaded_model = s.load_model('my_best_pipeline')
print(loaded_model)
高分文章新方法-基于R语言的动态预测模型课程第三期
开课目的及前言
预测模型类文章目前总结起来发展经历了以下三个阶段:
基于传统流行病学的列线图模型(本质都是cox回归及glm回归),简单的统计学分析模型,是模型依赖的方法,临床上实际情况很难满足其前提假设,实际效果不好。
基于机器学习/深度学习的预测模型的构建(在数据上提高了维度,在算法上引入了机器学习),虽然算法上引入了机器学习模型,处理数据更加灵活,模型的假设也更少。但是在使用的数据上还是患者的一次基线数据进行预测,与临床实际不符。
基于纵向数据的动态预测模型(基于纵向多次随访数据,模型应用联合模型等动态预测模型方法),应用患者的多次随访数据对最终的生存结果进行预测,从数据和方法上都更类似于临床实际。
考虑到动态预测模型有以下特点,因此必然是后续高分文章的必备方法:
数据上必须有同一个患者的多次随访数据,相对于既往横断面一次基线数据,数据的收集难度更大,而且动态预测模型需拟合纵向的线性混合模型,因此需要的数据量较大。这就提示我们如果能收集到如上数据更加容易发高分文章。
应用方法学动态预测模型需首先掌握普通生存分析及普通预测模型的方法,并且还需要熟悉纵向数据分析的广义线性混合模型,再次基础上还需要掌握tidyverse语法基础来将自己的数据转换为满足函数要求的纵向数据,另外对于联合模型,模型的结合形式及变量选择也均需要从临床背景及统计学方法考虑。
授课老师
1 灵活胖子
双一流学校肿瘤学博士毕业,目前就职于国内五大肿瘤中心之一。科研方向为真实世界研究,生物信息学分析及人工智能研究。目前以第一或共同第一作者身份发表SCI论文10余篇,累计IF50+。目前与国内多个院校及医院有科研合作。联合翻译小组同学,在国内第一次将jmbayes2及dynamicLM全文翻译为中文并在公众号发表。
2 Rio
医学博士,临床医生。发表中英文文章 10 余篇。R 与 python 爱好者。