小编Mak*_*e42的帖子

如何更改GGally :: ggpairs的调色板?

这与R和ggpairs用户定义的调色板中的问题相同 ,或者有没有办法使用ggplot更改GGally :: ggpairs的调色板?

只有那里的解决方案不再有效.


我也想更改调色板,但有没有办法使用ggplot更改GGally :: ggpairs的调色板?不再起作用了.该怎么办?

MWE:

library(GGally)
library(ggplot2)
data(diamonds, package="ggplot2")
diamonds.samp <- diamonds[sample(1:dim(diamonds)[1],200),]
ggpairs(
  diamonds.samp[,1:2],
  mapping = ggplot2::aes(color = cut),
  upper = list(continuous = wrap("density", alpha = 0.5), combo = "box"),
  lower = list(continuous = wrap("points", alpha = 0.3), combo = wrap("dot", alpha = 0.4)),
  diag = list(continuous = wrap("densityDiag")),
  title = "Diamonds"
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想补充一下

scale_colour_manual(values=c('red','blue','green','red','blue'))
Run Code Online (Sandbox Code Playgroud)

(显然这只是虚拟代码)并得到类似的东西(我没有绘制所有的点):

在此输入图像描述

r ggally

6
推荐指数
1
解决办法
5898
查看次数

如何在(ana)conda环境中的Jupyter中为Spark Kernel安装Apache Toree?

我试图安装Jupyter -支持星火畅达环境(这是我设置使用http://conda.pydata.org/docs/test-drive.html)的的蟒蛇分布.我正在尝试使用apache toree作为Jupyter Kernel.

这是我安装Anaconda后的所作所为:

conda create --name jupyter python=3
source activate jupyter
conda install jupyter
pip install --pre toree
jupyter toree install
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我到达最后一行.我得到了

PermissionError: [Errno 13] Permission denied: '/usr/local/share/jupyter'
Run Code Online (Sandbox Code Playgroud)

这就引出了一个问题:为什么它甚至会查看该目录?毕竟它应该留在环境中.因此我感到满意

jupyter --paths
Run Code Online (Sandbox Code Playgroud)

得到

config:
    /home/user/.jupyter
    ~/anaconda2/envs/jupyter/etc/jupyter
    /usr/local/etc/jupyter
    /etc/jupyter
data:
    /home/user/.local/share/jupyter
    ~/anaconda2/envs/jupyter/share/jupyter
    /usr/local/share/jupyter
    /usr/share/jupyter
runtime:
    /run/user/1000/jupyter
Run Code Online (Sandbox Code Playgroud)

我不太确定发生了什么,以及如何继续运行(如果可能的话)conda环境"jupyter".

anaconda conda apache-spark jupyter-notebook apache-toree

6
推荐指数
1
解决办法
6711
查看次数

Poetry 如何处理二进制依赖项?(尤其是麻木)

到目前为止,我一直使用 conda 作为虚拟环境和依赖项管理。但是,将我的 environment.yml 文件从我的开发机器传输到生产服务器时,有些东西无法按预期工作。现在,我想研究替代方案。诗歌看起来不错,尤其是因为

诗歌还维护一个锁定文件,它比 pipenv 有好处,因为它跟踪哪些包是子依赖项。( https://realpython.com/effective-python-environment/#poetry )

这可能会大大提高稳定性。但是,我正在从事科学性很强的项目(矩阵、数据科学、机器学习),因此在实践中我需要 scipy 堆栈(例如 numpy、pandas、scitkit-learn)。

Python 对于一些纯计算工作负载来说变得太慢了,所以 numpy 和 scipy 诞生了。[...] 它们是用 C 编写的,只是包装成一个 python 库。

编译这样的库会带来一系列挑战,因为它们(或多或少)必须在您的机器上编译以获得最大性能并与 glibc 等库正确链接。

Conda 是作为一种多合一的解决方案引入的,用于为科学界管理 Python 环境。

[...] 不是在您的机器上使用脆弱的库编译过程,而是预编译库,并在您请求时才下载。不幸的是,该解决方案附带了一个警告 - conda 不使用 PyPI,这是最流行的 Python 包索引。

https://modelpredict.com/python-dependency-management-tools#fnref:conda-compiling-challenges

据我所知,这甚至不符合 Conda 的标准,因为它做了相当多的优化以充分利用我的 CPU/GPU/numpy 架构。( https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/#Myth-#6:-Now-that-pip-uses-wheels,-conda-is-no - 需要更长的时间

https://numpy.org/install/本身建议使用 conda,但也说可以通过 pip 安装(而诗歌使用 pypi)

对于那些从个人喜好或阅读下面关于 conda 和 pip 之间的主要区别而知道他们更喜欢基于 pip/PyPI 的解决方案的用户,我们建议:

[...] 使用 Poetry 作为维护最良好的工具,它以与 conda 类似的方式提供依赖项解析器和环境管理功能。

我想获得诗歌设置的稳定性和 conda 设置的速度。

诗歌如何处理二进制依赖?它是否也像 conda …

python numpy anaconda conda python-poetry

6
推荐指数
2
解决办法
2389
查看次数

具有getter和setter的对象的Fluent Interface(Java)

我阅读并欣赏了来自Lukas Eder 的文章http://blog.jooq.org/2012/01/05/the-java-fluent-api-designer-crash-course/,我想创建一个流畅的界面类.

该类有四个函数("words"fill1到fill4),它们允许设置对象属性和四个函数("words"get1 to get4)获取这些属性,但只有在设置了所需的属性时:

首先,我必须填写基本设置(fill1).之后我或者能够获得一些这些设置(get1到get3),这些是Strings.或者我可以填写更多信息(fill2到fill4).但是只有在每次 fill2到fill4被调用至少一次之后,才能调用最终的get4.我该怎么做呢?

第一个图(状态是黑点)显示我想要做什么,但你可以看到?标记不清楚的部分,因为如果保留在第一个图形中,即使只调用了fill2到fill4中的一个,它也会允许调用get4.

第二个图表会强制每个fill2到fill4已被调用但强制执行顺序并限制如果我想更改例如fill3,我也必须重置fill2和fill4.

最后一个图表会做我想要的,但它有13个状态!现在,如果我想象我只会在fill2到fill4的组中再添加一个属性,那么状态的数量会更多.

在此输入图像描述

编辑:此外,在考虑了一些之后,我注意到我这样做的方式(见下文)甚至无法实现最后一个图,因为在调用fill2之后,我们可能处于不同的状态 -取决于之前发生的事情.

我能做什么/应该做什么?

编辑:我实现我的流畅的界面有点像一个立面(如果我有正确的设计模式).我的意思是:我让实际的类几乎不受影响 - 返回它(如方法链接),但是在方法签名中将相应的状态接口作为返回值.状态由嵌套接口表示.例:

public class MyClass implements MyInterface.Empty, MyInterface.Full {

    String stuff;

    private MyClass(){};

    public static MyInterface.Empty manufactureNewInstance(){
        return new MyClass();
    }

    public MyInterface.Full fillStuff(String stuff){
        this.stuff = stuff;
        return this;
    }

    public String getStuff(){
        return stuff;
    }

}

public interface MyInterface {

    public interface Empty {
        public MyInterface.Full fillStuff();
    }

    public interface Full {
        public String …
Run Code Online (Sandbox Code Playgroud)

java fluent-interface

5
推荐指数
1
解决办法
1007
查看次数

如何从Python调用scala?

我想在 Scala 中构建我的项目,然后在 Python 脚本中使用它来进行数据黑客攻击(作为模块或类似的东西)。我已经看到有多种方法可以使用 Jython 将 python 代码集成到 JVM 语言中(尽管只有 Python 2 项目)。但我想做的是相反的。我在网上没有找到如何执行此操作的信息,但奇怪的是这应该是不可能的。

python scala

5
推荐指数
1
解决办法
9380
查看次数

方法是否使用类实例化,消耗大量内存(在 Scala 中)?

情况

我将构建一个密集数据操作的程序(使用 Scala 或 Python - 尚未决定)。我看到两种市长的做法:

  1. 方法:定义数据的集合。写我的函数。通过函数发送整个数据集。
  2. 方法:定义一个表示单个数据实体的数据类,并将方法(类成员)编码到数据类中。应该灵活的部分方法通过 Scala 函数或 Python lambda 发送到方法。

副题

我不确定,但第一种方法可能更像函数式编程,第二种方法更像 OOP,对吗?顺便说一句,我喜欢函数式编程和 OOP(有人说它们是对立的,但 Odersky 尽力用 Scala 来反驳这一点)。

主要问题

我更喜欢第二种方法,因为

  1. 对我来说似乎更简洁。
  2. 它使在无共享架构大数据设置中分发程序变得更容易,因为它遵循数据本地性原则为数据带来功能,而不是将数据引入功能。

但是,我担心如果我有很多数据(我确实有),我会消耗很多内存,因为该方法可能必须被实例化很多次。

  1. 问题: Scala/JVM 是这样吗?如果不是,如何解决?
  2. 问题:这对 Python 是真的吗——如果不是,它是如何解决的?

后续问题

引导我:我应该选择哪种方法?

更多上下文

  • 我有很多数据(数百万,可能是数十亿的数据对象)
  • 我没有那么多功能要实现。为了给出一个大概的数字,让我们说大约 10。
  • 不过,我希望对这些方法有很多调用。
  • 假设每个数据实体有 100 次调用,那么整个程序将有 100 * 100 万次调用。
  • 我的数据类代表单个实体,而不是整个数据集。
  • 我担心的是,每次实例化我的 DataObject 类时,都需要复制该方法的代码,这会消耗大量内存和处理能力。我不知道 JVM 和 Python 的内部在这方面是如何工作的,以及这是否属实——这就是我要问的。

这是一个粗略的 DataObject 类:

class DataObject {

    List datavalues

    def mymethod(){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

python oop jvm scala

5
推荐指数
1
解决办法
113
查看次数

如何运行本地Spark 2.x会话?

出于测试目的,我希望Spark 2.x以本地模式运行.我怎样才能做到这一点?我可以这样做吗?目前我写的是main:

val spark = SparkSession
  .builder
  .appName("RandomForestClassifierExample")
  .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

并在IntelliJ中运行main,但是我得到了错误

org.apache.spark.SparkException: A master URL must be set in your configuration
Run Code Online (Sandbox Code Playgroud)

我想我需要运行一些本地实例或设置本地模式或类似的东西.我该怎么办?

scala intellij-idea apache-spark

5
推荐指数
1
解决办法
4203
查看次数

如何更改sbt版本?

我想设置sbt版本。我尝试通过project/build.properties在项目中创建文件来完成此操作,并添加了以下代码行

sbt.version=0.13.13
Run Code Online (Sandbox Code Playgroud)

但是IntelliJ告诉我

未使用的财产

我该怎么做才能使IntelliJ使用不同的sbt版本?

intellij-idea sbt

5
推荐指数
1
解决办法
4338
查看次数

我应该使用 numpy.polyfit 还是 numpy.polynomial.polyfit 或 numpy.polynomial.polynomial.Polynomial?

之间有什么区别

https://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.polynomial.polynomial.polyfit.html

我应该在什么时候使用哪一个?

我检查了代码,但是两者都在他们的代码中使用 numpy.linalg.linalg.lstsq ,但在其他方面有所不同。

numpy.polyfit 的文档也建议使用

https://docs.scipy.org/doc/numpy/reference/generated/numpy.polynomial.polynomial.Polynomial.fit.html

什么是正确的选择?

(奖励:当我想做的第一件事是适应我的数据时,我将如何使用该类?)

python numpy polynomials

5
推荐指数
1
解决办法
1169
查看次数

Flyte 如何针对“数据和机器学习”进行定制?

https://flyte.org/说它是

适用于大规模复杂、任务关键型数据和机器学习流程的工作流自动化平台

我浏览了相当多的文档,但我不明白为什么它是“数据和机器学习”。在我看来,它是容器编排(此处为 Kubernetes)之上的工作流管理器,其中工作流管理器意味着我可以定义有向无环图(DAG),然后将 DAG 节点部署为容器,并且 DAG 是跑步。

当然,这对于“数据和机器学习”来说非常有用且重要,但我也可以将它用于任何其他微服务 DAG。除了功能/细节之外,这与https://airflow.apache.org或其他工作流程管理器(其中有很多)有何不同。还有更专门的“数据和机器学习”工作流程管理器,例如https://spark.apache.org

作为软件架构师我应该记住什么?

workflow directed-acyclic-graphs airflow flyte

5
推荐指数
1
解决办法
877
查看次数