当前位置: 首页 > news >正文

多臂治疗规则的 Qini 曲线(Stefan Wager)

英文题目:

Qini Curves for Multi-Armed Treatment Rules

中文题目:多臂治疗规则的 Qini 曲线

单位:Stefan Wager

论文链接:

代码:GitHub - grf-labs/maq: Treatment rule evaluation via the multi-armed Qini

example:Qini curves: Automatic cost-benefit analysis • grf

摘要:Qini 曲线已成为评估数据驱动目标规则对治疗分配的好处的一种有吸引力的流行方法。我们提出了一种将Qini曲线推广到多个昂贵的处理效应,该机械臂量化了在不同预算水平下在单元和治疗臂之间最佳选择的值。我们开发了一种计算这些曲线的有效算法,并提出了基于自举的置信区间,这些置信区间在曲线上的任意点的大样本中精确。这些置信区间可用于进行假设检验,比较使用手臂的最佳组合和仅使用手臂子集的非目标分配规则(或忽略协变量的非目标分配规则)在不同预算水平下的治疗目标值。我们在模拟实验中展示了统计性能以及针对选举转折的治疗应用。

1简介

Qini 曲线最初是在营销文献中提出的 [Radcliffe, 2007],绘制了当我们改变预算时处理对治疗最响应的单位的平均策略效应。然后,我们可以通过评估在一系列不同预算级别进行的成本效益练习来量化治疗目标的价值。Qini 曲线已在各种实际应用中采用,以评估受资源约束的处理目标规则的经验性能。

二元处理下类似的指标的理论性质,以及曲线摘要下面积的扩展,最近受到了许多作者对统计文献中的关注,包括Imai和Li[2023, 2022],Sun等人[2021]和Yadlowsky等人[2021]。这些方法考虑了针对(可能代价高昂)二元干预分配的问题。在本文中,我们探索了对多个治疗组的场景的扩展,其中分配的好处和成本可能因单位而异。例如,低成本药物可能对一组人有益,但高成本药物可能对其中的一个子集更有益。通过两个臂的单独秦曲线分析此设置可以隐藏重要的效率权衡。对于特定的预算,最优策略可能需要为不同的人分配不同的药物;一个组的药物成本较低,另一个组的药物成本较高。确定将个体特征映射到几个治疗组之一的最佳治疗分配策略涉及解决约束优化问题

我们开发了理论和统计框架,将Qini曲线扩展到我们有许多互斥且昂贵的处理的情况。我们表明,扩展到多个臂的秦i曲线保留了单个秦i的理想基于比率的解释治疗臂,不是确定最优分配的绝对成本,而是每个臂的增量效率。这意味着没有必要在相同的尺度上消除治疗效果和成本。如果收益与参与者集相对于成本的比率大于任何其他手臂和参与者集的相应比率,则将额外的预算单位分配给手臂和一组目标参与者(由其特征定义)。

图1:单臂治疗策略(虚线)的Qini曲线和多臂策略(实线黑线)的Qini曲线,使用第4节中描述的合成数据。增益定义为零成本控制的平均值。蓝线是仅考虑手臂 1 的平均治疗效果的秦曲线(因为手臂 2 具有负估计的平均治疗效果,所以它的平均值留在图中)。在0.5的预算下,忽略协变量的策略通过将每个单元分配给手臂1,获得了等于0.2(标准误差0.07)的平均治疗效果的增益。使用协变量信息针对同一臂的目标的策略获得了0.6的增益(标准误差0.06);这种增益已经在0.3的预算下实现;在这个预算中,可以将所有估计值高于无成本控制的单位。将最优臂分配给最响应单元的策略产生 0.8 的增益(标准误差 0.0)。

为了直观地了解秦i对多个臂的推广,回想一下,单个臂的Qini曲线是评估策略诱导的治疗规则的评估指标。使用单个治疗组,为简单起见,每个单元分配成本相同,最优策略是根据条件平均治疗效果的降序分配治疗。鉴于这些治疗效果的估计,传统的Qini曲线绘制了根据个体估计的治疗效果优先分配治疗的估计值。图 1 显示了 Qini 曲线的示例,如虚线。例如,如果我们只能使用手臂 1 并且总预算为 0.2,那么我们可以获得 0.52 的增益;而如果我们只能使用手臂 2,则相同的预算会产生 0.56 的估计增益。请注意,一旦我们传递了 0.3 的支出水平,手臂-1 Qini 曲线平台——这是因为,一旦我们已经达到了这个支出使用手臂 1 的水平,我们已经对被认为从中受益的所有单元给予治疗,因此无法通过增加支出获得进一步的收益。

