生存函数(Survival function)

news2024/11/29 6:33:32

文章目录

  • 1. 定义
  • 2. 生存函数的例子
  • 3. 参数生存函数
    • 3.1 指数生存函数(Exponential survival function)
    • 3.2 威布尔生存函数(Weibull survival function)
    • 3.3 其他参数生存函数
  • 4. 非参数生存函数
  • 5. 性质
  • 6. Kaplan–Meier estimator
    • 6.1 基本概念
  • 7. 比例风险模型(Proportional hazards model)
    • 7.1 背景
    • 7.2 问题定义
    • 7.3 The Cox model
      • 7.3.1 介绍


生存函数(Survival function)是一个函数,它给出了患者、设备或其他感兴趣的对象在特定时间后存活的概率。生存函数也称为幸存者函数(survivor function)或可靠性函数(reliability function)。可靠性函数在工程中很常见,而生存函数用于更广泛的应用,包括人类死亡率。生存函数是生命周期的互补累积分布函数(complementary cumulative distribution function)。有时互补的累积分布函数被统称为生存函数。

1. 定义

设生命周期 T T T 为区间 [ 0 , ∞ ) [0,\infty) [0,) 上具有累积分布函数 F ( t ) F(t) F(t) 和概率密度函数 f ( t ) f(t) f(t) 的连续随机变量。其生存函数或可靠性函数为:

S ( t ) = P ( { T > t } ) = ∫ t ∞ f ( u )   d u = 1 − F ( t ) S(t)=P(\{T>t\})=\int _{t}^{\infty }f(u)\,\mathrm{d}u=1-F(t) S(t)=P({T>t})=tf(u)du=1F(t)

2. 生存函数的例子

下图显示了假设生存函数的示例。 x x x 轴是时间。 y y y 轴是受试者存活的比例。这些图表显示了受试者在时间 t t t 之后存活的概率。

图 四种生存函数


例如,对于生存函数 1,生存时间超过 t = 2 t = 2 t=2 个月的概率为 0.37。也就是说,37% 的受试者存活超过 2 个月。

图 生存函数 1


对于生存函数 2,生存时间超过 t = 2 t = 2 t=2 个月的概率为 0.97。也就是说,97% 的受试者存活超过 2 个月。

图 生存函数 2


中位生存期(Median survival)可由生存函数确定。例如,对于生存函数 2,50% 的受试者存活了 3.72 个月。 因此,中位生存期为 3.72 个月。

图 生存函数中位生存期


在某些情况下,无法从图中确定中位生存期。例如,对于生存函数 4,超过 50% 的受试者生存时间超过 10 个月的观察期。

图 中位生存期大于 10 个月


生存函数是描述和显示生存数据的几种方法之一。显示数据的另一种有用方法是显示受试者生存时间分布的图表。 Olkin,第 426 页给出了以下生存数据示例。 记录空调系统连续故障之间的小时数。连续失败之间的时间为 1、3、5、7、11、11、11、12、14、14、14、16、16、20、21、23、42、47、52、62、71、71、 87、90、95、120、120、225、246 和 261 小时。平均故障间隔时间为 59.6。 该平均值将很快用于将理论曲线拟合到数据。下图显示了故障间隔时间的分布。图表下方的蓝色刻度线是连续失败之间的实际小时数。

图 交流故障次数分布


故障时间的分布覆盖有表示指数分布的曲线。对于此示例,指数分布近似于故障时间的分布。指数曲线是适合实际故障时间的理论分布。这个特定的指数曲线由参数 lambda 指定, λ = 1 / ( 平均无故障时间 ) = 1 / 59.6 = 0.0168 \lambda= 1/(\text{平均无故障时间})= 1/59.6 = 0.0168 λ=1/(平均无故障时间)=1/59.6=0.0168。如果时间可以取任何正值,则故障时间的分布称为概率密度函数(pdf)。在方程式中,pdf 指定为 f ( t ) f(t) f(t)。如果时间只能取离散值(如 1 天、2 天等),则失效时间的分布称为概率质量函数(pmf)。大多数生存分析方法都假设时间可以取任何正值, f ( t ) f(t) f(t) 是 pdf。如果使用指数函数近似观察到的空调故障之间的时间,则指数曲线给出空调故障次数的概率密度函数 f ( t ) f(t) f(t)

