[ 
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)

Reply via email to