图 1 中单个治疗臂的 Qini 曲线易于计算,因为底层策略会导致优先规则,该规则涉及按照估计的条件平均治疗效果顺序对单元进行排序。计算多臂策略的最优分配更加复杂,因为它涉及解决跨多个臂的约束成本效益问题。我们表明,尽管潜在的多臂策略更加复杂,但它们仍然产生了一个诱导处理规则,可以用秦曲线进行评估,就像单臂情况一样。图 1 中的实线黑线显示了估计的多臂策略的 Qini 曲线,并强调由于不同的臂可以更好地用于不同的组,因此目标使不同的臂能够分配给适合不同子组的成本效益分析。例如,预算为 0.2,我们现在可以获得 0.68 的增益,这比我们单独使用任何一个手臂所能获得的要好。

由于两个原因,将额外的手臂纳入两个改进(即提高)秦曲线。首先,即使在没有针对性的情况下,扩大预算也会导致更大的手臂使用,平均而言效率较低(收益成本较低的比率),但相对有益。其次,目标允许识别特别受益于可能平均表现不佳的手臂的子组,因此在没有目标的情况下不会优先排序。

我们描述了最优的多臂策略,表明在扩大预算时,最优分配选择单元以根据增量效益成本比最高的位置接收更有效的处理。我们进一步展示了如何,对于单元的给定特征,最优策略可以通过一组预算阈值来表征,其中单元的分配更改为更有益但效率较低的手臂。我们提出了一种有效的算法来估计Qini曲线基础上的多臂策略的解路径,该算法有效地分配初始预算,然后利用我们的理论表征将增量支出分配给最增量高效的单元。

我们的主要理论结果通过估计的多臂策略值的中心极限定理来量化秦曲线上点的不确定性。结果估计条件平均治疗效果(在控制上)和给定的预期成本,但解释了从近似每个级别预算的最佳分配以及估计该分配的策略值的不确定性。中心极限定理可用于估计给定预算下两条Qini曲线之间的差异,例如,替代治疗效果估计器引起的替代Qini曲线,或针对治疗臂子集估计的Qini曲线,或不针对目标。

所提出方法的开源软件实现可在 github.com/grflabs/maq 获得。

example

仅实现了核心 MAQ 求解器功能(点估计和解路径的置信区间)

https://github.com/grf-labs/maq/tree/master/python-package

2最优多臂治疗分配的解决方案路径

为了表征最佳多臂治疗分配,我们在潜在结果框架下运行 [Imbens and Rubin, 2015]。

 2.1 描述最优策略

3 The Qini Curve for Multi-Armed Policies

policy选取

实验后依旧可以评估 // 需要随机数据

干预不一样要剔除

计算解路径和值。有了估计 Q(B) 所需的所有部分,算法 1 概述了为多臂策略计算 Qini 曲线所需的所有组件的伪代码,从估计条件平均治疗效果和训练集上的成本开始。有了这些,以及适当的评估分数,算法 2 用伪代码形式化了图 3 背后的直觉,用于计算诱导的多臂策略,并直到某个最大预算级别 Bmax。

 

 3.1确定曲线的中心极限定理

4模拟实验

有多种策略可用于估计可以扩展到多臂设置的条件平均治疗效果τ (Xi)。一些流行和灵活的方法是所谓的元学习器,它采用旨在预测的机器学习算法,相反目标是反事实差异,示例包括 Kennedy [2020]、K̈unzel 等人。 [2019] 和 Nie 和 Wager [2021]。这些方法针对数量 E [Yi(1) − Yi(0) | Xi = x],其中 Yi(1) 是治疗臂的潜在结果,Yi(0) 是控制臂的潜在结果。为了用这些策略估计多臂治疗效果,可以采用一对一编码,如果分配第 k 个臂,则定义 Wi 为 1,否则为 0。另一种方法是直接针对向量值参数 τ (Xi)。在经验插图中,我们使用基于 R-learner [Nie and Wager, 2021] 的基于森林的 [Athey et al., 2019] 多臂治疗效果估计器,可在 R 包 grf [Tibshirani et al., 2023, R Core Team, 2022] 中通过函数多臂因果森林获得,该森林具有内置功能以产生多臂评估分数 (12)。这种方法直接使用以下森林加权损失来估计 τ (Xi)。

grf: Generalized Random Forests, 2023.