显示生存数据的另一种有用方法是显示每个时间点的累积故障的图表。这些数据可以显示为累计次数,也可以显示为每次失败的累计比例。下图显示了空调系统每次发生故障的累积概率(或比例)。黑色阶梯线显示失败的累积比例。对于每个步骤,图表底部都有一个蓝色勾号,表示观察到的故障时间。 平滑的红线表示拟合观测数据的指数曲线。

到每个时间点的累积故障概率图称为累积分布函数(cumulative distribution function)或 CDF。 在生存分析中,累积分布函数给出生存时间小于或等于特定时间 t t t 的概率。

T T T 为生存时间,它是任何正数。特定时间由小写字母 t t t 指定。 T T T 的累积分布函数是函数:

F ( t ) = P ⁡ ( T ≤ t ) {\displaystyle F(t)=\operatorname {P} (T\leq t)} F(t)=P(Tt)

其中右侧表示随机变量 T T T 小于或等于 t t t 的概率。如果时间可以取任意正值,则累积分布函数 F ( t ) F(t) F(t) 是概率密度函数 f ( t ) f(t) f(t) 的积分。

对于空调示例,下面的 CDF 图表说明了故障时间小于或等于 100 小时的概率为 0.81,这是使用数据拟合的指数曲线估算的。

图 AC 无故障时间 LT 100 小时


绘制故障时间小于或等于 100 小时的概率的替代方法是绘制故障时间大于 100 小时的概率。故障时间大于 100 小时的概率必须为 1 减去故障时间小于或等于 100 小时的概率,因为总概率总和必须为 1。

这给出了:

P ( failure time > 100 hours ) = 1 − P ( failure time < 100 hours ) = 1 – 0.81 = 0.19 P(\text{failure time} > 100 \text{hours}) = 1 - P(\text{failure time} < 100 \text{hours}) = 1 – 0.81 = 0.19 P(failure time>100hours)=1P(failure time<100hours)=1–0.81=0.19

此关系推广到所有故障时间:

P ( T > t ) = 1 − P ( T < t ) = 1 –cumulative distribution function P(T > t) = 1 - P(T < t) = 1 – \text{cumulative distribution function} P(T>t)=1P(T<t)=1–cumulative distribution function

这种关系如下图所示。左图是累积分布函数,即 P ( T < t ) P(T < t) P(T<t)。右图为 P ( T > t ) = 1 − P ( T < t ) P(T > t) = 1 - P(T < t) P(T>t)=1P(T<t)。右图是生存函数 S ( t ) S(t) S(t) S ( t ) = 1 –CDF S(t) = 1 – \text{CDF} S(t)=1–CDF 这一事实是生存函数的另一个名称是互补累积分布函数的原因。

图 生存函数为 1 - CDF

3. 参数生存函数

在某些情况下,例如空调的例子,生存时间的分布可以用指数分布等函数很好地近似。几种分布常用于生存分析,包括指数分布、威布尔分布、伽玛分布、正态分布、对数正态分布和对数逻辑分布。这些分布由参数定义。例如,正态(高斯)分布由两个参数均值和标准差定义。由参数定义的生存函数被称为参数化的(parametric)。

在上面显示的四个生存函数图中,生存函数的形状由特定的概率分布定义:生存函数 1 由指数分布定义,2 由威布尔分布(Weibull distribution)定义,3 由对数逻辑分布(log-logistic distribution)定义 , 4 由另一个 Weibull 分布定义。

3.1 指数生存函数(Exponential survival function)

