[ https://issues.apache.org/jira/browse/SYSTEMML-1238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15868502#comment-15868502 ]
Imran Younus commented on SYSTEMML-1238: ---------------------------------------- output of explain from python test: {code} PROGRAM ( size CP/SP = 372/0 ) --MAIN PROGRAM ----GENERIC (lines 1-112) [recompile=false] ------CP print BEGIN LINEAR REGRESSION SCRIPT.SCALAR.STRING.true _Var29.SCALAR.STRING ------CP print Reading X and Y....SCALAR.STRING.true _Var30.SCALAR.STRING ------CP createvar _mVar31 scratch_space//_p17177_10.168.31.80//_t0/temp3 true MATRIX binaryblock 422 1 1000 1000 422 copy ------CP rand 422 1 1000 1000 1.0 1.0 1.0 -1 uniform 1.0 48 _mVar31.MATRIX.DOUBLE ------CP assignvar .SCALAR.STRING.true fileB.SCALAR.STRING ------CP assignvar .SCALAR.STRING.true fileO.SCALAR.STRING ------CP assignvar .SCALAR.STRING.true fileLog.SCALAR.STRING ------CP assignvar binary.SCALAR.STRING.true fmtB.SCALAR.STRING ------CP assignvar 1.0.SCALAR.DOUBLE.true intercept_status.SCALAR.DOUBLE ------CP assignvar 1.0E-6.SCALAR.DOUBLE.true tolerance.SCALAR.DOUBLE ------CP assignvar 100.0.SCALAR.DOUBLE.true max_iteration.SCALAR.DOUBLE ------CP assignvar 1.0.SCALAR.DOUBLE.true regularization.SCALAR.DOUBLE ------CP assignvar 422.SCALAR.INT.true n.SCALAR.INT ------CP assignvar 1.SCALAR.INT.true m.SCALAR.INT ------CP assignvar 1.SCALAR.INT.true m_ext.SCALAR.INT ------CP rmvar _Var29 ------CP rmvar _Var30 ------CP cpvar _mVar31 ones_n ------CP rmvar _mVar31 ----GENERIC (lines 115-116) [recompile=false] ------CP createvar _mVar32 scratch_space//_p17177_10.168.31.80//_t0/temp4 true MATRIX binaryblock 422 2 1000 1000 845 copy ------CP append X.MATRIX.DOUBLE ones_n.MATRIX.DOUBLE 1.SCALAR.INT.true _mVar32.MATRIX.DOUBLE true ------CP rmvar X ------CP assignvar 2.SCALAR.INT.true m_ext.SCALAR.INT ------CP cpvar _mVar32 X ------CP rmvar _mVar32 ------CP rmvar ones_n ----GENERIC (lines 119-119) [recompile=false] ------CP createvar _mVar33 scratch_space//_p17177_10.168.31.80//_t0/temp5 true MATRIX binaryblock 2 1 1000 1000 -1 copy ------CP rand 2 1 1000 1000 1.0 1.0 1.0 -1 uniform 1.0 48 _mVar33.MATRIX.DOUBLE ------CP cpvar _mVar33 scale_lambda ------CP rmvar _mVar33 ----GENERIC (lines 122-122) [recompile=false] ------CP createvar _mVar34 scratch_space//_p17177_10.168.31.80//_t0/temp6 true MATRIX binaryblock 2 1 1000 1000 -1 copy ------CP leftIndex scale_lambda.MATRIX.DOUBLE 0.SCALAR.INT.true m_ext.SCALAR.INT.false m_ext.SCALAR.INT.false 1.SCALAR.INT.true 1.SCALAR.INT .true _mVar34.MATRIX.DOUBLE ------CP rmvar scale_lambda ------CP cpvar _mVar34 scale_lambda ------CP rmvar _mVar34 ----GENERIC (lines 135-136) [recompile=false] ------CP createvar _mVar35 scratch_space//_p17177_10.168.31.80//_t0/temp7 true MATRIX binaryblock 2 1 1000 1000 -1 copy ------CP rand 2 1 1000 1000 1.0 1.0 1.0 -1 uniform 1.0 48 _mVar35.MATRIX.DOUBLE ------CP createvar _mVar36 scratch_space//_p17177_10.168.31.80//_t0/temp8 true MATRIX binaryblock 2 1 1000 1000 0 copy ------CP rand 2 1 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 48 _mVar36.MATRIX.DOUBLE ------CP cpvar _mVar35 scale_X ------CP cpvar _mVar36 shift_X ------CP rmvar _mVar35 ------CP rmvar _mVar36 ----GENERIC (lines 151-152) [recompile=false] ------CP createvar _mVar37 scratch_space//_p17177_10.168.31.80//_t0/temp9 true MATRIX binaryblock 2 1 1000 1000 0 copy ------CP rand 2 1 1000 1000 0.0 0.0 1.0 -1 uniform 1.0 48 _mVar37.MATRIX.DOUBLE ------CP cpvar scale_lambda lambda ------CP cpvar _mVar37 beta_unscaled ------CP rmvar _mVar37 ------CP rmvar regularization ------CP rmvar scale_lambda ----GENERIC (lines 157-162) [recompile=false] ------CP print Running the CG algorithm....SCALAR.STRING.true _Var38.SCALAR.STRING ------CP createvar _mVar39 scratch_space//_p17177_10.168.31.80//_t0/temp10 true MATRIX binaryblock 1 422 1000 1000 422 copy ------CP r' y.MATRIX.DOUBLE _mVar39.MATRIX.DOUBLE 48 ------CP createvar _mVar40 scratch_space//_p17177_10.168.31.80//_t0/temp11 true MATRIX binaryblock 1 2 1000 1000 -1 copy ------CP ba+* _mVar39.MATRIX.DOUBLE X.MATRIX.DOUBLE _mVar40.MATRIX.DOUBLE 48 ------CP rmvar _mVar39 ------CP createvar _mVar41 scratch_space//_p17177_10.168.31.80//_t0/temp12 true MATRIX binaryblock 2 1 1000 1000 -1 copy ------CP r' _mVar40.MATRIX.DOUBLE _mVar41.MATRIX.DOUBLE 48 ------CP rmvar _mVar40 ------CP createvar _mVar42 scratch_space//_p17177_10.168.31.80//_t0/temp13 true MATRIX binaryblock 2 1 1000 1000 -1 copy ------CP - 0.SCALAR.INT.true _mVar41.MATRIX.DOUBLE _mVar42.MATRIX.DOUBLE ------CP rmvar _mVar41 ------CP assignvar 0.SCALAR.INT.true i.SCALAR.INT ------CP rmvar _Var38 ------CP cpvar _mVar42 r ------CP rmvar _mVar42 ----GENERIC (lines 168-174) [recompile=false] ------CP createvar _mVar43 scratch_space//_p17177_10.168.31.80//_t0/temp14 true MATRIX binaryblock 2 1 1000 1000 -1 copy ------CP - 0.SCALAR.INT.true r.MATRIX.DOUBLE _mVar43.MATRIX.DOUBLE ------CP createvar _mVar44 scratch_space//_p17177_10.168.31.80//_t0/temp15 true MATRIX binaryblock 1 1 1000 1000 -1 copy ------CP tsmm r.MATRIX.DOUBLE _mVar44.MATRIX.DOUBLE LEFT 48 ------CP castdts _mVar44.MATRIX.DOUBLE.false _Var45.SCALAR.DOUBLE ------CP rmvar _mVar44 ------CP * _Var45.SCALAR.DOUBLE.false 1.0E-12.SCALAR.DOUBLE.true _Var46.SCALAR.DOUBLE ------CP sqrt _Var45.SCALAR.DOUBLE.false _Var47.SCALAR.DOUBLE ------CP + ||r|| initial value = .SCALAR.STRING.true _Var47.SCALAR.DOUBLE.false _Var48.SCALAR.STRING ------CP sqrt _Var46.SCALAR.DOUBLE.false _Var49.SCALAR.DOUBLE ------CP + CG_RESIDUAL_NORM,0,.SCALAR.STRING.true _Var47.SCALAR.DOUBLE.false _Var50.SCALAR.STRING ------CP rmvar _Var47 ------CP + _Var48.SCALAR.STRING.false , target value = .SCALAR.STRING.true _Var51.SCALAR.STRING ------CP rmvar _Var48 ------CP append _Var50.SCALAR.STRING.false CG_RESIDUAL_RATIO,0,1.0.SCALAR.STRING.true -1.SCALAR.INT.true _Var52.SCALAR.STRING true ------CP rmvar _Var50 ------CP + _Var51.SCALAR.STRING.false _Var49.SCALAR.DOUBLE.false _Var53.SCALAR.STRING ------CP rmvar _Var51 ------CP rmvar _Var49 ------CP print _Var53.SCALAR.STRING.false _Var54.SCALAR.STRING ------CP rmvar _Var53 ------CP assignvar _Var45.SCALAR.DOUBLE.false norm_r2.SCALAR.DOUBLE ------CP assignvar _Var45.SCALAR.DOUBLE.false norm_r2_initial.SCALAR.DOUBLE ------CP assignvar _Var46.SCALAR.DOUBLE.false norm_r2_target.SCALAR.DOUBLE ------CP assignvar _Var52.SCALAR.STRING.false log_str.SCALAR.STRING ------CP cpvar _mVar43 p ------CP rmvar _Var45 ------CP rmvar _Var46 ------CP rmvar _Var52 ------CP rmvar _Var54 ------CP rmvar _mVar43 ------CP rmvar tolerance ----GENERIC (lines 176-202) [recompile=false] ----WHILE (lines 176-202) ------CP < i.SCALAR.INT.false max_iteration.SCALAR.INT.false _Var55.SCALAR.BOOLEAN ------CP > norm_r2.SCALAR.DOUBLE.false norm_r2_target.SCALAR.DOUBLE.false _Var56.SCALAR.BOOLEAN ------CP && _Var55.SCALAR.BOOLEAN.false _Var56.SCALAR.BOOLEAN.false _Var57.SCALAR.BOOLEAN ------CP rmvar _Var55 ------CP rmvar _Var56 ------CP rmvar _Var57 ------GENERIC (lines 182-182) [recompile=false] --------CP cpvar p ssX_p ------GENERIC (lines 185-185) [recompile=false] --------CP createvar _mVar58 scratch_space//_p17177_10.168.31.80//_t0/temp16 true MATRIX binaryblock 2 1 1000 1000 -1 copy --------CP mmchain X.MATRIX.DOUBLE ssX_p.MATRIX.DOUBLE _mVar58.MATRIX.DOUBLE XtXv 48 --------CP cpvar _mVar58 q --------CP rmvar _mVar58 --------CP rmvar ssX_p ------GENERIC (lines 191-201) [recompile=false] --------CP createvar _mVar59 scratch_space//_p17177_10.168.31.80//_t0/temp17 true MATRIX binaryblock 1 2 1000 1000 -1 copy --------CP r' p.MATRIX.DOUBLE _mVar59.MATRIX.DOUBLE 48 --------CP createvar _mVar60 scratch_space//_p17177_10.168.31.80//_t0/temp18 true MATRIX binaryblock 2 1 1000 1000 -1 copy --------CP * lambda.MATRIX.DOUBLE p.MATRIX.DOUBLE _mVar60.MATRIX.DOUBLE --------CP + i.SCALAR.INT.false 1.SCALAR.INT.true _Var61.SCALAR.INT --------CP createvar _mVar62 scratch_space//_p17177_10.168.31.80//_t0/temp19 true MATRIX binaryblock 2 1 1000 1000 -1 copy --------CP + q.MATRIX.DOUBLE _mVar60.MATRIX.DOUBLE _mVar62.MATRIX.DOUBLE --------CP rmvar _mVar60 --------CP + Iteration .SCALAR.STRING.true _Var61.SCALAR.INT.false _Var63.SCALAR.STRING --------CP + CG_RESIDUAL_NORM,.SCALAR.STRING.true _Var61.SCALAR.INT.false _Var64.SCALAR.STRING --------CP + CG_RESIDUAL_RATIO,.SCALAR.STRING.true _Var61.SCALAR.INT.false _Var65.SCALAR.STRING --------CP createvar _mVar66 scratch_space//_p17177_10.168.31.80//_t0/temp20 true MATRIX binaryblock 1 1 1000 1000 -1 copy --------CP ba+* _mVar59.MATRIX.DOUBLE _mVar62.MATRIX.DOUBLE _mVar66.MATRIX.DOUBLE 48 --------CP rmvar _mVar59 --------CP + _Var63.SCALAR.STRING.false : ||r|| / ||r init|| = .SCALAR.STRING.true _Var67.SCALAR.STRING --------CP rmvar _Var63 --------CP + _Var64.SCALAR.STRING.false ,.SCALAR.STRING.true _Var68.SCALAR.STRING --------CP rmvar _Var64 --------CP + _Var65.SCALAR.STRING.false ,.SCALAR.STRING.true _Var69.SCALAR.STRING --------CP rmvar _Var65 --------CP castdts _mVar66.MATRIX.DOUBLE.false _Var70.SCALAR.DOUBLE --------CP rmvar _mVar66 --------CP / norm_r2.SCALAR.DOUBLE.false _Var70.SCALAR.DOUBLE.false _Var71.SCALAR.DOUBLE --------CP rmvar _Var70 --------CP createvar _mVar72 scratch_space//_p17177_10.168.31.80//_t0/temp21 true MATRIX binaryblock 2 1 1000 1000 -1 copy --------CP +* beta_unscaled.MATRIX.DOUBLE _Var71.SCALAR.DOUBLE.false p.MATRIX.DOUBLE _mVar72.MATRIX.DOUBLE --------CP createvar _mVar73 scratch_space//_p17177_10.168.31.80//_t0/temp22 true MATRIX binaryblock 2 1 1000 1000 -1 copy --------CP +* r.MATRIX.DOUBLE _Var71.SCALAR.DOUBLE.false _mVar62.MATRIX.DOUBLE _mVar73.MATRIX.DOUBLE --------CP rmvar _Var71 --------CP rmvar _mVar62 --------CP createvar _mVar74 scratch_space//_p17177_10.168.31.80//_t0/temp23 true MATRIX binaryblock 1 1 1000 1000 -1 copy --------CP tsmm _mVar73.MATRIX.DOUBLE _mVar74.MATRIX.DOUBLE LEFT 48 --------CP createvar _mVar75 scratch_space//_p17177_10.168.31.80//_t0/temp24 true MATRIX binaryblock 2 1 1000 1000 -1 copy --------CP - 0.SCALAR.INT.true _mVar73.MATRIX.DOUBLE _mVar75.MATRIX.DOUBLE --------CP castdts _mVar74.MATRIX.DOUBLE.false _Var76.SCALAR.DOUBLE --------CP rmvar _mVar74 --------CP / _Var76.SCALAR.DOUBLE.false norm_r2.SCALAR.DOUBLE.false _Var77.SCALAR.DOUBLE --------CP / _Var76.SCALAR.DOUBLE.false norm_r2_initial.SCALAR.DOUBLE.false _Var78.SCALAR.DOUBLE --------CP sqrt _Var76.SCALAR.DOUBLE.false _Var79.SCALAR.DOUBLE --------CP createvar _mVar80 scratch_space//_p17177_10.168.31.80//_t0/temp25 true MATRIX binaryblock 2 1 1000 1000 -1 copy --------CP +* _mVar75.MATRIX.DOUBLE _Var77.SCALAR.DOUBLE.false p.MATRIX.DOUBLE _mVar80.MATRIX.DOUBLE --------CP rmvar _mVar75 --------CP rmvar _Var77 --------CP sqrt _Var78.SCALAR.DOUBLE.false _Var81.SCALAR.DOUBLE --------CP rmvar _Var78 --------CP + _Var68.SCALAR.STRING.false _Var79.SCALAR.DOUBLE.false _Var82.SCALAR.STRING --------CP rmvar _Var68 --------CP rmvar _Var79 --------CP + _Var67.SCALAR.STRING.false _Var81.SCALAR.DOUBLE.false _Var83.SCALAR.STRING --------CP rmvar _Var67 --------CP append log_str.SCALAR.STRING.false _Var82.SCALAR.STRING.false -1.SCALAR.INT.true _Var84.SCALAR.STRING true --------CP rmvar _Var82 --------CP + _Var69.SCALAR.STRING.false _Var81.SCALAR.DOUBLE.false _Var85.SCALAR.STRING --------CP rmvar _Var69 --------CP rmvar _Var81 --------CP print _Var83.SCALAR.STRING.false _Var86.SCALAR.STRING --------CP rmvar _Var83 --------CP append _Var84.SCALAR.STRING.false _Var85.SCALAR.STRING.false -1.SCALAR.INT.true _Var87.SCALAR.STRING true --------CP rmvar _Var84 --------CP rmvar _Var85 --------CP rmvar p --------CP rmvar r --------CP rmvar beta_unscaled --------CP assignvar _Var61.SCALAR.INT.false i.SCALAR.INT --------CP assignvar _Var76.SCALAR.DOUBLE.false norm_r2.SCALAR.DOUBLE --------CP assignvar _Var87.SCALAR.STRING.false log_str.SCALAR.STRING --------CP rmvar _Var61 --------CP cpvar _mVar72 beta_unscaled --------CP cpvar _mVar73 r --------CP rmvar _Var76 --------CP cpvar _mVar80 p --------CP rmvar _Var86 --------CP rmvar _Var87 --------CP rmvar _mVar72 --------CP rmvar _mVar73 --------CP rmvar _mVar80 --------CP rmvar q ----IF (lines 204-206) ------CP >= i.SCALAR.INT.false max_iteration.SCALAR.INT.false _Var88.SCALAR.BOOLEAN ------CP rmvar _Var88 ------GENERIC (lines 205-205) [recompile=false] --------CP print Warning: the maximum number of iterations has been reached..SCALAR.STRING.true _Var89.SCALAR.STRING --------CP rmvar _Var89 ----GENERIC (lines 207-207) [recompile=false] ------CP print The CG algorithm is done..SCALAR.STRING.true _Var90.SCALAR.STRING ------CP rmvar _Var90 ----GENERIC (lines 214-214) [recompile=false] ------CP cpvar beta_unscaled beta ----GENERIC (lines 217-228) [recompile=false] ------CP print Computing the statistics....SCALAR.STRING.true _Var91.SCALAR.STRING ------CP uak+ y.MATRIX.DOUBLE _Var92.SCALAR.DOUBLE 48 ------CP createvar _mVar93 scratch_space//_p17177_10.168.31.80//_t0/temp26 true MATRIX binaryblock 1 1 1000 1000 -1 copy ------CP tsmm y.MATRIX.DOUBLE _mVar93.MATRIX.DOUBLE LEFT 48 ------CP createvar _mVar94 scratch_space//_p17177_10.168.31.80//_t0/temp27 true MATRIX binaryblock 422 1 1000 1000 -1 copy ------CP ba+* X.MATRIX.DOUBLE beta.MATRIX.DOUBLE _mVar94.MATRIX.DOUBLE 48 ------CP / _Var92.SCALAR.DOUBLE.false 422.SCALAR.INT.true _Var95.SCALAR.DOUBLE ------CP rmvar _Var92 ------CP castdts _mVar93.MATRIX.DOUBLE.false _Var96.SCALAR.DOUBLE ------CP rmvar _mVar93 ------CP createvar _mVar97 scratch_space//_p17177_10.168.31.80//_t0/temp28 true MATRIX binaryblock 422 1 1000 1000 -1 copy ------CP - y.MATRIX.DOUBLE _mVar94.MATRIX.DOUBLE _mVar97.MATRIX.DOUBLE ------CP rmvar _mVar94 ------CP ^ _Var95.SCALAR.DOUBLE.false 2.SCALAR.INT.true _Var98.SCALAR.DOUBLE ------CP uak+ _mVar97.MATRIX.DOUBLE _Var99.SCALAR.DOUBLE 48 ------CP createvar _mVar100 scratch_space//_p17177_10.168.31.80//_t0/temp29 true MATRIX binaryblock 1 1 1000 1000 -1 copy ------CP tsmm _mVar97.MATRIX.DOUBLE _mVar100.MATRIX.DOUBLE LEFT 48 ------CP rmvar _mVar97 ------CP * 422.SCALAR.INT.true _Var98.SCALAR.DOUBLE.false _Var101.SCALAR.DOUBLE ------CP rmvar _Var98 ------CP / _Var99.SCALAR.DOUBLE.false 422.SCALAR.INT.true _Var102.SCALAR.DOUBLE ------CP rmvar _Var99 ------CP castdts _mVar100.MATRIX.DOUBLE.false _Var103.SCALAR.DOUBLE ------CP rmvar _mVar100 ------CP - _Var96.SCALAR.DOUBLE.false _Var101.SCALAR.DOUBLE.false _Var104.SCALAR.DOUBLE ------CP rmvar _Var101 ------CP ^ _Var102.SCALAR.DOUBLE.false 2.SCALAR.INT.true _Var105.SCALAR.DOUBLE ------CP / _Var104.SCALAR.DOUBLE.false 421.SCALAR.INT.true _Var106.SCALAR.DOUBLE ------CP * 422.SCALAR.INT.true _Var105.SCALAR.DOUBLE.false _Var107.SCALAR.DOUBLE ------CP rmvar _Var105 ------CP / _Var103.SCALAR.DOUBLE.false _Var104.SCALAR.DOUBLE.false _Var108.SCALAR.DOUBLE ------CP - _Var103.SCALAR.DOUBLE.false _Var107.SCALAR.DOUBLE.false _Var109.SCALAR.DOUBLE ------CP rmvar _Var107 ------CP - 1.SCALAR.INT.true _Var108.SCALAR.DOUBLE.false _Var110.SCALAR.DOUBLE ------CP rmvar _Var108 ------CP assignvar _Var95.SCALAR.DOUBLE.false avg_tot.SCALAR.DOUBLE ------CP assignvar _Var96.SCALAR.DOUBLE.false ss_tot.SCALAR.DOUBLE ------CP assignvar _Var102.SCALAR.DOUBLE.false avg_res.SCALAR.DOUBLE ------CP assignvar _Var103.SCALAR.DOUBLE.false ss_res.SCALAR.DOUBLE ------CP assignvar _Var104.SCALAR.DOUBLE.false ss_avg_tot.SCALAR.DOUBLE ------CP assignvar _Var106.SCALAR.DOUBLE.false var_tot.SCALAR.DOUBLE ------CP assignvar _Var109.SCALAR.DOUBLE.false ss_avg_res.SCALAR.DOUBLE ------CP assignvar _Var110.SCALAR.DOUBLE.false plain_R2.SCALAR.DOUBLE ------CP rmvar _Var91 ------CP rmvar _Var95 ------CP rmvar _Var96 ------CP rmvar _Var102 ------CP rmvar _Var103 ------CP rmvar _Var104 ------CP rmvar _Var106 ------CP rmvar _Var109 ------CP rmvar _Var110 ------CP rmvar X ------CP rmvar y ----IF (lines 229-235) ------CP > 422.SCALAR.INT.true m_ext.SCALAR.INT.false _Var111.SCALAR.BOOLEAN ------CP rmvar _Var111 ------GENERIC (lines 230-231) [recompile=false] --------CP - 422.SCALAR.INT.true m_ext.SCALAR.INT.false _Var112.SCALAR.INT --------CP / ss_avg_tot.SCALAR.DOUBLE.false 421.SCALAR.INT.true _Var113.SCALAR.DOUBLE --------CP / ss_res.SCALAR.DOUBLE.false _Var112.SCALAR.INT.false _Var114.SCALAR.DOUBLE --------CP rmvar _Var112 --------CP / _Var114.SCALAR.DOUBLE.false _Var113.SCALAR.DOUBLE.false _Var115.SCALAR.DOUBLE --------CP rmvar _Var113 --------CP - 1.SCALAR.INT.true _Var115.SCALAR.DOUBLE.false _Var116.SCALAR.DOUBLE --------CP rmvar _Var115 --------CP assignvar _Var114.SCALAR.DOUBLE.false dispersion.SCALAR.DOUBLE --------CP assignvar _Var116.SCALAR.DOUBLE.false adjusted_R2.SCALAR.DOUBLE --------CP rmvar _Var114 --------CP rmvar _Var116 --------CP rmvar m_ext ----ELSE ------GENERIC (lines 233-234) [recompile=false] --------CP assignvar NaN.SCALAR.DOUBLE.true dispersion.SCALAR.DOUBLE --------CP assignvar NaN.SCALAR.DOUBLE.true adjusted_R2.SCALAR.DOUBLE ----GENERIC (lines 237-238) [recompile=false] ------CP / ss_avg_res.SCALAR.DOUBLE.false ss_avg_tot.SCALAR.DOUBLE.false _Var117.SCALAR.DOUBLE ------CP - 1.SCALAR.INT.true _Var117.SCALAR.DOUBLE.false _Var118.SCALAR.DOUBLE ------CP rmvar _Var117 ------CP assignvar 420.SCALAR.INT.true deg_freedom.SCALAR.INT ------CP assignvar _Var118.SCALAR.DOUBLE.false plain_R2_nobias.SCALAR.DOUBLE ------CP rmvar _Var118 ----IF (lines 239-246) ------CP > deg_freedom.SCALAR.INT.false 0.SCALAR.INT.true _Var119.SCALAR.BOOLEAN ------CP rmvar _Var119 ------GENERIC (lines 240-241) [recompile=false] --------CP / ss_avg_res.SCALAR.DOUBLE.false deg_freedom.SCALAR.INT.false _Var120.SCALAR.DOUBLE --------CP / ss_avg_tot.SCALAR.DOUBLE.false 421.SCALAR.INT.true _Var121.SCALAR.DOUBLE --------CP / _Var120.SCALAR.DOUBLE.false _Var121.SCALAR.DOUBLE.false _Var122.SCALAR.DOUBLE --------CP rmvar _Var121 --------CP - 1.SCALAR.INT.true _Var122.SCALAR.DOUBLE.false _Var123.SCALAR.DOUBLE --------CP rmvar _Var122 --------CP assignvar _Var120.SCALAR.DOUBLE.false var_res.SCALAR.DOUBLE --------CP assignvar _Var123.SCALAR.DOUBLE.false adjusted_R2_nobias.SCALAR.DOUBLE --------CP rmvar _Var120 --------CP rmvar _Var123 --------CP rmvar ss_avg_res --------CP rmvar ss_avg_tot --------CP rmvar deg_freedom ----ELSE ------GENERIC (lines 243-245) [recompile=false] --------CP print Warning: zero or negative number of degrees of freedom..SCALAR.STRING.true _Var124.SCALAR.STRING --------CP assignvar NaN.SCALAR.DOUBLE.true var_res.SCALAR.DOUBLE --------CP assignvar NaN.SCALAR.DOUBLE.true adjusted_R2_nobias.SCALAR.DOUBLE --------CP rmvar _Var124 ----GENERIC (lines 248-248) [recompile=false] ------CP / ss_res.SCALAR.DOUBLE.false ss_tot.SCALAR.DOUBLE.false _Var125.SCALAR.DOUBLE ------CP - 1.SCALAR.INT.true _Var125.SCALAR.DOUBLE.false _Var126.SCALAR.DOUBLE ------CP rmvar _Var125 ------CP assignvar _Var126.SCALAR.DOUBLE.false plain_R2_vs_0.SCALAR.DOUBLE ------CP rmvar _Var126 ----GENERIC (lines 250-250) [recompile=false] ------CP / ss_res.SCALAR.DOUBLE.false 421.SCALAR.INT.true _Var127.SCALAR.DOUBLE ------CP / ss_tot.SCALAR.DOUBLE.false 422.SCALAR.INT.true _Var128.SCALAR.DOUBLE ------CP / _Var127.SCALAR.DOUBLE.false _Var128.SCALAR.DOUBLE.false _Var129.SCALAR.DOUBLE ------CP rmvar _Var127 ------CP rmvar _Var128 ------CP - 1.SCALAR.INT.true _Var129.SCALAR.DOUBLE.false _Var130.SCALAR.DOUBLE ------CP rmvar _Var129 ------CP assignvar _Var130.SCALAR.DOUBLE.false adjusted_R2_vs_0.SCALAR.DOUBLE ------CP rmvar _Var130 ------CP rmvar ss_tot ------CP rmvar m ------CP rmvar n ------CP rmvar ss_res ----GENERIC (lines 255-265) [recompile=false] ------CP toString target=beta _Var131.SCALAR.STRING ------CP + AVG_TOT_Y,.SCALAR.STRING.true avg_tot.SCALAR.DOUBLE.false _Var132.SCALAR.STRING ------CP sqrt var_tot.SCALAR.DOUBLE.false _Var133.SCALAR.DOUBLE ------CP + AVG_RES_Y,.SCALAR.STRING.true avg_res.SCALAR.DOUBLE.false _Var134.SCALAR.STRING ------CP sqrt var_res.SCALAR.DOUBLE.false _Var135.SCALAR.DOUBLE ------CP + DISPERSION,.SCALAR.STRING.true dispersion.SCALAR.DOUBLE.false _Var136.SCALAR.STRING ------CP + PLAIN_R2,.SCALAR.STRING.true plain_R2.SCALAR.DOUBLE.false _Var137.SCALAR.STRING ------CP + ADJUSTED_R2,.SCALAR.STRING.true adjusted_R2.SCALAR.DOUBLE.false _Var138.SCALAR.STRING ------CP + PLAIN_R2_NOBIAS,.SCALAR.STRING.true plain_R2_nobias.SCALAR.DOUBLE.false _Var139.SCALAR.STRING ------CP + ADJUSTED_R2_NOBIAS,.SCALAR.STRING.true adjusted_R2_nobias.SCALAR.DOUBLE.false _Var140.SCALAR.STRING ------CP print _Var131.SCALAR.STRING.false _Var141.SCALAR.STRING ------CP rmvar _Var131 ------CP + STDEV_TOT_Y,.SCALAR.STRING.true _Var133.SCALAR.DOUBLE.false _Var142.SCALAR.STRING ------CP rmvar _Var133 ------CP + STDEV_RES_Y,.SCALAR.STRING.true _Var135.SCALAR.DOUBLE.false _Var143.SCALAR.STRING ------CP rmvar _Var135 ------CP append _Var132.SCALAR.STRING.false _Var142.SCALAR.STRING.false -1.SCALAR.INT.true _Var144.SCALAR.STRING true ------CP rmvar _Var132 ------CP rmvar _Var142 ------CP append _Var144.SCALAR.STRING.false _Var134.SCALAR.STRING.false -1.SCALAR.INT.true _Var145.SCALAR.STRING true ------CP rmvar _Var144 ------CP rmvar _Var134 ------CP append _Var145.SCALAR.STRING.false _Var143.SCALAR.STRING.false -1.SCALAR.INT.true _Var146.SCALAR.STRING true ------CP rmvar _Var145 ------CP rmvar _Var143 ------CP append _Var146.SCALAR.STRING.false _Var136.SCALAR.STRING.false -1.SCALAR.INT.true _Var147.SCALAR.STRING true ------CP rmvar _Var146 ------CP rmvar _Var136 ------CP append _Var147.SCALAR.STRING.false _Var137.SCALAR.STRING.false -1.SCALAR.INT.true _Var148.SCALAR.STRING true ------CP rmvar _Var147 ------CP rmvar _Var137 ------CP append _Var148.SCALAR.STRING.false _Var138.SCALAR.STRING.false -1.SCALAR.INT.true _Var149.SCALAR.STRING true ------CP rmvar _Var148 ------CP rmvar _Var138 ------CP append _Var149.SCALAR.STRING.false _Var139.SCALAR.STRING.false -1.SCALAR.INT.true _Var150.SCALAR.STRING true ------CP rmvar _Var149 ------CP rmvar _Var139 ------CP append _Var150.SCALAR.STRING.false _Var140.SCALAR.STRING.false -1.SCALAR.INT.true _Var151.SCALAR.STRING true ------CP rmvar _Var150 ------CP rmvar _Var140 ------CP assignvar _Var151.SCALAR.STRING.false str.SCALAR.STRING ------CP rmvar _Var141 ------CP rmvar _Var151 ------CP rmvar avg_res ------CP rmvar adjusted_R2 ------CP rmvar plain_R2_nobias ------CP rmvar var_res ------CP rmvar plain_R2 ------CP rmvar var_tot ------CP rmvar adjusted_R2_nobias ------CP rmvar avg_tot ------CP rmvar dispersion ----GENERIC (lines 274-274) [recompile=false] ------CP print str.SCALAR.STRING.false _Var152.SCALAR.STRING ------CP rmvar _Var152 ------CP rmvar str ----GENERIC (lines 278-278) [recompile=false] ------CP print Writing the output matrix....SCALAR.STRING.true _Var153.SCALAR.STRING ------CP rmvar _Var153 ----GENERIC (lines 283-283) [recompile=false] ------CP cpvar beta beta_out ------CP rmvar beta ----GENERIC (lines 285-285) [recompile=false] ------CP rmvar fileB ------CP rmvar fmtB ----GENERIC (lines 290-291) [recompile=false] ------CP print END LINEAR REGRESSION SCRIPT.SCALAR.STRING.true _Var154.SCALAR.STRING ------CP rmvar _Var154 ------CP rmvar beta_out {code} > Python test failing for LinearRegCG > ----------------------------------- > > Key: SYSTEMML-1238 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1238 > Project: SystemML > Issue Type: Bug > Components: Algorithms, APIs > Affects Versions: SystemML 0.13 > Reporter: Imran Younus > Assignee: Niketan Pansare > Attachments: python_LinearReg_test_spark.1.6.log, > python_LinearReg_test_spark.2.1.log > > > [~deron] discovered that the one of the python test ({{test_mllearn_df.py}}) > with spark 2.1.0 was failing because the test score from linear regression > was very low ({{~ 0.24}}). I did a some investigation and it turns out the > the model parameters computed by the dml script are incorrect. In > systemml.12, the values of betas from linear regression model are > {{\[152.919, 938.237\]}}. This is what we expect from normal equation. (I > also tested this with sklearn). But the values of betas from systemml.13 > (with spark 2.1.0) come out to be {{\[153.146, 458.489\]}}. These are not > correct and therefore the test score is much lower than expected. The data > going into DML script is correct. I printed out the valued of {{X}} and {{Y}} > in dml and I didn't see any issue there. > Attached are the log files for two different tests (systemml0.12 and 0.13) > with explain flag. -- This message was sent by Atlassian JIRA (v6.3.15#6346)