URL https://github.com/grf-labs/grf. R package version 2.3.0.】

使用机器学习估计异质治疗效果的元学习器

Metalearners for estimating heterogeneous treatment effects using machine learning

Offline Multi-Action Policy Learning: Generalization and Optimization

离线多动作策略学习:泛化和优化

我们将已知且等于单位可观测预处理协变量Ci(1) = Xi1, Ci(2) = 2Xi2的成本视为已知且等于单位可观测预处理协变量Ci(1) = Xi1, Ci(2) = 2Xi2。用噪声N (0, 4)观察到结果。

为了研究多臂秦曲线上点的实际推理特性,使用灵活的非参数估计器,我们计算 Q(B) 的 95% 置信区间的覆盖率。我们首先固定一个在n = 10000的训练集估计的ˆτ(·)函数。我们考虑Qini曲线上10个点B = {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.4,0.45,0.5},然后在大小为n = {1000,2000,5000,10000}的测试集上计算策略ˆπB,估计双鲁棒分数bΓ,然后使用自举标准误差计算估计Q(B)的覆盖率。表 1 中的结果表明该过程在 1000 次蒙特卡洛重复中的平均经验覆盖率。

数据集

在本节中,我们将我们的方法应用于 2006 年 8 月初选中的投票数据集。该数据集最初由Gerber等人(2008)收集,以研究人们投票的动机。我们在本节中的目标是将此数据集应用策略学习算法并说明一些有趣的发现。

数据集描述:我们首先快速描述数据集,只关注与我们当前的策略学习上下文相关的方面。该数据集包含 180002 个数据点(即 n = 180002),每个数据点对应于不同家庭中的单个选民。选民跨越密歇根的整个状态。我们使用的选民特征有 10 个:出生年份、性别、家庭规模、城市、g2000、g2002、g2004、g2000、p2002、p2004。前 4 个特征是自我解释的。接下来的三个特征是选民分别在 2000、2002 和 2004 年投票支持一般选举的结果:如果选民进行投票,则记录 1,如果选民没有投票,则记录 0。最后三个特征是选民在 2000 年、2002 年和 2004 年是否投票给主要的结果。正如 Gerber 等人指出的那样。

(2008),这 10 个特征通常用作协变量来预测单个选民是否会投票 9。总共有五个动作,如下:

无事:没有执行动作

。Civic:在初选之前,带有“你的公民义务吗”的字母被电子邮件给家庭。

监控:在主要选举之前,将带有“您正在研究”的字母电子邮件给家庭。收到这封信的选民被告知他们将观察他们是否投票在该选举中。

自历史:选民过去投票记录的字母以及居住在同一家家庭的其他选民的投票记录在主选举之前被邮件给家庭。这封信还表明,一旦选举结束,选民是否被投票的后续信将被发送到家庭。

邻居:一个带有该选民投票记录的信,居住在同一个家庭的选民,这个家庭的邻居的选民在主选举之前被电子邮件给家庭。这封信还表明“您的所有邻居都能够看到您的过去投票记录”,并且将发送后续信件,以便该选民投票在即将到来的选举中是否会成为邻居之间的公共知识。

 

5 治疗靶向策略的假设测试

图 4a 提供了Qini 曲线可以看的程式化示例,在这种情况下,基于主题特征的目标有好处,可用的处理臂有 3 个(加上控制)。对于固定的花费点和策略,数量 Q(B) - Q(B) 测量剩余行之一之间的垂直差异,表示。一个基线策略,使用所有或只有一个手臂而不针对目标。由于这个距离是正的,它表示基于主题特征的目标的好处。

图 4b 说明了成本曲线如何查看存在(根据预算)的场景,这是在单个手臂上使用最佳手臂组合的好处。例如,在 B = 2 时,差异 Q(B) - Q1(B) 是红线和蓝线之间的垂直差异,并表明在所有可用臂中最佳选择可以比仅使用手臂 1 的目标产生约 1.5 的增益增加。

6 应用:选举转出的处理目标

Gerber等人[2008]通过邮件各种形式的字母,进行了多臂随机对照试验,研究了2006年美国初选中选民转出的社会决定因素。180 002 户被随机分配一个 K = 4 个治疗组,其中手臂 1(“Civic”)告诉接受者做他们的公民义务和投票。Arm 2(“Hawthorne”)通知接收者他们决定投票或不被监控。ARM 3(“Self”)通知接收者他们和相似的家庭过去的投票历史,手臂 4(“Neighbors”)将让接收者的邻居知道他们的投票历史。对照组没有字母。感兴趣的结果是家庭中的一个人是否在即将到来的一次选举中投票。Gerber等人[2008]发现,发送“邻居”字母是增加选民转出最有效的,几乎没有异质性的证据。