对于指数生存分布,无论个人或设备的年龄如何,每个时间间隔的失败概率都是相同的。这一事实导致了指数生存分布的“无记忆”特性:受试者的年龄对下一个时间间隔内的失败概率没有影响。指数可能是系统生命周期的一个很好的模型,其中部件在故障时被更换。它也可用于模拟短时间内活生物体的生存。它不太可能成为生物体完整生命周期的良好模型。正如 Efron 和 Hastie (第 134 页)指出的那样,“如果人类的寿命是指数级的,那么就不会有老人或年轻人,只有幸运者或不幸者”。

3.2 威布尔生存函数(Weibull survival function)

指数生存函数的一个关键假设是风险率是常数。在上面给出的例子中,每年死亡的男性比例恒定为 10%,这意味着危险率是恒定的。持续危险的假设可能不合适。例如,在大多数生物体中,老年死亡的风险大于中年——也就是说,危险率随着时间的推移而增加。对于某些疾病,例如乳腺癌,5 年后复发的风险较低——也就是说,风险率随时间降低。Weibull 分布扩展了指数分布以允许恒定的、增加的或减少的危险率。

3.3 其他参数生存函数

还有其他几个参数生存函数可以更好地拟合特定数据集,包括正态、对数正态、对数逻辑和伽玛。可以使用图形方法或使用正式的拟合检验来为特定应用选择参数分布。这些分布和测试在生存分析教科书中有描述。Lawless 广泛涵盖了参数模型。

参数化生存函数通常用于制造应用中,部分原因是它们能够估计观察期以外的生存函数。然而,参数函数的适当使用要求数据通过所选分布很好地建模。如果没有合适的分布,或者无法在临床试验或实验之前指定,则非参数生存函数提供了一个有用的替代方案。

4. 非参数生存函数

生存的参数模型可能是不可能的或不可取的。在这些情况下,对生存函数建模的最常用方法是非参数 Kaplan–Meier 估计器(Kaplan–Meier estimator)。

5. 性质

  • 每个生存函数 S ( t ) S(t) S(t) 单调递减,即对所有 u > t u>t u>t S ( u ) ≤ S ( t ) S(u)\leq S(t) S(u)S(t)
    • 它是随机变量的一个属性,它将一组事件映射到时间上,这些事件通常与某些系统的死亡率或故障相关。
  • 时间 t = 0 t=0 t=0 时,代表某个起源,通常是研究的开始或某个系统运行的开始。 S ( 0 ) S(0) S(0) 通常是统一的,但可以更小以表示系统在运行时立即失败的概率。
  • 由于 CDF 是右连续函数,因此生存函数 S ( t ) = 1 − F ( t ) S(t)=1-F(t) S(t)=1F(t) 也是右连续的。
  • 生存函数可以和概率密度函数 f ( t ) f(t) f(t) 还有风险函数(hazard function) λ ( t ) \lambda (t) λ(t) 相关联:

