Py之scikiti -survival:scikiti -survival库的简介、安装、使用方法之详细攻略

简介: Py之scikiti -survival:scikiti -survival库的简介、安装、使用方法之详细攻略

scikiti -survival库的简介


        scikiti -survival是一个建立在scikiti -learn之上的用于生存分析的Python模块。它可以利用scikit-learn的力量进行生存分析,例如进行预处理或交叉验证。

        scikiti -survival(也称为事件发生时间或可靠性分析)的目的是建立协变量和事件发生时间之间的联系。生存分析与传统机器学习的不同之处在于,部分训练数据只能被部分观察到——它们被审查了。例如,在临床研究中,患者通常在一个特定的时间段内被监测,并记录在这个时间段内发生的事件。如果一个病人经历了一个事件,事件的确切时间可以被记录-病人的记录是不被审查的。与此相反,正确删除的记录指的是在研究期间没有发生事件的患者,并且不知道在研究结束后是否发生了事件。因此,生存分析要求模型考虑到这种数据集的独特特征。


Requirements


Python 3.5 or later

cvxpy

cvxopt

joblib

numexpr

numpy 1.12 or later

osqp

pandas 0.21 or later

scikit-learn 0.22 or 0.23

scipy 1.0 or later

C/C++ compiler



scikiti -survival库的安装


pip install scikit-survival

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-survival

conda install -c sebp scikit-survival


image.png


image.png




scikiti -survival库的使用方法


1、退伍军人管理局肺癌试验


from sksurv.datasets import load_veterans_lung_cancer

data_x, data_y = load_veterans_lung_cancer()

data_y

import pandas as pd

pd.DataFrame.from_records(data_y[[11, 5, 32, 13, 23]], index=range(1, 6))

import matplotlib.pyplot as plt

from sksurv.nonparametric import kaplan_meier_estimator

time, survival_prob = kaplan_meier_estimator(data_y["Status"], data_y["Survival_in_days"])

plt.step(time, survival_prob, where="post")

plt.ylabel("est. probability of survival $\hat{S}(t)$")

plt.xlabel("time $t$")

print(data_x["Treatment"].value_counts())

for treatment_type in ("standard", "test"):

   mask_treat = data_x["Treatment"] == treatment_type

   time_treatment, survival_prob_treatment = kaplan_meier_estimator(

       data_y["Status"][mask_treat],

       data_y["Survival_in_days"][mask_treat])

 

   plt.step(time_treatment, survival_prob_treatment, where="post",

            label="Treatment = %s" % treatment_type)

plt.ylabel("est. probability of survival $\hat{S}(t)$")

plt.xlabel("time $t$")

plt.legend(loc="best")

for value in data_x["Celltype"].unique():

   mask = data_x["Celltype"] == value

   time_cell, survival_prob_cell = kaplan_meier_estimator(data_y["Status"][mask],

                                                          data_y["Survival_in_days"][mask])

   plt.step(time_cell, survival_prob_cell, where="post",

            label="%s (n = %d)" % (value, mask.sum()))

plt.ylabel("est. probability of survival $\hat{S}(t)$")

plt.xlabel("time $t$")

plt.legend(loc="best")



 


相关文章
|
存储 缓存 C语言
TCM、ITCM、DTCM
TCM、ITCM、DTCM
2850 0
|
计算机视觉 Python
OpenCV多模板匹配讲解与匹配汽车实战(附Python源码)
OpenCV多模板匹配讲解与匹配汽车实战(附Python源码)
875 0
OpenCV多模板匹配讲解与匹配汽车实战(附Python源码)
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS三
本文介绍了ArkTS的基础语法,包括常量、命名规则、数组及其常用函数,以及函数的定义与使用,涵盖匿名函数和箭头函数的区别。通过具体示例,帮助读者快速掌握ArkTS编程技巧,踏上Harmony OS开发之旅。君志所向,一往无前!
1006 1
Harmony OS开发-ArkTS三
|
传感器 数据采集 算法
《边缘算力困局突破:智能体模型动态调度全解析》
边缘设备如智能摄像头、传感器等在生活和生产中广泛应用,但其算力有限,难以高效运行复杂智能体模型。为解决这一问题,动态调度策略应运而生。通过任务优先级调度、模型分区与动态加载以及基于网络状态的调度,可灵活调整资源分配,优化任务执行效率。这些策略确保高优先级任务优先处理,按需加载模型模块,并根据网络状况合理分配计算任务。然而,动态调度面临实时监测和额外开销等挑战,需要优化算法和技术支持。成功实现动态调度将推动边缘计算在自动驾驶、智能安防、医疗等领域发挥更大潜力,带来深远变革。
604 6
|
安全 Java Shell
Android发送广播时报错:Sending non-protected broadcast xxxxxxx from system xxxxxxxxxx
Android发送广播时报错:Sending non-protected broadcast xxxxxxx from system xxxxxxxxxx
2425 0
|
Unix 编译器 iOS开发
Zig 环境安装
Zig 环境安装
1319 2
Zig 环境安装
|
并行计算 PyTorch 编译器
|
机器学习/深度学习 存储 TensorFlow
使用Python实现深度学习模型:智能金融风控与信用评估
【7月更文挑战第25天】 使用Python实现深度学习模型:智能金融风控与信用评估
11909 7
|
网络协议
UDP协议在网络通信中的独特应用与优势
UDP(用户数据报协议)作为关键的传输层协议,在网络通信中展现出独特优势。本文探讨UDP的无连接性及低开销特性,使其在实时性要求高的场景如视频流、在线游戏中表现优异;其不保证可靠交付的特性赋予应用程序自定义传输策略的灵活性;面向报文的高效处理能力及短小的包头设计进一步提升了数据传输效率。总之,UDP适用于高速、实时性强且对可靠性要求不高的应用场景,为网络通信提供了多样化的选择。