器→工具, 开源项目, 数据, 术→技巧

相关性分析之Predictive Power Score(PPS)

钱魏Way · · 2,209 次浏览
!文章内容如有错误或排版问题,请提交反馈,非常感谢!

常用相关性分析存在的问题

1、有许多非线性的关系是分数根本无法检测到的,比如下图:

 

2、计算出来的矩阵是对称的,即a与b的相关性同b与a的相同。更多的时候,关系是不对称的。一个有3个唯一值的列永远不可能完美地预测另一个有100个唯一值的列。但事实可能恰恰相反。显然,不对称很重要,因为它在现实世界中非常普遍。

Predictive Power Score (PPS)的实现逻辑

假设我们有两个列,想要计算a预测b的预测能力得分。在这种情况下,我们将b视为目标变量,将a视为(唯一)特性。我们现在可以计算一个交叉验证的决策树,并计算一个合适的评估度量。当目标是数值时,我们可以使用决策树回归模型计算平均绝对误差(MAE)。当目标是分类的,我们可以使用一个决策树分类器,并计算加权F1。你也可以使用其他的分数,比如ROC等。

PPS使用示例(Python)

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import ppscore as pps

df = pd.read_excel("data/train.xlsx")

plt.figure(figsize=(15,13))
sns.heatmap(pps.matrix(df), annot=True, vmin=0, vmax=1, cmap='Blues', fmt=".2f")
plt.title("Predictive Power Score")
plt.savefig('corr_pps.png')

执行结果:

参考链接:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注