f ( t ) = − S ′ ( t ) {\displaystyle f(t)=-S'(t)} f(t)=S(t)
λ ( t ) = − d d t log ⁡ S ( t ) {\displaystyle \lambda (t)=-{\mathrm{d} \over {\mathrm{d}t}}\log S(t)} λ(t)=dtdlogS(t)

所以:

S ( t ) = exp ⁡ [ − ∫ 0 t λ ( t ′ ) d t ′ ] {\displaystyle S(t)=\exp[-\int _{0}^{t}\lambda (t')\mathrm{d}t']} S(t)=exp[0tλ(t)dt]

  • 预期生存时间:

E ( T ) = ∫ 0 ∞ S ( t ) d t {\displaystyle \mathbb {E} (T)=\int _{0}^{\infty }S(t)\mathrm{d}t} E(T)=0S(t)dt

6. Kaplan–Meier estimator

Kaplan–Meier 估计器(Kaplan–Meier estimator),也称为乘积极限估计器(product limit estimator),是一种非参数统计量(non-parametric statistic),用于根据生命周期数据估计生存函数。在医学研究中,常用于衡量患者在治疗后存活一定时间的比例。在其他领域,Kaplan-Meier 估计量可用于衡量人们在失业后保持失业状态的时间长度,机器部件的故障时间,或植物上的肉质果实在由食肉动物被移除之前保留了多长时间 。该估算器以 Edward L. Kaplan 和 Paul Meier 的名字命名,他们各自向美国统计协会杂志提交了类似的手稿。期刊编辑 John Tukey 说服他们将他们的工作合并成一篇论文,该论文自 1958 年发表以来已被引用超过 61,800 次。

生存函数 S ( t ) S(t) S(t) 的估计量(寿命长于 t t t)由下式给出:

S ^ ( t ) = ∏ i :   t i ≤ t ( 1 − d i n i ) {\displaystyle {\widehat {S}}(t)=\prod \limits _{i:\ t_{i}\leq t}\left(1-{\frac {d_{i}}{n_{i} }}\right)} S (t)=i: tit(1nidi)

t i t_{i} ti 为至少有一个事件发生的时间, d i d_{i} di 为在该时间 t i t_{i} ti 发生的事件(例如,死亡)的数量, n i n_{i} ni 为到时间 t i t_{i} ti 为止已知的幸存者(尚未发生事件或被审查)。

6.1 基本概念

Kaplan–Meier 估计量的图是一系列递减的水平步长,在样本量足够大的情况下,接近该人群的真实生存函数。假设连续不同采样观察值(“点击(click)”)之间的生存函数值是常数。

Kaplan-Meier 曲线的一个重要优点是该方法可以考虑某些类型的删失数据(censored data),特别是右删失(right-censoring),如果患者退出研究,失去随访,或在最后一次随访中没有事件发生。在图上,小的垂直刻度线表示存活时间已被右删失的个体患者。当没有截断或删失发生时,Kaplan-Meier 曲线是经验分布函数(empirical distribution function)的补集。

在医学统计中,一个典型的应用程序可能涉及将患者分组,例如,具有基因 A 概况的患者和具有基因 B 概况的患者。在图中,基因 B 的患者比基因 A 的患者死得更快。两年后,大约 80% 的基因 A 患者存活下来,但只有不到一半的基因 B 患者存活下来。

要生成 Kaplan-Meier 估计量,每个患者(或每个受试者)至少需要两条数据:最后一次观察的状态(事件发生或右删失)和事件发生时间(或删失时间)。如果要比较两个或多个组之间的生存函数,则需要第三个数据:每个受试者的组分配(group assignment)。

7. 比例风险模型(Proportional hazards model)

比例风险模型是统计学中的一类生存模型。生存模型将某个事件发生之前经过的时间与可能与该时间量相关联的一个或多个协变量(covariates)相关联。在比例风险模型中,协变量中单位增加的独特效应相对于风险率是乘法的。例如,服用一种药物可能会使一个人发生中风的危险率减半,或者,改变制造部件的制造材料可能会使其发生故障的危险率增加一倍。其他类型的生存模型(例如加速故障时间模型(accelerated failure time models))不会出现比例风险。加速故障时间模型描述了事件的生物或机械生命历史加速(或减速)的情况。

图 与患者生存相关的两种情况的 Kaplan-Meier 图示例。

7.1 背景

生存模型可以被视为由两部分组成:潜在的基线风险函数(underlying baseline hazard function),通常表示为 λ 0 ( t ) \lambda _{0}(t) λ0(t),描述在协变量的基线水平下,每个时间单位的事件风险如何随时间变化;和影响参数(effect parameters),描述危害如何响应解释性协变量(explanatory covariates)而变化。一个典型的医学示例将包括分配疗法等协变量,以及研究开始时的年龄、性别和研究开始时是否存在其他疾病等患者特征,以减少变异性和/或控制混杂。

比例风险条件指出协变量与风险呈乘法关系。例如,在最简单的固定系数情况下,药物治疗可能会在任何给定时间 t t t 将受试者的危险减半,而基线危害可能会有所不同。但是请注意,这不会使对象的寿命加倍;协变量对寿命的精确影响取决于 λ 0 ( t ) \lambda_{0}(t) λ0(t)。协变量不限于二元预测变量(binary predictors); 在连续协变量 x x x 的情况下,通常假设危害呈指数反应;每增加一个单位 x x x 导致危险按比例缩放。

7.2 问题定义

τ ≥ 0 \tau \geq 0 τ0 是一个随机变量,我们将其视为感兴趣事件发生之前的时间。如上所述,目标是估计在 τ \tau τ 下的生存函数 S S S。这个函数被定义为:

S ( t ) = Prob ⁡ ( τ > t ) ,where  t = 0 , 1 , … is the time {\displaystyle S(t)=\operatorname {Prob} (\tau >t)},\text{where}\ t=0,1,\dots \text{is the time} S(t)=Prob(τ>t)where t=0,1,is the time

τ 1 , … , τ n ≥ 0 \tau _{1},\dots ,\tau _{n}\geq 0 τ1,,τn0 是独立同分布的随机变量,其公共分布(common distribution)是 τ \tau τ τ j \tau_{j} τj 是某个事件 j j j 发生时的随机时间。可用于估计 S S S 的数据不是 ( τ j ) j = 1 , … , n (\tau _{j})_{j=1,\dots ,n} (τj)j=1,,n,而是一系列的对 (   ( τ ~ j , c j )   ) j = 1 , … , n (\,({\tilde {\tau }}_{j},c_{j})\,)_{j=1,\dots ,n} ((τ~j,cj))j=1,,n,其中 j ∈ [ n ] : = { 1 , 2 , … , n } j\in [n]:=\{1,2,\dots ,n\} j[n]:={1,2,,n} c j ≥ 0 c_{j}\geq 0 cj0 是一个固定的确定性整数,事件 j j j 的结尾时间(censoring time)和 τ ~ j = min ⁡ ( τ j , c j ) {\tilde {\tau }}_{j}=\min(\tau _{j},c_{j}) τ~j=min(τj,cj)。特别是有关事件 j j j 发生时间的可用信息是事件是否在固定时间 c j c_{j} cj 之前发生。如果是,那么事件的实际时间也是可用的。挑战在于给定此数据估计 S ( t ) S(t) S(t)

7.3 The Cox model

7.3.1 介绍

David Cox 爵士观察到,如果比例风险假设成立(或假设成立),则可以估计影响参数(effect parameter),表示为 β i \beta _{i} βi。下面,没有考虑完整的危险函数。这种生存数据方法称为 Cox 比例风险模型(Cox proportional hazards model)的应用,有时缩写为 Cox 模型(Cox model)或比例风险模型(proportional hazards model)。然而,Cox 还指出,比例风险假设的生物学解释可能非常棘手。

X i = ( X i 1 , ⋯   , X i p ) X_{i} = (X_{i1}, \cdots, X_{ip}) Xi=(Xi1,,Xip) 为受试者 i i i 的协变量的实际值。Cox 比例风险模型的风险函数具有以下形式:

λ ( t ∣ X i ) = λ 0 ( t ) exp ⁡ ( β 1 X i 1 + ⋯ + β p X i p ) = λ 0 ( t ) exp ⁡ ( X i ⋅ β ) {\displaystyle {\begin{aligned}\lambda (t|X_{i})&=\lambda _{0}(t)\exp(\beta _{1}X_{i1}+\cdots +\beta _ {p}X_{ip})\\&=\lambda _{0}(t)\exp(X_{i}\cdot \beta )\end{aligned}}} λ(tXi)=λ0(t)exp(β1Xi1++βpXip)=λ0(t)exp(Xiβ)

该表达式给出了对象 i i i 在时间 t t t 的风险函数,协变量向量(解释变量(explanatory variables)) X i X_{i} Xi。请注意,在受试者之间,基线风险 λ 0 ( t ) \lambda _{0}(t) λ0(t) 是相同的(不依赖于 i i i)。受试者风险之间的唯一区别来自基线比例因子 exp ⁡ ( X i ⋅ β ) \exp(X_{i}\cdot \beta) exp(Xiβ)


  • 参考文献

wiki: Survival function

wiki: Kaplan–Meier estimator

wiki: Proportional hazards model

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

总结824

学习目标&#xff1a; 4月&#xff08;复习完高数18讲内容&#xff0c;背诵21篇短文&#xff0c;熟词僻义300词基础词&#xff09; 学习内容&#xff1a; 英语&#xff1a;早上 读了《nasty place》&#xff0c;单词150个 高数&#xff1a;看了12讲二重积分的内容&#xff0…

算法设计与智能计算 || 专题六: 不可导凸函数的最优解搜索问题

不可导凸函数的最优解搜索问题 文章目录不可导凸函数的最优解搜索问题1. 次梯度下降方法1.1 基于次梯度的 Lasso 回归求解1.2 次梯度求解 Lasso 算法1.3 编程实现2. 软阈值方法2.1 软阈值求解Lasso回归1. 次梯度下降方法 如目标函数包含不可微分的部分&#xff0c;形如 E(w)1N…

计组2.3——浮点数的表示和运算

计组2.3 浮点数 #mermaid-svg-hwjyO2bt7hFXy1eD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hwjyO2bt7hFXy1eD .error-icon{fill:#552222;}#mermaid-svg-hwjyO2bt7hFXy1eD .error-text{fill:#552222;stroke:#552…

视频美颜sdk的开发流程与注意事项

目前&#xff0c;视频美颜技术逐渐成为了人们关注的焦点。而视频美颜sdk作为实现视频美颜的重要工具&#xff0c;也因此备受关注。本文将从视频美颜sdk的开发流程和注意事项两个方面进行探讨。 一、视频美颜sdk的开发流程 1、确定需求 在进行视频美颜sdk的开发之前&#xff0…

Solon v2.2.10 发布,助力信创国产化

Solon 是一个高效的 Java 应用开发框架&#xff1a;更快、更小、更简单。它不是 Spring、没有使用 Servlet、JavaEE 接口&#xff0c;是一个有自己接口标准的开放生态。可以为应用软件国产化提供支持&#xff0c;助力信创建设。 150来个生态插件&#xff0c;覆盖各种不同的应用…

天猫数据分析:饮料市场头部份额下滑,无糖饮料占比40%

如今&#xff0c;全世界减糖、控糖的大趋势已经拉开帷幕。 根据沸点测评数据&#xff0c;今年所有在新加坡销售的饮料&#xff0c;必须在包装上注明A、B、C或D的营养等级标签&#xff0c;列明饮料含糖分和饱和脂肪的百分比&#xff0c;营养等级为D的饮品则会被禁止做广告营销。…

Tinymce富文本编辑器在vue项目中的使用;引入第三方插件和上传视频、图片等

先放张效果图第一步&#xff1a;安装依赖 npm install tinymce5.0.12第二步&#xff1a;在项目中的public文件夹中新建tinymce文件夹&#xff08;因为我的项目是脚手架创建的&#xff0c;所以公共文件夹是public&#xff09;&#xff1b;在node_modules中找到skins文件夹复制到…

插件化换肤原理—— 布局加载过程、View创建流程、Resources 浅析

作者&#xff1a;孙先森Blog 本文主要分析了 Android 布局加载流程 分析 一般的换肤功能大概是这样的&#xff1a;在 App 的皮肤商城内下载“皮肤包”&#xff0c;下载完成后点击更换界面上的 View 相关资源&#xff08;颜色、样式、图片、背景等&#xff09;发生改变&#xf…

栈的实现及相关OJ题

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

28岁,他是如何成为上市公司测试总监的

现在的大环境下&#xff0c;各行各业都开始内卷起来&#xff0c;测试也不例外&#xff0c;企业要求也越来越高&#xff0c;“会代码”逐渐成为测试工程师的一个标签。你要想拿到一个不错的薪资&#xff0c;必不可少的一个技能—自动化测试&#xff0c;自动化测试难吗&#xff1…

Oracle集合查询详解加练习题

#集合查询 概念&#xff1a;将不同的数据集合&#xff08;SQL查询语句&#xff09;按照集合的规则&#xff0c;拼接一个临时的&#xff0c;新的数据集合&#xff08;表&#xff09; 1.集合&#xff1a;并集、交集、差集 并集 union all 语法&#xff1a;select column1,COLUM…

「MongoDB」时序数据库和MongoDB第二部分-模式设计最佳实践

在上一篇博客文章时间序列数据与MongoDB&#xff1a;第一部分-简介中&#xff0c;我们介绍了时间序列数据的概念&#xff0c;然后介绍了一些可以用于帮助收集时间序列应用程序需求的发现问题。对这些问题的回答有助于指导支持大容量生产应用程序部署所需的模式和MongoDB数据库配…

基于深度学习PaddleOcr身份证识别

之前使用opencv机械学习处理图片&#xff0c;使用Testseract-OCR进行身份证和姓名识别&#xff0c;发现受背景图片的影响比较大&#xff0c;转PaddleOcr&#xff0c;识别成功率能达到使用要求。 PaddleOcr官网地址&#xff1a;飞桨PaddlePaddle-源于产业实践的开源深度学习平台…

Python爬虫-某跨境电商(AM)搜索热词

前言 本文是该专栏的第42篇,后面会持续分享python爬虫干货知识,记得关注。 关于某跨境电商(AM),本专栏前面有单独详细介绍过,获取配送地的cookie信息以及商品库存数据,感兴趣的同学可往前翻阅。 1. python爬虫|爬取某跨境电商AM的商品库存数据(Selenium实战) 2. Seleni…

偶数科技发布实时湖仓数据平台 Skylab 5.0

2023 年 4 月 11 日&#xff0c; 偶数发布了最新的实时湖仓数据平台 Skylab 5.0&#xff0c;平台各个组件进行了全面升级。新版 Skylab 的发布标志着偶数科技具有从数据存储、计算、管理到分析、应用和 AI 能力的完整的数据管理生态闭环&#xff0c;帮助用户实现批流一体、实时…

贴完车衣开车就走?

贴完车衣之后&#xff0c;你以为直接开走就好了吗&#xff1f; 大错特错&#xff01;&#xff01;&#xff01; 正确流程&#xff0c;记得收藏起来&#xff01; 1&#xff1a;膜开箱&#xff1a;这个当场开箱&#xff0c;防止偷梁换柱 2&#xff1a;装贴过程&#xff1a;确认施…

损失函数(Loss Function)一文详解-分类问题常见损失函数Python代码实现+计算原理解析

目录 前言 一、损失函数概述 二、损失函数分类 1.分类问题的损失函数 1.交叉熵损失函数&#xff08;Cross Entropy Loss&#xff09; 2.Hinge损失函数 3.余弦相似度损失函数&#xff08;Cosine Similarity Loss&#xff09; 4.指数损失函数&#xff08;Exponential Los…

Next.js Polygon, Solidity,The Graph,IPFS,Hardhat web3博客系统

参考 源文档The Complete Guide to Full Stack Web3 Development - DEV Community 源码&#xff0c;源文章里的github项目无法直接运行&#xff0c;经过修改后可mac中可用GitHub - daocodedao/web3-blog: https://linzhji.blog.csdn.net/article/details/130125634 框架 博客…

python pandas数据处理excel、csv列转行、行转列(具体示例)

一、数据处理需求 对Excel或CSV格式的数据,我们经常都是使用pandas库读取后转为DataFrame进行处理。有的时候我们需要对其中的数据进行行列转换,但是不是简单的行列转换,因为数据中有重复的数据属性。比如我们的数据在Excel中的格式如下: 那么,我们如何将上面的数据格式转…

2023爱分析·商业智能应用解决方案市场厂商评估报告:数聚股份

目录 1. 研究范围定义 2. 商业智能应用解决方案市场分析 3. 厂商评估&#xff1a;数聚股份 4. 入选证书 1. 研究范围定义 商业智能&#xff08;BI&#xff09;是在实现数据集成和统一管理的基础上&#xff0c;利用数据存储和处理、分析与展示等技术&#xff0c;满足企…