logistic回归的监督多元离散化与层次合并

glmdisc的Python项目详细描述


#监督的多元离散化和logistic回归的因子水平合并

由于监管和可解释性的原因,logistic回归仍然被广泛用于从数据中学习这种可能性。尽管logistic回归处理的是自然的定量和定性数据,但通常要进行三个预处理步骤:首先,通过给预先确定的区间分配因子水平来离散连续特征;其次,如果定性特征取多个值,第三,交互作用(两个不同预测因子之间的产品)被稀疏地引入。通过重新解释离散化(resp.通过随机期望最大化(sem)算法和吉布斯(gibbs)采样器,将特征作为潜在变量,我们能够找到最佳离散化(resp)。分组)方案w.r.t.逻辑回归损失。为了检测交互特征,用metropolis-hastings算法代替gibbs取样器,使用了相同的方案。这种方法的良好性能在农业信贷消费金融的模拟和真实数据中得到了说明。

###先决条件

python 3支持此代码。

根据安装文件的指定,此包要求您具有sklearn、numpy、scipy、math、warnings和collections包。有关如何安装这些程序的说明,请参阅它们各自的文档。


您可以使用:


``powershell
pip install git+https://github.com/jkbr/httpie.git
```




>如果未安装"git",您还可以使用:

``powershell
``powershell
pip install--升级https://github.com/adimajo/glmdisc-python/archive/master.tar.gz
````





<<<
安装通过"pip"命令

,您可以通过使用:

``powershell
`pip install glmdisc
``````
``powershell
pip install glmdisc
```

`pip命令**安装的稳定版本。如果没有,请提出一个问题。

在代理后面工作…

获取包的一个简单解决方案是使用"pip"的"--proxy"选项:

