我想ParamGridBuilder在Spark 1.4.x中找到CrossValidator中最佳模型的参数,
在Spark文档中的Pipeline示例中,它们通过在管道中使用来添加不同的参数(numFeatures,regParam)ParamGridBuilder.然后通过以下代码行创建最佳模型:
val cvModel = crossval.fit(training.toDF)
Run Code Online (Sandbox Code Playgroud)
现在,我想知道从中产生最佳模型的参数(numFeatures,regParam)是什么ParamGridBuilder.
我已经使用了以下命令但没有成功:
cvModel.bestModel.extractParamMap().toString()
cvModel.params.toList.mkString("(", ",", ")")
cvModel.estimatorParamMaps.toString()
cvModel.explainParams()
cvModel.getEstimatorParamMaps.mkString("(", ",", ")")
cvModel.toString()
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
提前致谢,
pipeline scala cross-validation apache-spark apache-spark-mllib
我想使用PySpark(Spark 1.6.2)对Hive表中存在的数值数据执行主成分分析(PCA).我能够将Hive表导入Spark数据帧:
>>> from pyspark.sql import HiveContext
>>> hiveContext = HiveContext(sc)
>>> dataframe = hiveContext.sql("SELECT * FROM my_table")
>>> type(dataframe)
<class 'pyspark.sql.dataframe.DataFrame'>
>>> dataframe.columns
['par001', 'par002', 'par003', etc...]
>>> dataframe.collect()
[Row(par001=1.1, par002=5.5, par003=8.2, etc...), Row(par001=0.0, par002=5.7, par003=4.2, etc...), etc...]
Run Code Online (Sandbox Code Playgroud)
有一个很棒的StackOverflow帖子,展示了如何在PySpark中执行PCA:https://stackoverflow.com/a/33481471/2626491
在帖子的"测试"部分,@ assellnaut创建了一个只有一列的数据框(称为"要素"):
>>> from pyspark.ml.feature import *
>>> from pyspark.mllib.linalg import Vectors
>>> data = [(Vectors.dense([0.0, 1.0, 0.0, 7.0, 0.0]),),
... (Vectors.dense([2.0, 0.0, 3.0, 4.0, 5.0]),),
... (Vectors.dense([4.0, 0.0, 0.0, 6.0, 7.0]),)]
>>> df = sqlContext.createDataFrame(data,["features"])
>>> type(df) …Run Code Online (Sandbox Code Playgroud)