同样是跑随机森林,为啥用单机的R跑和在服务器上用Spark的MLlib结果差好多
首先spark上的RF和单机的RF是有区别的。主要表现在spark上的RF为了减少IO通信对RF做了优化,其中的优化主要有:1 对于连续型特征,一般都是通过排序后进行切割点的划分,但是考虑到对所有数据做排序的IO通信较高,所以只是对每个节点上的数据进行抽样,并根据样本进行切分点的划分,所以这里有一部分的近似。2由于传统的构建决策树方法是递归的形式,这样无形中会造成更多的数据传送,所以在spark中为了能减少这部分的数据传输,一方面采用分层构建,另一方面采用bin也就是feature装箱的方式减少了数据量,这样相当于又做了一部分的近似。所以在算法上来说,spark的RF和单机的是不同的。可以说spark为了能更好的跑大规模数据,牺牲了部分的精确度。其次,你在R上的和spark上的参数是否相同,还有就是你这三万的数据量太小了。
■网友
根本都不是一个算法,spark上的差远了
推荐阅读
- 云南省迪庆州“12.28”森林火灾明火全部扑灭
- “蓝剑-2020”跨区域森林火灾联合扑救演练举行
- 青海大通森林警察救助两只野生动物
- |淮阴水政充分利用“双随机”平台 促进执法公平公正
- 天窗|户外爱好者为什么都偏爱它?斯巴鲁森林人仅售22.38万起
- 哈弗H6|同样是紧凑型SUV的它与销冠们有何差别?领克01对比哈弗H6、CS75、CR-V
- 黄忆慈|同样是14岁的星二代,黄多多比李嫣要正统很多,更知性更成功
- 汽车|森林人在中国火了,这台斯巴鲁傲虎还会远吗?
- 可以通过伪随机生成真实的地球吗
- 数独设计的原理是啥
