Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R和Spark-ML的朴素贝叶斯精度比较_R_Machine Learning_Apache Spark Mllib_Naivebayes_Apache Spark Ml - Fatal编程技术网

R和Spark-ML的朴素贝叶斯精度比较

R和Spark-ML的朴素贝叶斯精度比较,r,machine-learning,apache-spark-mllib,naivebayes,apache-spark-ml,R,Machine Learning,Apache Spark Mllib,Naivebayes,Apache Spark Ml,我比较了R和Spark ML之间朴素贝叶斯分类器的准确性,并得到了连续和分类数据集的以下结果 连续数据集 准确度 R-95% Spark ML-89% 分类数据集 准确度 R-84% Spark ML-75% 我想在生产中使用Spark Naive Bayes算法,请指导我最小化R和Spark ML的精度之间的差异(我使用OnehotEncoder将分类转换为双精度) 请帮助我理解为什么两种输出存在差异,这与问题无关,但-为什么要将分类数据编码为双倍?Naive bayes是为分类数据定义的

我比较了R和Spark ML之间朴素贝叶斯分类器的准确性,并得到了连续和分类数据集的以下结果

连续数据集

准确度 R-95% Spark ML-89%

分类数据集

准确度 R-84% Spark ML-75%

我想在生产中使用Spark Naive Bayes算法,请指导我最小化R和Spark ML的精度之间的差异(我使用OnehotEncoder将分类转换为双精度)


请帮助我理解为什么两种输出存在差异,这与问题无关,但-为什么要将分类数据编码为双倍?Naive bayes是为分类数据定义的,连续方法实际上是一种泛化(需要额外的、非常难看的假设),因此这种编码实际上损害了模型。感谢您的评论,spark ML遵循管道框架来训练和测试数据集,对于Spark ML,Bayes实现算法期望数据帧(Spark数据帧)具有两列标签和特征。这里的标签是目标/类,特征是双精度向量。因此,我需要将所有属性转换为0和1表示,然后创建转换数据集的向量,并在Spark ML中传递给NB算法。如果还有其他工作,请与我分享调用Spark ML NB算法。您在R中也这样做吗?我确信R处理分类值很好不,我并没有将分类数据转换为onehotencoder,因为spark期待独立于问题,但-为什么你们要将分类数据编码为双倍?Naive bayes是为分类数据定义的,连续方法实际上是一种泛化(需要额外的、非常难看的假设),因此这种编码实际上损害了模型。感谢您的评论,spark ML遵循管道框架来训练和测试数据集,对于Spark ML,Bayes实现算法期望数据帧(Spark数据帧)具有两列标签和特征。这里的标签是目标/类,特征是双精度向量。因此,我需要将所有属性转换为0和1表示,然后创建转换数据集的向量,并在Spark ML中传递给NB算法。如果还有其他工作,请与我分享调用Spark ML NB算法。您在R中也这样做吗?我确信R处理分类值很好不,我没有像spark所期望的那样将分类数据转换成onehotencoder