``powershell
pip--proxy=http://username:password@server:port install glmdisc
```

,其中*username*、*password*、*server*和*port*应替换为您自己的价值观。


**下面是对离散化问题的快速介绍,以及此软件包如何回答问题。**

**如果您希望查看软件包的实际运行情况,请参阅随附的Jupyter笔记本。**

**如果您寻求有关软件包或其功能的特定帮助,请参阅ReadtheDocs。**





统计建模器有关于每个客户特征的历史数据。显然,只有在查询时可用的数据才能用于构建未来的应用程序记分卡。这些数据通常采用一个结构良好的表的形式,每一个客户都有一行数据和他们的表现(他们是否偿还了贷款?)从下表中可以看出:



工作居住工作时间子女;家庭状况默认;

鳏夫不
高管创业者5 2单身是
办公室员工按家庭2 3已婚否

符号

latex=\inline&;space;$x=(x^j)_1^d$"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&space;$x=(x^j)_1^d$"title="$x=(x^j)_1^d$"/>;<;/a>;将指定预测功能,即客户的特征。随机变量<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;y&;space;\in&;space;\{0,1\}"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&;space;y&space;\in&space;\{0,1}"title="y\in\{0,1}"/>;<;/a>;将指定标签,即如果客户端已默认(<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;y=1"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;y=1"title="y=1"/>;<;/a>;)是否(<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;y=0"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;y=0"title="y=0"/>;<;/a>;)。

LaTex=\inline&;space;(\bar{x},bar{y})&;space;=&space;(x_i,y_i)u 1^n"target="u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;(\bar{x},bar{y})&;space;=&;space;(x_i,y_i)u 1^n"title="(\bar{x},bar{y})=(x_i,y_i)u 1^n"/>;<;&a>;包含在<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;n"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;n"title="n"/>;<;/a>;观察<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x"title="x"/>;<;/a>;和<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;y"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;y"title="y"/>;<;/a>;


\logistic regression

logistic regression模型假设<;a href="https://www.codecogs.com/eqnedit.php之间存在以下关系?latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x"title="x"/>;<;/a>;和<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;y"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;y"title="y"/>;<;/a>;:

<;a href="https://www.codecogs.com/eqnedit.php?而左派(&;space;&;space;\frac{p{p{p{p{p{p{p{p}(y=1 x)}&;space;&;space;&;space;&;space;\theta{j=1}&;space;\theta{j{j=1}^d&;space;\theta{p}&;space;\sum{j{j{j{j}&;space;\theta{p{p{p{p{p{p{p}x}s.com/gif.latex?\ln&space;\left(&space;\frac{p_\theta(Y=1|x)}{p_\theta(Y=0|x)}&space;\right)&space;=&space;\theta_0&space;&plus;&space;\sum_{j=1}^d&space;\theta_j*x^j" title="\ln \left( \frac{p_\theta(Y=1|x)}{p_\theta(Y=0|x)} \right) = \theta_0 + \sum_{j=1}^d \theta_j*x^j" /><;/a>;


在哪里<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;\theta&space;=&space;(\theta&u j)u 0^d"target="u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;\theta&space;&;space;(\theta-j)&u 0^d"title="\theta=(\theta-j)&u 0^d"/>;<;/a>;使用<;a href="https://www.codecogs.com/eqnedit.php进行估算?latex=\inline&;space;(\bar{x},bar{y})"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&;space;(\bar{x},bar{y})"title="(\bar{x},bar{y})/>;<;/a>;

响应的转换<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;y"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;y"title="y"/>;<;/a>;与<;a href="https://www.codecogs.com/eqnedit.php有关?latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&;space;x"title="x"/>"><;/a>;


在收集到的所有个人信息中,有些与预测无关<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;y"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;y"title="y"/>;<;/a>;。他们的系数<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;\theta_j"target="撸blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;\theta_j"title="\theta_j"/>;<;/a>;应为0,这可能(最终)是渐近的情况(即<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;$n&;space;\rightarrow&;space;\infty$"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&space;$n&space;\rightarrow&space;\infty$"title="$n\rightarrow\infty$"/>;<;/a>;)。

在训练机器学习算法(如logistic回归)之前,

例如,请参见"scklearn"包中的"feature\u selection"子模块。

"glmdisc"不是一个功能选择工具,但起到了副作用:当连续功能离散为一个间隔时,或当分类功能重组为一个值时,然后,此功能将退出模型。

有关功能选择的详细参考,请参见Guyon,I.,&Elisseeff,A.(2003)。变量和特征选择简介。*机器学习研究杂志,3*(Mar),1157-1182.


\latex=\inline&;space;y"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;y"title="y"/>;<;/a>;与<;a href="https://www.codecogs.com/eqnedit.php有关?latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x"title="x"/>;<;/a>;。可能根本不是这样的。

例如,我们可以用任意的<;a href="https://www.codecogs.com/eqnedit.php?"latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&;space;x"title="x"/>"><;/a>;然后尝试拟合线性逻辑模型:

-[]显示python代码

-[]联机获取此图

a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x^5"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^5"title="x^5"/>;<;/a>;可以解决问题。这在实践中是不能做到的,原因有二:第一,检查所有特征和候选多项式太费时;第二,我们失去了逻辑决策函数的可解释性,这是最重要的。当然,我们希望离散化输入变量<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\将&;space;x"title="x"/>"><;/a>;内联到分类功能中,该分类功能将"最小化"与"真实"基础关系相关的错误:

-[]显示python代码

-[]联机获取此图


由于具有分类特征,logistic回归模型适合其所有值的系数(作为参考的系数除外)。当有太多的值时,会出现一个常见的问题,因为每个值都将由少量的观察结果获取<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x_i^j"target="_blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x_i^j"title="x_i^j"/>;<;/a>;这使得logistic回归系数的估计不稳定:


-[]显示python代码

-[]在线获取此图



我们得到:

-[]显示python代码

-[]联机获取此图





所有跨越0的间隔都不显著!我们应该对因子值进行分组,以获得稳定的估计值和(希望)显著的系数值。



latex=\inline&;space;e=(e^j)_1^d"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联<;space;e=(e^j)_1^d"title=(e^j)_1^d"/>;<;/a>;是<;a href="https://www.codecogs.com/eqnedit.php的潜在离散化转换?latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x"title="x"/>;<;/a>;,即在<;a href="https://www.codecogs.com/eqnedit.php中获取值?LaTex=\inline&;space;\{0\ldots,m_j\}"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&;space;\{0、\ldots、m琰j\}"title="\{0、\ldots、m琰j\}"/>;<;/a>;其中每个协变量的值的数目<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;m_j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;m_j"title="m_j"/>;<;/a>;也是潜在的。

而在这一领域,人们又多了几分留恋;在这一领域,人们又多了几分留恋;在这一领域,人们又多了几分留恋;在这一领域,人们又多了几分留恋;在这一领域,人们又多了几分留恋;在这一领域;在这一领域,人们又多了几分留恋;在这一领域;在这一领域,人们又多了几分留恋;在这一领域;在这一领域,人们又多了几分留恋;在这一领域,人们又多了几分留恋;在这一领域,人们又多了这一领域;在这一领域,人们又多了一领域;在这一领域,又一领域,人们又多了一领域,又多了一领域;在这一领域;在这一领域,人们的_k*{1}{e^j=k}"target="_blank">;<;img src="https://latex.codecogs.com/gif.latex?\ ln&space;\left(&space;\frac{p_theta(y=1 e)}{p_theta(y=0 e)}&space;\right)&space;=&space;\theta_0&space;&plus;space;\sum{j=1}^d&space;\sum{k=1}^{m_j}&space;\这是一个{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{J{E{P{T(Y=1{E{E{E{E{E{P{E{E{E{E{P{E{E{E{E{E{E{E{E{E{E{E}"/>;<;/a>;

a href="https://www.codecogs.com/eqnedit.php?latex=p(y e)"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?p(y e)"title="p(y e)"/>;


\

我们的目标是获得模型<;a href="https://www.codecogs.com/eqnedit.php?latex=p\theta(y e)"target="u blank">;<;img src="https://latex.codecogs.com/gif.latex?具有最佳预测能力的p_θ(y_e)"title="p_θ(y_e)"/>;<;/a>;。作为<;a href="https://www.codecogs.com/eqnedit.php?乳胶=e"target="掼blank">;<;img src="https://latex.codecogs.com/gif.latex?e"title="e"/>;<;/a>;和<;a href="https://www.codecogs.com/eqnedit.php?latex=\theta"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\ theta"title="\theta"/>;<;/a>;都经过了优化,正式的拟合优度标准可以是:
<;a href="https://www.codecogs.com/eqnedit.php?乳胶=(\hat{\theta}、\hat{\bar{e})&space;=&space;\arg&space;\max{\theta、\bar{e}&space;\text{aic}(p{theta(\bar{y}\bar{e}))"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?(\hat{\theta},\hat{\bar{e}})&space;=&space;\arg&space;\max_{\theta,\bar{e}}&space;\text{AIC}(p_\theta(\bar{y}|\bar{e}))" title="(\hat{\theta},\hat{\bar{e}}) = \arg \max_{\theta,\bar{e}} \text{AIC}(p_\theta(\bar{y}|\bar{e}))" /></a>
AIC代表Akaike信息标准。



latex=x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?x"title="x"/>;<;/a>;到<;a href="https://www.codecogs.com/eqnedit.php?latex=e"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?e"title="e"/>;<;/a>;,学习<;a href="https://www.codecogs.com/eqnedit.php?latex=p\theta(y e)"target="u blank">;<;img src="https://latex.codecogs.com/gif.latex?p_theta(y e)"title="p_theta(y e)"/>;<;/a>;,对于每一个并比较它们的aic值,问题将得到解决。

不幸的是,有太多的候选者需要遵循此过程。假设我们要构造k个<;a href="https://www.codecogs.com/eqnedit.php间隔?latex=e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?e^j"title="e^j"/>;<;/a>;给定n个不同的<;a href="https://www.codecogs.com/eqnedit.php?乳胶=(x^j_i)_1^n"target="_blank">;<;img src="https://latex.codecogs.com/gif.latex?(x^j_i)_1^n"title="(x^j_i)_1^n"/>;<;/a>;。有<;a href="https://www.codecogs.com/eqnedit.php?latex=n&;space;\choose&;space;k"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?n&;space;\choose&;space;k"title="n\choose k"/>;<;/a>;型号。k的真值是未知的,所以必须循环。最后,由于logistic回归是一个多变量模型,<;a href="https://www.codecogs.com/eqnedit.php?latex=e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?e^j"title="e^j"/>;<;/a>;会影响<;a href="https://www.codecogs.com/eqnedit.php的离散化吗?latex=e^k"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?e^k"title="e^k"/>;<;/a>;,<;a href="https://www.codecogs.com/eqnedit.php?latex=k&;space;\neq&;space;j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?k&;space;\neq&space;j"title="k\neq j"/>;<;/a>;。

因此,现有的离散化方法(尤其是连续属性的离散化)依赖于强大的假设,以简化对优秀候选人的搜索,这在Ramírez-Gallego,S.等人的评论中可以看到。(2016)-请参阅参考资料部分。




离散化和分组:估计

似然估计

<;a href="https://www.codecogs.com/eqnedit.php?latex=e"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?e"title="e"/>;<;/a>;可以在<;a href="https://www.codecogs.com/eqnedit.php中引入?latex=p(y x)"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?p(y x)"title="p(y x)"/>;<;/a>;:
<;a href="https://www.codecogs.com/eqnedit.php?LaTex=\forall&space;\:&space;x,y,&space;\;&space;p(y x)&space;=&space;\sum&e&space;p(y x,e)p(e x)"target="(u blank)>;<;img src="https://latex.codecogs.com/gif.latex?\对于所有&;space;&;space;&;space;&;space;&;space;p(y x)&;space;&;space;&;space;&;p(y x,e)p(e x)title="\forall:x,y,\;p(y x)=\和e p(y x,e)p(e x)p(e x)"/>;<;a>;


首先,我们假设我们假设,我们假设,我们假设,首先,我们假设,我们假设,我们假设,我们假设,我们假设所有有关<;a href="https://www.codecogs.com/eqnedit.php的信息?latex=\inline&;space;y"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\在<;a href="https://www.codecogs.com/eqnedit.php"中的内联&;space;y"title="y"/>;<;/a>;?latex=\inline&;space;x"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联<;space;x"title="x"/>;<;/a>;已包含在<;a href="https://www.codecogs.com/eqnedit.php中?latex=\inline&;space;e"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e"title="e"/>;<;/a>;,以便:
<;a href="https://www.codecogs.com/eqnedit.php?latex=\forall&;space;\:&;space;x,y,e,&;space;\;&;space;p(y x,e)=p(y e)"target="u blank">;<;img src="https://latex.codecogs.com/gif.latex?\对于所有&;space;\:&;space;x,y,e,&;space;\;&space;p(y x,e)=p(y e)"title="\forall\:x,y,e,\;p(y x,e)=p(y e)"/>;<;/a>;
第二,我们假设<;a href="https://www.codeogs.com/eqnedit.php的条件独立性?latex=e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?e^j"title="e^j"/>;<;/a>;给定的<;a href="https://www.codecogs.com/eqnedit.php?latex=x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?x^j"title="x^j"/>;<;/a>;,即了解<;a href="https://www.codecogs.com/eqnedit.php?latex=x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?x^j"title="x^j"/>;<;/a>;,离散化<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e^j"title="e^j"/>;<;/a>;独立于其他功能<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x^k"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^k"title="x^k"/>;<;/a>;和<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e^k"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e^k"title="e^k"/>;<;/a>;<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;k&;space;\neq&;space;j"target="撸blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;k&;space;\neq&space;j"title="k\neq j"/>;<;/a>;:
<;a href="https://www.codecogs.com/eqnedit.php?LaTex=\forall&;space;\:x,&;space;k\neq&;space;j,&;space;\;&space;e^j&;space;&space;x^j&;space;\perp&space;e^k&space;&space;x^k"target="blank">;<;img src="https://latex.codecogs.com/gif.latex?\对于所有的人和空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&&;空间;&&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;x^k"title=""\所有的人和空间;&;k;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间;&;空间br/><;a href="https://www.codecogs.com/eqnedit.php?latex=\forall&;space;\:&space;x,y,&space;\;&space;p(y x)&space;=&space;\sum&u e&space;p(y e)&;space;\prod{j=1}^d&space;p(e^j x^j)"target="u blank">;<;img src="https://latex.codecogs.com/gif.latex?\而对于所有的公司和企业来说,这一点是值得关注的,而且是值得关注的,而且是值得关注的,这一点是值得关注的,而且是值得关注的,这一点是值得关注的,而且是值得关注的,这一点是值得关注的,而且是值得关注的。如前所述,j=1}^d p(e^j x^j)" />我们只考虑离散化数据的逻辑回归模型<;a href="https://www.codecogs.com/eqnedit.php?乳胶=内联空间获取="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;p_theta(y e)"title="p_theta(y e)"/>;<;/a>;。此外,我们似乎还必须对<;a href="https://www.codecogs.com/eqnedit.php?的关系性质作出进一步假设。latex=\inline&;space;e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e^j"title="e^j"/>;<;/a>;到<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^j"title="x^j"/>;<;/a>;。我们选择对连续的<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^j"title="x^j"/>;<;/a>;和定性<;a href="https://www.codecogs.com/eqnedit.php的内容表?latex=\inline&;space;x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^j"title="x^j"/>;<;/a>;。这是一个任意的选择,未来的版本将包括插入您自己的模型的可能性。

而对于所有的人来说,这一幕幕又是一幕幕幕;而对于X、Y、Y和空间;对于P(Y X)和P(Y X)和P(Y X)和P(Y X)和P(Y E)和P(Y E空间;\prod{J=1}^D&;空间;P(E X X X J J J J J J J J J com/gif.latex?\forall&space;\:&space;x,y,&space;\;&space;p(y|x)&space;=&space;\sum_e&space;p_\theta(y|e)&space;\prod_{j=1}^d&space;p_{\alpha_j}(e^j|x^j)" title="\forall \: x,y, \; p(y|x) = \sum_e p_\theta(y|e) \prod_{j=1}^d p_{\alpha_j}(e^j|x^j)" /></a>


latex=\inline&;space;p(y x;\theta,alpha)"target="blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;p(y x;\theta,alpha)"title="p(y x;\theta,alpha)"/>;<;/a>;,因为候选离散化的数量如前所述是巨大的。

但是,计算<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;p(y,e x)"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&space;p(y,e x)"title="p(y,e x)"/>;<;/a>;很简单:
<;a href="https://www.codecogs.com/eqnedit.php?LaTex=\forall&;space;\:&space;x,y,&space;\;&space;p(y,e x)&space;=&space;p theta(y e)&space;\prod{j=1}^d&space;p{\alpha j}(e^j x^j)"target="blank">"<;img src="https://latex.codecogs.com/gif.latex?\forall&space;\:&space;x,y,&space;\;&space;p(y,e|x)&space;=&space;p_\theta(y|e)&space;\prod_{j=1}^d&space;p_{\alpha_j}(e^j|x^j)" title="\forall \: x,y, \; p(y,e|x) = p_\theta(y|e) \prod_{j=1}^d p_{\alpha_j}(e^j|x^j)" /></a>

As a consequence, we will随机抽取候选人<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e"title="e"/>;<;/a>;大致处于分发模式<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;p(y,\cdot x)"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\使用扫描电镜算法(请参阅参考部分)在线&;space;p(y,cdot x)"title="p(y,cdot x)/>;><;/a>;。






在每次随机绘制时更新参数<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;\theta"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;\theta"title="\theta"/>;<;/a>;和<;a href="https://www.codecogs.com/eqnedit.php?洛杉矶tex=\inline&;space;\alpha"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;\alpha"title="\alpha"/>;<;/a>;,并提出新的离散化<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e"title="e"/>;<;/a>;,我们使用以下公式:
<;a href="https://www.codecogs.com/eqnedit.php?乳胶=p(e^j x^j,y,e^{{-j})&;space;\propto&;space;p_theta(y e)&space;p{\alpha_u j}(e^j x^j)"target="u blank">;<;img src="https://latex.codecogs.com/gif.latex?p(e^j x^j,y,e{-j}{-j}{-j}{-j{-j,y,e,e{-j}{-j{-j{-j{{-j{-j{-j}{-j}{-j}{-j}}{p(e{-j{-j}}{-j}}{-j}{-j}{-j}}{p(e{-j{-j}}}}}{}{}{{{{j}{}{{124; x^j)"/>;请注意,我们绘制了<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e^j"title="e^j"/>;<;/a>;了解所有其他变量,尤其是<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e^{-j}"target="撸blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&;space;e^{-j}"title="e^{-j}"/>;<;/a>;这样我们就引入了gibbs采样器(参见参考资料部分)。






首先对其参数进行了描述,然后对其内部结构进行了简要的讨论。我们最后关注它的输出。





首先使用低(10-50)`iter`参数运行'glmdisc'函数会很有用,这样您就可以更好地了解代码的运行时间。

集合。验证集旨在评估每次迭代时模型的质量,而测试集则提供最终选择模型的质量度量。


"criterion"参数允许用户在标准模型选择统计数据(如"aic"和"bic")和"gini"之间进行选择。`指标绩效指标(与更传统的AUC指标成比例)。请注意,如果"validation=true",则无需惩罚日志可能性,"aic"和"bic"变得等价。相反,如果'criteria="gini"`和'validation=false',则算法可能会超出训练数据。

