- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个名为“数据”的数据框。我计算了数据的相关性:
corr = data.corr()
我想从“数据”文件中删除相关性大于 0.75 的列。这可以在 R 中使用以下命令非常容易地完成:
hc=findCorrelation(corr,cutoff = 0.75)
data <- data[,-c(hc)]
我正在寻找 python 中的类似命令。 pandas 或 scikit-learn 中是否有任何命令可以完成类似的工作?
最佳答案
第 1 步. 准备一些数据
from scipy.stats import multivariate_normal
covs = np.eye(10)
for i in range(10):
for j in range(10):
if i!=j:
covs[i,j] = (i*j)/100
mvn = multivariate_normal(cov=covs)
data = mvn.rvs(size = 100)
data.shape
(100, 10)
第 2 步。可视化相关性。
在这里,您有一个二维相关的 ndarray。数据被组织成列,案例在行中。为了对列数据运行关联,您需要先转置数组(提示:numpy 按行运行关联):
r = np.corrcoef(data.T)
plt.imshow(r, cmap = "coolwarm")
plt.colorbar();
如您所见,某些列(特征,正如他们在统计学或 ML 中所说的那样)高度相关。
第 3 步。删除相关列
让我们找出哪些元素的相关性超过了 .5
阈值,不包括显然完全自相关的对角线元素:
idx = np.abs(np.tril(r, k= -1)) < .5
idx_drop = np.all(idx, axis=1)
data_uncorr = data[:, idx_drop]
data_uncorr.shape
(100, 8)
这意味着我们去掉了 2 个共线列。
第 4 步。健全性检查
让我们从视觉上和数学上做一些检查:
plt.imshow(np.corrcoef(data_uncorr.T), cmap = "coolwarm")
plt.colorbar();
np.sum(np.abs(np.tril(np.corrcoef(data_uncorr.T), k=-1)) >.5)
0
关于python - python pandas 中的等效 R "findcorrelation(corr,cutoff = 0.75)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44994791/
tidy.source(source = "ugly.R", file = "pretty.R", reindent.spaces = 2,
现在使用C++ 17 published,标准库现在涵盖了甚至更多的Boost库:可选,变体,任何,ASIO(在Networking TS中),协程(在TS中)等等。除了标准中已经包含的gob和Boo
假设我想创建一个宽度和高度为 100x200 的 UIView。 然后,我想创建一个大小为 100x300 的 UIImageView(因为这是我的图像的大小)。 但是,我希望将图像的底部 100px
如何增加 Eclipse 中的输出行数,以便我在 scala 工作表中不再收到此消息: Output exceeds cutoff limit. 最佳答案 在 Eclipse 首选项中,有一个用于 S
如何增加 IntelliJ 中的输出行数,以便在 Scala 工作表中不再收到此消息: Output exceeds cutoff limit. 最佳答案 文件 -> 设置... -> 语言和框架 -
PostgreSQL 9.6。服务器最近从突然断电中恢复过来。 当在 pgadmin 中为表 Current 运行 select 命令时,它显示 invalid page in block 64553
http://jsfiddle.net/erfjW/2/ 我正在尝试让这个 jsfiddle 在浏览器窗口变得太小时让 RHS 不下降到下一个级别。相反,我希望它保持位置——就好像它在固定宽度的父容器
我正在使用 WebAudio 构建 Roland Juno-106 合成器的仿真器。 The live WIP version is here . 如果在启动或释放期间更改了截止频率或包络调制量,同时
我有一个名为“数据”的数据框。我计算了数据的相关性: corr = data.corr() 我想从“数据”文件中删除相关性大于 0.75 的列。这可以在 R 中使用以下命令非常容易地完成: hc=fi
我是一名优秀的程序员,十分优秀!