参考

  1. 云讲堂预告 | 吴韩:多臂治疗规则的 Qini 曲线 - 统计之都 - 瓦斯阅读
  2. 【转】增益模型营销逻辑再理解_qini curve_Just Jump的博客-CSDN博客
  3. [因果推断] 增益模型(Uplift Model)介绍(三)_奇思闻影的舒克与贝克的博客-CSDN博客

相关文章:

多臂治疗规则的 Qini 曲线(Stefan Wager)

英文题目: Qini Curves for Multi-Armed Treatment Rules 中文题目:多臂治疗规则的 Qini 曲线 单位:Stefan Wager 论文链接: 代码:GitHub - grf-labs/maq: Treatment rule evaluation via the multi-armed Qini …...

NOSQL之Redis配置及优化

目录 一、关系型数据库 二、非关系型数据库 三、关系型数据库和非关系型数据库区别 1、数据存储方式不同 2、扩展方式不同 3、对事务性的支持不同 四、Redis简介 五、Redis优点 (1)具有极高的数据读写速度 (2)支持丰富的…...

植物一区HR | 植物生理组+转录组:揭示豆科植物响应干旱胁迫机制

PlantArray 植物高通量生理学表型监测系统 是一套以植物生理学为基础的高精度,高通量,自动化表型监测系统,集合实验设置、数据分析、决策工具于一身,能够高通量实时动态监测并进行全天候生理及环境参数采集,是进行植物…...

TCP粘包问题

TCP粘包问题 TCP粘包问题造成TCP粘包的原因发送方原因接收方原因 如何处理TCP粘包发送方接收方应用层 为什么UDP没有粘包问题 TCP粘包问题 TCP粘包就是指发送方发送的若干包数据到达接收方时粘成了一包,从接收缓冲区来看,后一包数据的头紧接着前一包数据…...

QT【day1】

登录框: #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//窗口设置this->setFixedSize(600,600); //大小this->setWindowTitle("MUMU"); //文本内容this->setWindowOpacity(0.8); //透…...

【Golang】Golang进阶系列教程--为什么 Go 不支持 []T 转换为 []interface

文章目录 前言官方解释内存布局程序运行中的内存布局通用方法 前言 在 Go 中,如果 interface{} 作为函数参数的话,是可以传任意参数的,然后通过类型断言来转换。 举个例子: package mainimport "fmt"func foo(v inter…...

两数相加 II——力扣445

题目描述 法一 栈 本题旨在从后往前加,为了逆序处理所有数位,利用栈,把数字压入栈中,再依次取出相加,注意进位!进位是/10,另外需要注意栈的常用函数,push()、pop()、top()&#xff0…...

js获取上传视频的封面第一帧

代码如下&#xff1a;粘贴到这个在线编辑器里&#xff0c;可以测试效果。 菜鸟教程在线编辑器 <div><div style"flex: 1;border: 1px solid #999; position:relative;color: #333;background-color:#FFF2B8;"><span style"position: absolute…...

Nginx 高可用负载均衡(三种模式)

一、nginx普通集群负载均衡 1、安装keepalived (1)下载 https://www.keepalived.org/download.html(2)解压 tar -zxvf keepalived-2.0.18.tar.gz(3)使用configure命令配置安装目录与核心配置文件所在位置&#xff1a; ./configure --prefix/usr/local/keepalived --sysconf/e…...

Linux tail命令

在Linux中&#xff0c;tail命令用于查看文件的末尾内容。它可以显示文件的最后几行&#xff0c;默认情况下显示最后10行。 以下是一些常见的使用方式和示例&#xff1a; 显示文件的最后10行&#xff1a; tail filename将会显示名为filename的文件的最后10行内容。 显示文件…...

【屏幕适配发展介绍 Objective-C语言】

一、接下来,我们花一天时间,给大家介绍这个屏幕适配 1.那么,屏幕适配,是什么意思啊 我们说,写程序的时候,我们有时候要做 1)系统适配 2)屏幕适配 1)系统适配:是指的你写的这个代码,在iOS6、iOS7、iOS8,在不同的iOS系统下,是不是运行的效果,一致吧 这个指的是…...

linux中ls命令详解