`m_start'参数控制最大类别数<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e^j"title="e^j"/>;<;/a>;<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^j"title="x^j"/>;<;/a>;连续。sem算法将从random<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e^j"title="e^j"/>;<;/a>;接受<;a href="https://www.codecogs.com/eqnedit.php中的值?latex=\inline&;space;\{1,m{\text{start}}"target="{u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;\{1,m{\text{start}}"title="\{1,m{\text{start}}}"/>;<;/a>;。对于定性功能<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^j"title="x^j"/>;<;/a>;,<;a href="https://www.codecogs.com/eqnedit.php?乳胶=\inline&;space;e^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;e^j"title="e^j"/>;<;/a>;初始化时使用的值与<;a href="https://www.codecogs.com/eqnedit.php相同?latex=\inline&;space;x^j"target="\u blank">;<;img src="https://latex.codecogs.com/gif.latex?\内联&;space;x^j"title="x^j"/>"><;/a>;,因此"m_start"没有影响。

实证研究表明,在相当小的训练数据集(<;100000行)和较小的"m_start"参数(<;20)下,大约500到1500次迭代就足以获得令人满意的模型<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;p_theta(y e)"target="blank">;<;img src="https://latex.codecogs.com/gif.latex?\ inline&;space;p_theta(y e)"title="p_theta(y e)"/>;







\fit`函数用于在提供给它的数据上运行算法。然后,它的参数是:predictors和predictors分别表示要离散的连续特征和要重新组合的分类特征。它们必须是numpy数组类型,分别用数字和字符串填充。最后一个参数是"labels"类,也是numpy array类型,二进制形式(0/1)。






