截至2017年8月,不幸的是,Pandas DataFame.apply()仅限于使用单核,这意味着多核机器在运行时将浪费大部分计算时间df.apply(myfunc, axis=1)
.
如何使用所有核心并行运行应用于数据帧?
钳位功能是 clamp(x, min, max) = min if x < min, max if x > max, else x
我需要一个像钳位函数一样的函数,但它是平滑的(即具有连续导数).
我已经构建了一个sklearn管道,它将标准支持向量回归组件与一些创建功能的自定义变换器相结合.然后将该管道放入一个经过训练然后腌制的物体中(这似乎是推荐的方式).unpickled对象用于进行预测.
对于分发,这将变为带有pyinstaller的可执行文件.
当我从单元测试中调用unpickled回归对象时,它工作正常.
但是,当我尝试使用PyInstaller二进制文件进行预测时,我得到一个以下结尾的长堆栈跟踪:
Run Code Online (Sandbox Code Playgroud)module = loader.load_module(fullname) File "messagestream.pxd", line 5, in init scipy.optimize._trlib._trlib ImportError: No module named 'scipy._lib.messagestream'
这感觉就像某种酸洗错误,可能是由于酸洗与pyinstaller的相互作用.如何重构我的代码,以便我的自定义管道在打开后像标准sklearn回归程序一样容易和强大地运行?
这里的目标是在 AWS Linux 机器上安装dplyr-snowflakedb R
包。问题是该rJava
软件包无法安装,失败并显示以下错误消息:
“installation of package ‘rJava’ had non-zero exit status”
Run Code Online (Sandbox Code Playgroud)
该dplyr.snowflakedb
软件包提出以下建议:
需要安装 rJava 包并使用 Java 8 来支持 SnowflakeDB JDBC 要求。这可能需要:
安装 Java 8
运行 R CMD javareconf 所以 R 使用 Java 8 作为它的 JAVA_HOME
从源代码安装 rJava,以便它可以与 Java 8 链接
尽管尝试了这些策略,rJava 仍然无法安装在 AWS linux 上。
AWS linux 实例运行的是 Java 8:
conda activate ~/anaconda3/envs/R
(R) [ec2-user@ip-xx-xx-xx-xx ~]$ java -version
>>> openjdk version "1.8.0_152-release"
>>> OpenJDK Runtime Environment (build 1.8.0_152-release-1056-b12)
>>> OpenJDK 64-Bit Server …
Run Code Online (Sandbox Code Playgroud) java r amazon-web-services dplyr snowflake-cloud-data-platform
pandas ×2
python ×2
dask ×1
dplyr ×1
java ×1
numpy ×1
pickle ×1
pyinstaller ×1
r ×1
scikit-learn ×1
smoothstep ×1