小编ank*_*sg8的帖子

Ubuntu 16.04,Python 2.7 - ImportError:没有名为enum的模块

第一次使用Ubuntu.我安装了Anaconda 4.1.1(Python 2.7).我试图使用枚举,但我得到一个导入错误.

import enum
Traceback (most recent call last):

File "<ipython-input-1-13948d6bb7b8>", line 1, in <module>
import enum

ImportError: No module named enum
Run Code Online (Sandbox Code Playgroud)

我尝试使用:conda install -c menpo enum = 0.4.4但它没有用.

我也尝试从这个链接安装枚举 - https://pypi.python.org/pypi/enum34#downloads

到目前为止,这些解决方案都没有对我有用.

任何帮助将不胜感激.谢谢!

python ubuntu enums python-2.7 ubuntu-16.04

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

Scala - 如何将我们在将GMM模型拟合到数据时获得的概率列(向量列)分成两个单独的列?

我正在尝试执行以下操作:

+-----+-------------------------+----------+-------------------------------------------+
|label|features                 |prediction|probability                                |
+-----+-------------------------+----------+-------------------------------------------+
|0.0  |(3,[],[])                |0         |[0.9999999999999979,2.093996169658831E-15] |
|1.0  |(3,[0,1,2],[0.1,0.1,0.1])|0         |[0.999999999999999,9.891337521299582E-16]  |
|2.0  |(3,[0,1,2],[0.2,0.2,0.2])|0         |[0.9999999999999979,2.0939961696578572E-15]|
|3.0  |(3,[0,1,2],[9.0,9.0,9.0])|1         |[2.093996169659668E-15,0.9999999999999979] |
|4.0  |(3,[0,1,2],[9.1,9.1,9.1])|1         |[9.89133752128275E-16,0.999999999999999]   |
|5.0  |(3,[0,1,2],[9.2,9.2,9.2])|1         |[2.0939961696605603E-15,0.9999999999999979]|
+-----+-------------------------+----------+-------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

将上面的数据框转换为另外两列:prob1&prob2 每列具有列中存在的相应值probability.

我发现了类似的问题 - 一个在PySpark,另一个在Scala.我不知道如何翻译PySpark代码,我收到了Scala代码的错误.

PySpark代码:

split1_udf = udf(lambda value: value[0].item(), FloatType())
split2_udf = udf(lambda value: value[1].item(), FloatType())

output2 = randomforestoutput.select(split1_udf('probability').alias('c1'), split2_udf('probability').alias('c2'))
Run Code Online (Sandbox Code Playgroud)

或者将这些列附加到原始数据框:

randomforestoutput.withColumn('c1', split1_udf('probability')).withColumn('c2', split2_udf('probability'))
Run Code Online (Sandbox Code Playgroud)

Scala代码:

import org.apache.spark.sql.functions.udf

val getPOne = udf((v: org.apache.spark.mllib.linalg.Vector) => v(1))
model.transform(testDf).select(getPOne($"probability"))
Run Code Online (Sandbox Code Playgroud)

运行Scala代码时出现以下错误:

scala> predictions.select(getPOne(col("probability"))).show(false)
org.apache.spark.sql.AnalysisException: cannot resolve 'UDF(probability)' due …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql apache-spark-mllib

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