\bestformula函数

分类特征值的重新组合。它还会在列表中返回它。




\使用迄今为止找到的最佳离散化方案返回"predictors_cont"和"predictors_qual"参数的离散化/重组版本。





\contdata函数返回"predictors_cont",`在列表中使用predicters qual和labels参数。



\结果是原始数据大小的numpy数组。




结果是一个伪(0/1)numpy数组,对应于"discretize"函数提供的结果的一个热编码。




\predict函数使用迄今为止通过"discretizedummy"函数找到的最佳离散化方案,然后应用相应的最佳逻辑回归模型<;a href="https://www.codecogs.com/eqnedit.php?latex=\inline&;space;p_theta(y e)"target="blank">;<;img src="https://latex.codecogs.com/gif.latex?\到目前为止发现的内联&;space;p_theta(y e)"title="p_theta(y e)"/>;<;/a>;。




要查看正在运行的包,请参阅随附的Jupyter笔记本。




\Biernacki](http://math.univ-lille1.fr/~biernack/)


许可证

ER金融](https://www.ca-consumerfinance.com/en.html)通过CIFRE博士学位。

G.,Chauveau,D.,Diebolt,J.(1995),关于EM算法的随机版本。【研究报告】RR-2514,印度研究所。1995。<;INRIA-00074164>;

Agresti,A.(2002)**分类数据**。第二版。Wiley.

Ramírez‐Gallego,S.,García,S.,Mouriño‐talin,H.,Martínez‐rego,D.,Bolón‐canedo,V.,Alonso‐Betanzos,A.和Herrera,F.(2016年)。数据离散化:分类和大数据挑战。*威利跨学科评论:数据挖掘和知识发现*,6(1),5-21.

-[]做笔记本

-[]做测试

-[]做sphinx+阅读docs文档






预测功能$x$"交互"对方的响应功能。这是经典的信用评分或生物统计学(只有同时存在几个特征-基因,单核苷酸多态性,etc.是一种疾病的预测方法。

这将是未来工作的主题。






-实际概率密度函数$p(y x)$可以用离散数据$e$上的逻辑回归$p theta(y e)$来近似。
>;$e^j$与$x^j$之间关系的性质是:
>;-如果$x^j$是连续的,则为多元逻辑回归;
>;-上下文表如果$x^j$是定性的。

结果<
x=matrix(runif(1000,nrow=1000,ncol=1)
p=1/(1+exp(-3*x^5))
y=rbinom(1000,1,p)
p=1/(1+exp(-3*x,x^5))
y=rbinom(1000,1,p)
预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测预测我是说,作为.数据.帧(x)
```

` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `,labels=c(1,2,3,4,5))
型号磁盘<;-glm(y~x~u disc,family=二项式(link="logit"))
>pred~u disc<;-预测(modele~u disc,as.data.frame(x.disc,type="response")
>pred~u disc,as.data.frame,as.data.frame(x.disc),预测(modele~u disc,as.data.frame,as.data.frame(x.disc,x.frame)(x~u disc,as.data.frame,as.data.frame,as.data.frame,as.data.frame,x.disc,x.frame(x.disc,x.frame,x.disc))


``=P,p red-pred-lin=pred-lin,pred-disc=pred-disc)图(x,3*x^5,main="p(y x)的估计logit变换",ylab="p(y x)在不同模型下的p(y x)
(x,pred-lin-lin-logit,type="p",col="红色")
(x,pred-disc-logit,type="p",col="蓝色",col="p",col="p",col="p",col="p",col="p",col="blbr/>







``{r,echo=true,结果
x-discuu-discuu-discuu-discuu-dea<;因子(cut(x,c(-inf,0.1,0.2,0.3,0.3,0.4,0.4,0.5,0.5,0.6,0.7,0.8,0.9,+inf,0.2,0.3,4,4,5,6,7,8,9,10),标签=c(1,2,3,4,4,5,5,6,7,8,9,10,6,7,8,9,10))
`` ` ` ` `>br/>` ` ` ` `

` ` ` ` br/>
(k在1:10){
x部分<;-因子(x_disc_bad_idea[((k-1)*nrow(x)/10+1):(k/10*nrow(x)))
y_part<;-y[(k-1)*length(y)/10+1):(k/10*length(y))]
modele_part<;-glm(y_part~x_part,family=二项式(link="logit")
liste_coef[[k]<;-(modele_part$coeffic客户)
}


estim-coef<;-矩阵(na,nrow=nlevels(x_disc_bad_idea),ncol=10)


for(i in 1:nlevels(x_disc_bad_idea)){
estim-coef[i,]<;-unlist(lapply(liste_coef,function(batch)batch[粘贴0("x_part",


stats_coef<;-矩阵(na,nrow=nlevels(x_disc_坏主意,x_disc_坏主意),ncol=3)对于(i in 1:nllevels(x_disc_坏主意,x_disc_坏主意)的(i in 1:nllevels(x_disc_坏主意),ncol=3)




stats_coef[i,1]<;-均值(estim coef coef[i,],na.rm=true,na.rm=true)
stats_coef[i,2,2,2,2]的统计]<;-sd(估计系数[i,],na.rm=true)
stats_coef[i,3]<;-sum(is.na(estim_coef[i,])




stats_coef<;-stats_coef[1,]
row.names(stats_coef)<;-levels(x_disc_coef坏主意)[2:nlevels(x_disc_coef坏主意)

plot(row.names(row.names(stats_coef),stats_coef[i,1,1]>>>>>>

,ylab=估计系数,xlab=系数x的值,"ylim=c(-1,8))
段(as.numeric(row.names(stats_coef)),stats_coef[,1]-stats_coef[,2],as.numeric(row.names(stats_coef)),stats_coef[,1]+stats_coef[,2])
行(row.names(stats_coef),rep(0,length(row.names(stats_coef)),
```




































`````` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `,=100,ncol=3)
切割=顺序(0,1,out=4)
xd=apply(x,2,函数(col)as.numeric(cut(col,cutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcutcut))
theta=t(矩阵(c(0,0,0,2,2,2,--2,-,--2,--2,--2,ncol=3,nrow=3))
log奇=行和(t(sapply(seq沿着(xd[,1]),函数(row id)sapply(seq沿着(xd[row id,id,])),
函数(element)theta[xd[row id,row,id,row,id,元素],元素]))
y=rbinom(100,1,1/(1+exp(-log-odd))
````

`glmdisc`函数将尝试"恢复"隐藏的真正离散化"xd",如果只提供"x"和"y":
`````{r,echo=true,warning=false,message=false,results=hide,eval=false}
库(glmdisc)
离散化<;-glmdisc(x,y,iter=50,m_start=5,test=false,validation=false,criterion="aic",interact=false)
``````
`````{r,echo=false,warning=false,message=false,results='hide',eval=true}
库(glmdisc)
离散化<;-glmdisc(x,y,iter=50,m_u start=5,test=false,validation=false,criterion="aic",interact=false)
`````



要比较估计的和真实的离散化方案,我们可以将它们表示为输入的"原始"数据"x":
<;!--```{r,echo=true,out.width='.49\\linewidth',fig.width=3,fig.height=3,fig.show='hold'}-->;
````{r,echo=false}
绘图(x[,1],xd[,1])
绘图(离散化@cont.data[,1],离散化@disc.data[,1])
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
IntelliJ中的java默认Maven项目结构不一致   java我希望链接(在帖子和页面上)在一些访问者加载时被自动点击   java如何使用单独的方法隐藏JButton并在新类中调用   java KStream leftJoin KStream具有相同的密钥   java图像在垂直滚动窗格视图端口中消失   java从指定的起始点开始以n的增量填充数组   java JLabel和JTextField不在swing表单中应用   java springboot mongo如果没有映像,请使用现有映像   类似C++映射的java容器   java如何在没有Valgrind错误的情况下调用JNI_CreateJavaVM?   java如何在安卓中运行后台服务   java onPostExecute不运行