ls 显示目录内容列表 补充说明 ls命令 就是list的缩写&#xff0c;用来显示目标列表&#xff0c;在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示&#xff0c;以分区不同类型的文件。 语法 ls [选项] [文件名...][-1abcdfgiklmnopqrstuxABCDFGLNQRSUX…...

大盗阿福(记忆化搜索板子)

提供核心代码&#xff1a;&#xff08;经典的记忆化搜索套路&#xff09; int dfs(int pos){if(f[pos]!-1) return f[pos];//记忆化if(pos>n) return 0;//边界&#xff0c;越界int sum0;//模板int f10,f20;f1dfs(pos1);f2dfs(pos2)w[pos];summax(f1,f2);//模板f[pos]sum;//模…...

打卡力扣题目八

#左耳听风 ARST 打卡活动重启# 目录 一、问题 二、解题方法一 三、解题方法二 四、两种方法的区别 关于 ARTS 的释义 —— 每周完成一个 ARTS&#xff1a; ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一…...

matlab使用教程(5)—矩阵定义和基本运算

本博客介绍如何在 MATLAB 中创建矩阵和执行基本矩阵计算。 MATLAB 环境使用矩阵来表示包含以二维网格排列的实数或复数的变量。更广泛而言&#xff0c;数组为向量、矩阵或更高维度的数值网格。MATLAB 中的所有数组都是矩形&#xff0c;在这种意义上沿任何维度的分量向量的长度…...

用HTML写一个简单的静态购物网站

实现代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>购物网站</title> &l…...

如何在go中实现程序的优雅退出,go-kratos源码解析

使用kratos这个框架有近一年了&#xff0c;最近了解了一下kratos关于程序优雅退出的具体实现。 这部分逻辑在app.go文件中&#xff0c;在main中&#xff0c;找到app.Run方法&#xff0c;点进入就可以了 它包含以下几个部分: App结构体:包含应用程序的配置选项和运行时状态。 …...

Appium+python自动化(二十八)- 高级滑动(超详解)

高级溜冰的滑动 滑动操作一般是两点之间的滑动&#xff0c;这种滑动在这里称其为低级的溜冰滑动&#xff1b;就是上一节给小伙伴们分享的。然而实际使用过程中用户可能要进行一些多点连续滑动操作。如九宫格滑动操作&#xff0c;连续拖动图片移动等场景。那么这种高级绚丽的溜…...

github token使用方法

git remote set-url origin https://<githubtoken>github.com/<username>/<repositoryname>.git 在私有仓库的HTTPS的url上加入<githubtoken>即为token url&#xff0c;可以免ssh key登录...

Spring属性注解对配置项名称的自动转换

一、前言 在Spring中&#xff0c;我们经常需要将配置文件中的属性值注入到Java类中。Spring提供了两个主要的注解来实现这一功能&#xff1a;Value 和 ConfigurationProperties。其中 ConfigurationProperties支持将配置项名称与Java类中的属性名进行自动转换&#xff0c;包括…...

Docker 安全 Docker HTTPS请求过程与配置

Docker 容器安全注意点 尽量别做的事 尽量不用 --privileged 运行容器&#xff08;授权容器root用户拥有宿主机的root权限&#xff09; 尽量不用 --network host 运行容器&#xff08;使用 host 网络模式共享宿主机的网络命名空间&#xff09; 尽量不在容器中运行 ssh 服务 尽…...

DevOps(三)

CD(二) 1. 整体流程2. 环境准备1. jenkins安装2. 编译安装git3. docker安装4. docker-compose安装5. sonarqube安装6. harbor安装7. gitlab私服8. maven安装9. Nexus部署10. K8s部署3. 安装java及编写代码3.1 安装java3.2 安装IntelliJ IDEA3.3 安装tomcat3.4 安装maven3.5 c…...

AOP的妙用

