由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 有尝请教关于spark api java coding (转载)
相关主题
C++debug遇到的问题[合集] 问个算法问题
请问C++如何初始化类时就传入一个数组参数[求教大虾]关于C++编译期变量和运行期变量的区别,总是有疑惑
包含指针的类和vector的问题问一个关于ANSI C中system命令的问题
这句shell script 为什么这么写请教C里面动态数组的赋值
C++ 里push_back 一问copy constructor问题。
akka, play, spark怎么学?c的小问题
Remove elements from multiple vectors in C++谁帮我解释一下这个代码
能帮我看看Ruby的这道题吗?[合集] 两个小问题
相关话题的讨论汇总
话题: tree话题: activ话题: xb话题: mnth话题: node
进入Programming版参与讨论
1 (共1页)
h***s
发帖数: 2499
1
【 以下文字转载自 DataSciences 讨论区 】
发信人: hjxds (Kiss My Shiny Metal Ass), 信区: DataSciences
标 题: 有尝请教关于spark api java coding
发信站: BBS 未名空间站 (Thu Dec 14 00:00:11 2017, 美东)
现有一个Java 写的gbm 的scoring code, 剧长因为是很多tree。
现在我想把这个code搬到spark上去run,所以需要改写.
我的理解是把所有x 建立一个rdd,每一个row是一个(key,vector),然后rdd.map((k,v
)=>
(k,tree(vector))), 这个思路对不对?
如果对的话,我就要确保 我的tree function take a vector as input and return
the
score.对吧?
vector里面的x1,x2,x3,...的位置要确保一致对吧?
哪里能找到一些类似的code?谢谢。
h***s
发帖数: 2499
2
score是要产生预测的y,所以data里没有y,只有快上千的x1..x999,所以不用split y
吧?由于x
太多了,我只能用vector或者list?
其实我的问题还有一点麻烦的地方,我的score function是另一个软件产生的java
code。 很长
所以手动改很烦,所以我试图保持原样看能不能wrap起来放到spark api里。 以下是
score
function的例子,
private double XB_TOTAL_ACTIV_MNTH_P1Q; /*XB_TOTAL_ACTIV_MNTH_P1Q 是我的x1
,其
他省略了 ×/
/*这里是用vector values[]赋值给x1
public void setDoubleVariables(double [] values) {
if (values.length != doubleVariables.length) {
System.out.println("Error! expecting " + doubleVariables.length + "
values for double predictors.");
} else {
XB_TOTAL_ACTIV_MNTH_P1Q = values[1];
}
}
这是一个tree function(x1)= score1;
private class tree_1 {
/* Tree 1 of 993 */
public double score() {
double target;
int node;
boolean done;
/* N terminal nodes = 6, Depth = 5 */
target = 0.0;
node = 1; /* start at root node */
done = false; /* set at terminal node */
while (!done) switch (node) {
case 1:
if (XB_POS_ACTIV_MNTH_L12M < 3.5) node = 2;
else node = 3;
break;
case 2:
............ /* skipped all cases here */
default: /* error */
target = 0.0;
done = true;
node = 0;
break;
}
return target;
}
}
tree_1 tree_1_obj=new tree_1();
把所有tree(x)都加起来是我的score
public double TreeNet_1_1() {
double response = 0.0;
response += init;
response+=tree_1_obj.score();
return response;
}
这样的写法有先赋值的一步把values[]里的x1等先搬到XB_TOTAL_ACTIV_MNTH_P1Q 里,
然后后
面的tree()是用XB_TOTAL_ACTIV_MNTH_P1Q做的计算,而不是直接用values[0]. 如果这
样的写
法我直接放到.map()里能work吗?
1 (共1页)
进入Programming版参与讨论
相关主题
[合集] 两个小问题C++ 里push_back 一问
一个hash table的简单问题akka, play, spark怎么学?
急问:这个为什么不行?Remove elements from multiple vectors in C++
C++编程原则的问题能帮我看看Ruby的这道题吗?
C++debug遇到的问题[合集] 问个算法问题
请问C++如何初始化类时就传入一个数组参数[求教大虾]关于C++编译期变量和运行期变量的区别,总是有疑惑
包含指针的类和vector的问题问一个关于ANSI C中system命令的问题
这句shell script 为什么这么写请教C里面动态数组的赋值
相关话题的讨论汇总
话题: tree话题: activ话题: xb话题: mnth话题: node