一、改代码 自定义注解用于提示该代码已经在AOP中重构了 public interface ReviseToAop {// 用于记录修改状态String value() default ""; }使用注解&#xff08;无意义&#xff0c;只是表名被修改&#xff09; ReviseToAop("修改于&#xff1a;2023/7/30&quo…...

CAN转ETHERCAT网关将CAN 总线和 ETHERCAT 网络连接方法

由于好多现场会出现将CAN总线的设备接到EtherCAT网络中&#xff0c;由于协议的不相同&#xff0c;不能直接进行连接&#xff0c;现需一种能同时兼容CAN 总线和ETHERCAT网络的一种设备&#xff0c;由此捷米JM-ECT-CAN 是自主研发的一款 ETHERCAT 从站功能的通讯网关。该产品主要…...

【大数据趋势】7月30日 汇率,恒指期货的大数据趋势概率分析。

1. 数据源头之一 : 汇率变化 从程序模拟趋势来看&#xff0c;美元在持续弱势状态&#xff0c;周线上正在构建一个新的下跌趋势&#xff0c;而且正在反抽过程中&#xff0c;即将完成&#xff0c;如果没有外部干预&#xff0c;会顺势往下。从月线来看&#xff0c;高点逐步降低&a…...

mac使用mvn下载node-sass 会Binary download failed, trying source

m1 上使用nvm 以下node的版本可以直接下载&#xff08;Binary download&#xff0c;而不是 trying source&#xff09;而不用切换mac cpu架构 zhiwenwenzhiwenwendeMBP cockpit % nvm install 14.15.5 Downloading and installing node v14.15.5... Downloading https://node…...

【C++】开源:Muduo网络库配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Muduo网络库配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下…...

VCS ICO - Intelligent Coverage Optimization

ico是vcs提供的用于优化覆盖率的feature&#xff1b;一般用户通过dist solver bofore等约束了变量的随机概率&#xff0c;而ico会在用户约束的基础上&#xff0c;做一些自动“修正”&#xff0c;以此来优化随机激励&#xff0c;提高随机多样性&#xff0c;加速覆盖率收敛&#…...

【分布式系统】分布式系统的8个谬误

网络可靠 对于分布式系统来说&#xff0c;网络、计算、存储是三大基石&#xff0c;系统之间进行拆分隔离之后&#xff0c;那么必定存在网络通讯&#xff0c;而网络是最不可靠的。 不管是从硬件层面还是软件层面来说&#xff0c;网络是不可靠的。&#xff08;断电、配置错误、ID…...

tinkerCAD案例:25. 量角器 - 测量角度

tinkerCAD案例&#xff1a;25. 量角器 - 测量角度 原文 Now we’re going to make a protractor! A Protractor is one of the most basic, but essential, tools for making measurements. It is, then, surprising that the modern protractor is barely over 200 years ol…...

电子商务网站建设讯息/快速网站排名优化

tomcat超时解问题 在eclipse启动tomcat时遇到超时45秒的问题&#xff1a; 错误&#xff1a;Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds 错误提示就是我们限定了部署的时间导致的错误。改动 workspace\.metadata\.plugins\org.eclipse.wst.…...

广东品牌网站建设968/seo关键词推广怎么做

2019独角兽企业重金招聘Python工程师标准>>> Redis单点时&#xff0c;当一台机器挂机了&#xff0c;redis的服务完全停止&#xff0c;这时就会影响其他服务的正常运行。下面利用redis sentinel做一个主从切换的集群管理。 下面两段官方的说辞&#xff1a; Redis Sen…...

asp作业做购物网站代码/网页关键词排名优化

使用MMKV替代SharedPreferences&#xff0c;好处&#xff1a;MMKV是微信应用程序中使用的一种高效、小巧、易用的移动键值存储框架。目前在iOS、macOS、Android和Windows上都可以使用。一、在app的build.gradle中引入implementation com.tencent:mmkv:1.0.19二、在application里…...

discuz做网站赚钱经历/网络推广和网站推广平台

首先搞明白mvvm是啥意思。vm是view mode的意思。所以mvvm框架是要有一个vm对象&#xff0c;来映射view。也就是vm对象的属性发生改变的时候&#xff0c;对应的视图部分会相对应更新。比较经典的有knockoutjs&#xff0c;里面比较关键的概念就是view model&#xff0c;compute&a…...

功能网站开发/win7优化

很多新手电脑屏幕亮度不知道如何调整&#xff0c;这是一个非常重要的问题。电脑屏幕的亮度不仅关系到电脑的节能和使用寿命&#xff0c;而且对我们的眼睛也有很大的影响。很多游戏迷&#xff0c;上班族或学生&#xff0c;整天在哭眼睛疼&#xff0c;眼睛累&#xff0c;但又必须…...

传媒大学附近网站建设公司/b站推广网站入口mmm

本文讲解如何通过ElementTree来操作XML&#xff1b; 1.引入库需要用到3个类&#xff0c;ElementTree&#xff0c;Element以及建立子类的包装类SubElement from xml.etree.ElementTree import ElementTreefrom xml.etree.ElementTree import Elementfrom xml.etree.ElementTree …...