[SPARK-20861][ML][PYTHON] Delegate looping over paramMaps to estimators
[SPARK-20861][ML][PYTHON] Delegate looping over paramMaps to estimators

Changes:

pyspark.ml Estimators can take either a list of param maps or a dict of params. This change allows the CrossValidator and TrainValidationSplit Estimators to pass through lists of param maps to the underlying estimators so that those estimators can handle parallelization when appropriate (eg distributed hyper parameter tuning).

Testing:

Existing unit tests.

Author: Bago Amirbekian <bago@databricks.com>

Closes #18077 from MrBago/delegate_params.

wzhfy/spark,BryanCutler/spark,rezasafi/spark,byakuinss/spark,BryanCutler/spark,taroplus/spark,jiangxb1987/spark,rekhajoshm/spark,srowen/spark,sahilTakiar/spark,liyichao/spark,lxsmnv/spark,aosagie/spark,xuanyuanking/spark,pgandhi999/spark,mzl9039/spark,ajaysaini725/spark,xflin/spark,icexelloss/spark,1haodian/spark,shuangshuangwang/spark,shaneknapp/spark,cin/spark,pgandhi999/spark,aosagie/spark,tejasapatil/spark,SHASHANKB/spark,poffuomo/spark,cloud-fan/spark,hvanhovell/spark,mzl9039/spark,ajaysaini725/spark,map222/spark,nilsgrabbert/spark,dongjoon-hyun/spark,ueshin/apache-spark,witgo/spark,lxsmnv/spark,rezasafi/spark,1haodian/spark,lxsmnv/spark,tengpeng/spark,HyukjinKwon/spark,zero323/spark,dbtsai/spark,highfei2011/spark,sahilTakiar/spark,pgandhi999/spark,rednaxelafx/apache-spark,shubhamchopra/spark,joseph-torres/spark,taroplus/spark,hvanhovell/spark,hvanhovell/spark,joseph-torres/spark,panfengfeng/spark,mdespriee/spark,szhem/spark,akopich/spark,minixalpha/spark,Aegeaner/spark,sahilTakiar/spark,sureshthalamati/spark,huang1900/spark,rikima/spark,gengliangwang/spark,yanboliang/spark,nlalevee/spark,LantaoJin/spark,stanzhai/spark,ajaysaini725/spark,mdespriee/spark,goldmedal/spark,lvdongr/spark,ioana-delaney/spark,brad-kaiser/spark,facaiy/spark,brad-kaiser/spark,nilsgrabbert/spark,szhem/spark,wangmiao1981/spark,brad-kaiser/spark,WindCanDie/spark,chuckchen/spark,dongjoon-hyun/spark,witgo/spark,jkbradley/spark,milliman/spark,jkbradley/spark,michalsenkyr/spark,joseph-torres/spark,UndeadBaneGitHub/spark,srowen/spark,ahnqirage/spark,liutang123/spark,shuangshuangwang/spark,ueshin/apache-spark,dongjoon-hyun/spark,shaneknapp/spark,srowen/spark,ahnqirage/spark,debugger87/spark,wangmiao1981/spark,saltstar/spark,WindCanDie/spark,ConeyLiu/spark,eyalfa/spark,tejasapatil/spark,mzl9039/spark,joseph-torres/spark,ericvandenbergfb/spark,vinodkc/spark,sahilTakiar/spark,panfengfeng/spark,ajaysaini725/spark,adrian-ionescu/apache-spark,JoshRosen/spark,minixalpha/spark,wangyum/spark,holdenk/spark,BryanCutler/spark,panfengfeng/spark,wangyum/spark,hhbyyh/spark,zero323/spark,alunarbeach/spark,wangyum/spark,gengliangwang/spark,ddna1021/spark,bravo-zhang/spark,spark-test/spark,huang1900/spark,sureshthalamati/spark,mike0sv/spark,liyichao/spark,wzhfy/spark,janewangfb/spark,ConeyLiu/spark,janewangfb/spark,spark-test/spark,tejasapatil/spark,michalsenkyr/spark,kevinyu98/spark,ahnqirage/spark,nlalevee/spark,rekhajoshm/spark,ConeyLiu/spark,map222/spark,ptkool/spark,Aegeaner/spark,UndeadBaneGitHub/spark,kevinyu98/spark,narahari92/spark,lvdongr/spark,hhbyyh/spark,xflin/spark,aokolnychyi/spark,mdespriee/spark,shaneknapp/spark,SHASHANKB/spark,szhem/spark,akopich/spark,stanzhai/spark,vinodkc/spark,kevinyu98/spark,narahari92/spark,byakuinss/spark,cloud-fan/spark,adrian-ionescu/apache-spark,eyalfa/spark,chuckchen/spark,pgandhi999/spark,zhouyejoe/spark,rikima/spark,poffuomo/spark,narahari92/spark,dbtsai/spark,byakuinss/spark,ericvandenbergfb/spark,bOOm-X/spark,panfengfeng/spark,WindCanDie/spark,saturday-shi/spark,alunarbeach/spark,darionyaphet/spark,ericvandenbergfb/spark,wangyum/spark,tejasapatil/spark,BryanCutler/spark,ron8hu/spark,sureshthalamati/spark,aosagie/spark,janewangfb/spark,bravo-zhang/spark,ioana-delaney/spark,icexelloss/spark,zhouyejoe/spark,shuangshuangwang/spark,bdrillard/spark,ron8hu/spark,esi-mineset/spark,icexelloss/spark,wzhfy/spark,maropu/spark,minixalpha/spark,nlalevee/spark,highfei2011/spark,1haodian/spark,pgandhi999/spark,chuckchen/spark,alunarbeach/spark,lvdongr/spark,brad-kaiser/spark,holdenk/spark,spark-test/spark,wangyum/spark,tengpeng/spark,panfengfeng/spark,sureshthalamati/spark,techaddict/spark,someorz/spark,BryanCutler/spark,tengpeng/spark,hhbyyh/spark,WeichenXu123/spark,shubhamchopra/spark,gengliangwang/spark,kiszk/spark,map222/spark,tejasapatil/spark,pgandhi999/spark,xuanyuanking/spark,liutang123/spark,markhamstra/spark,zzcclp/spark,huang1900/spark,actuaryzhang/spark,zhouyejoe/spark,poffuomo/spark,witgo/spark,ron8hu/spark,skonto/spark,WindCanDie/spark,ptkool/spark,gengliangwang/spark,esi-mineset/spark,holdenk/spark,alunarbeach/spark,aosagie/spark,facaiy/spark,akopich/spark,saturday-shi/spark,Aegeaner/spark,techaddict/spark,markhamstra/spark,ahnqirage/spark,caneGuy/spark,techaddict/spark,ahnqirage/spark,BryanCutler/spark,aokolnychyi/spark,spark-test/spark,yanboliang/spark,icexelloss/spark,wangyum/spark,ioana-delaney/spark,saturday-shi/spark,akopich/spark,rekhajoshm/spark,aray/spark,zzcclp/spark,mahak/spark,michalsenkyr/spark,goldmedal/spark,mahak/spark,rikima/spark,aosagie/spark,aokolnychyi/spark,hhbyyh/spark,rekhajoshm/spark,rezasafi/spark,bOOm-X/spark,matthewfranglen/spark,milliman/spark,mahak/spark,lxsmnv/spark,bOOm-X/spark,dongjoon-hyun/spark,aray/spark,gengliangwang/spark,jkbradley/spark,szhem/spark,milliman/spark,bOOm-X/spark,huang1900/spark,rednaxelafx/apache-spark,goldmedal/spark,WindCanDie/spark,skonto/spark,janewangfb/spark,techaddict/spark,rekhajoshm/spark,techaddict/spark,ericvandenbergfb/spark,zzcclp/spark,1haodian/spark,tejasapatil/spark,ddna1021/spark,ptkool/spark,aray/spark,liyichao/spark,kevinyu98/spark,zhouyejoe/spark,shubhamchopra/spark,hhbyyh/spark,LantaoJin/spark,szhem/spark,janewangfb/spark,mzl9039/spark,witgo/spark,taroplus/spark,apache/spark,brad-kaiser/spark,JoshRosen/spark,someorz/spark,zzcclp/spark,cloud-fan/spark,mahak/spark,esi-mineset/spark,saturday-shi/spark,esi-mineset/spark,taroplus/spark,byakuinss/spark,Aegeaner/spark,apache/spark,minixalpha/spark,poffuomo/spark,aokolnychyi/spark,ueshin/apache-spark,rikima/spark,guoxiaolongzte/spark,mdespriee/spark,aosagie/spark,rednaxelafx/apache-spark,facaiy/spark,cloud-fan/spark,facaiy/spark,ron8hu/spark,michalsenkyr/spark,maropu/spark,kevinyu98/spark,dongjoon-hyun/spark,dhruve/spark,kiszk/spark,kissmetrics/spark,cloud-fan/spark,map222/spark,mike0sv/spark,mike0sv/spark,kevinyu98/spark,byakuinss/spark,yanboliang/spark,facaiy/spark,holdenk/spark,zhouyejoe/spark,holdenk/spark,kiszk/spark,facaiy/spark,srowen/spark,facaiy/spark,highfei2011/spark,brad-kaiser/spark,tengpeng/spark,janewangfb/spark,caneGuy/spark,stanzhai/spark,eyalfa/spark,UndeadBaneGitHub/spark,aray/spark,WeichenXu123/spark,wangmiao1981/spark,darionyaphet/spark,darionyaphet/spark,ptkool/spark,vinodkc/spark,someorz/spark,kiszk/spark,kissmetrics/spark,HyukjinKwon/spark,cin/spark,map222/spark,LantaoJin/spark,ahnqirage/spark,sahilTakiar/spark,JoshRosen/spark,rednaxelafx/apache-spark,sureshthalamati/spark,adrian-ionescu/apache-spark,bOOm-X/spark,1haodian/spark,sureshthalamati/spark,actuaryzhang/spark,bdrillard/spark,apache/spark,gengliangwang/spark,SHASHANKB/spark,lxsmnv/spark,ConeyLiu/spark,saltstar/spark,markhamstra/spark,HyukjinKwon/spark,ptkool/spark,nlalevee/spark,shaneknapp/spark,joseph-torres/spark,srowen/spark,szhem/spark,liutang123/spark,spark-test/spark,bdrillard/spark,someorz/spark,guoxiaolongzte/spark,panfengfeng/spark,markhamstra/spark,saltstar/spark,srowen/spark,narahari92/spark,rezasafi/spark,apache/spark,mike0sv/spark,xflin/spark,ericvandenbergfb/spark,minixalpha/spark,zuotingbing/spark,goldmedal/spark,LantaoJin/spark,maropu/spark,ddna1021/spark,tengpeng/spark,cin/spark,kissmetrics/spark,dbtsai/spark,vinodkc/spark,guoxiaolongzte/spark,zuotingbing/spark,LantaoJin/spark,apache/spark,Aegeaner/spark,someorz/spark,esi-mineset/spark,mike0sv/spark,saturday-shi/spark,debugger87/spark,WeichenXu123/spark,ueshin/apache-spark,ConeyLiu/spark,jiangxb1987/spark,1haodian/spark,WeichenXu123/spark,HyukjinKwon/spark,ddna1021/spark,actuaryzhang/spark,yanboliang/spark,wangmiao1981/spark,nchammas/spark,wzhfy/spark,zzcclp/spark,bravo-zhang/spark,shaneknapp/spark,rednaxelafx/apache-spark,WindCanDie/spark,rednaxelafx/apache-spark,liutang123/spark,xflin/spark,nchammas/spark,shuangshuangwang/spark,hvanhovell/spark,nilsgrabbert/spark,bdrillard/spark,zzcclp/spark,taroplus/spark,ptkool/spark,caneGuy/spark,nlalevee/spark,jiangxb1987/spark,zero323/spark,skonto/spark,nchammas/spark,jkbradley/spark,zzcclp/spark,xuanyuanking/spark,shubhamchopra/spark,shubhamchopra/spark,1haodian/spark,taroplus/spark,eyalfa/spark,debugger87/spark,markhamstra/spark,guoxiaolongzte/spark,nchammas/spark,szhem/spark,rikima/spark,lvdongr/spark,ericvandenbergfb/spark,debugger87/spark,icexelloss/spark,akopich/spark,maropu/spark,rezasafi/spark,SHASHANKB/spark,poffuomo/spark,UndeadBaneGitHub/spark,witgo/spark,shubhamchopra/spark,jiangxb1987/spark,ron8hu/spark,akopich/spark,aokolnychyi/spark,map222/spark,narahari92/spark,icexelloss/spark,markhamstra/spark,lxsmnv/spark,nchammas/spark,tengpeng/spark,liyichao/spark,panfengfeng/spark,mdespriee/spark,poffuomo/spark,darionyaphet/spark,ahnqirage/spark,chuckchen/spark,darionyaphet/spark,nchammas/spark,chuckchen/spark,yanboliang/spark,eyalfa/spark,UndeadBaneGitHub/spark,adrian-ionescu/apache-spark,lvdongr/spark,zero323/spark,rikima/spark,alunarbeach/spark,WindCanDie/spark,SHASHANKB/spark,zero323/spark,darionyaphet/spark,jiangxb1987/spark,lvdongr/spark,bravo-zhang/spark,mahak/spark,shuangshuangwang/spark,yanboliang/spark,skonto/spark,ioana-delaney/spark,WeichenXu123/spark,mzl9039/spark,Aegeaner/spark,hvanhovell/spark,saturday-shi/spark,actuaryzhang/spark,ueshin/apache-spark,ConeyLiu/spark,wangmiao1981/spark,gengliangwang/spark,shubhamchopra/spark,ajaysaini725/spark,saltstar/spark,joseph-torres/spark,maropu/spark,guoxiaolongzte/spark,techaddict/spark,narahari92/spark,mdespriee/spark,WeichenXu123/spark,caneGuy/spark,ueshin/apache-spark,jkbradley/spark,dbtsai/spark,kiszk/spark,bOOm-X/spark,aray/spark,cin/spark,dhruve/spark,ddna1021/spark,highfei2011/spark,apache/spark,wangmiao1981/spark,mahak/spark,dhruve/spark,dbtsai/spark,zuotingbing/spark,dongjoon-hyun/spark,skonto/spark,debugger87/spark,HyukjinKwon/spark,milliman/spark,JoshRosen/spark,saltstar/spark,aosagie/spark,liutang123/spark,bravo-zhang/spark,kissmetrics/spark,icexelloss/spark,HyukjinKwon/spark,ericvandenbergfb/spark,jkbradley/spark,xuanyuanking/spark,saltstar/spark,mzl9039/spark,aray/spark,bravo-zhang/spark,zuotingbing/spark,kiszk/spark,guoxiaolongzte/spark,holdenk/spark,cin/spark,stanzhai/spark,cloud-fan/spark,BryanCutler/spark,kevinyu98/spark,highfei2011/spark,mike0sv/spark,nilsgrabbert/spark,tejasapatil/spark,eyalfa/spark,actuaryzhang/spark,Aegeaner/spark,rikima/spark,michalsenkyr/spark,bOOm-X/spark,liyichao/spark,rekhajoshm/spark,wzhfy/spark,wzhfy/spark,poffuomo/spark,rednaxelafx/apache-spark,xuanyuanking/spark,aokolnychyi/spark,jkbradley/spark,nchammas/spark,ptkool/spark,nilsgrabbert/spark,stanzhai/spark,xflin/spark,caneGuy/spark,bdrillard/spark,highfei2011/spark,esi-mineset/spark,akopich/spark,zuotingbing/spark,witgo/spark,saltstar/spark,darionyaphet/spark,ajaysaini725/spark,narahari92/spark,WeichenXu123/spark,zhouyejoe/spark,chuckchen/spark,shuangshuangwang/spark,milliman/spark,goldmedal/spark,mahak/spark,JoshRosen/spark,ron8hu/spark,apache/spark,techaddict/spark,zero323/spark,zero323/spark,dbtsai/spark,tengpeng/spark,debugger87/spark,SHASHANKB/spark,cin/spark,sahilTakiar/spark,bdrillard/spark,xuanyuanking/spark,milliman/spark,HyukjinKwon/spark,taroplus/spark,someorz/spark,hvanhovell/spark,milliman/spark,LantaoJin/spark,lvdongr/spark,minixalpha/spark,jiangxb1987/spark,brad-kaiser/spark,xuanyuanking/spark,caneGuy/spark,pgandhi999/spark,michalsenkyr/spark,bdrillard/spark,aokolnychyi/spark,nilsgrabbert/spark,highfei2011/spark,rezasafi/spark,caneGuy/spark,byakuinss/spark,xflin/spark,kiszk/spark,adrian-ionescu/apache-spark,ddna1021/spark,JoshRosen/spark,ajaysaini725/spark,liyichao/spark,holdenk/spark,spark-test/spark,UndeadBaneGitHub/spark,alunarbeach/spark,stanzhai/spark,joseph-torres/spark,yanboliang/spark,liutang123/spark,saturday-shi/spark,shaneknapp/spark,esi-mineset/spark,adrian-ionescu/apache-spark,dbtsai/spark,nlalevee/spark,alunarbeach/spark,xflin/spark,dhruve/spark,ioana-delaney/spark,vinodkc/spark,wzhfy/spark,SHASHANKB/spark,goldmedal/spark,skonto/spark,janewangfb/spark,rezasafi/spark,kissmetrics/spark,huang1900/spark,sureshthalamati/spark,chuckchen/spark,cloud-fan/spark,zhouyejoe/spark,mdespriee/spark,ueshin/apache-spark,mike0sv/spark,hvanhovell/spark,dhruve/spark,spark-test/spark,stanzhai/spark,kissmetrics/spark,hhbyyh/spark,wangyum/spark,shuangshuangwang/spark,wangmiao1981/spark,nilsgrabbert/spark,adrian-ionescu/apache-spark,witgo/spark,ddna1021/spark,liyichao/spark,maropu/spark,JoshRosen/spark,maropu/spark,LantaoJin/spark,dhruve/spark,skonto/spark,actuaryzhang/spark,ConeyLiu/spark,dongjoon-hyun/spark,ioana-delaney/spark,mzl9039/spark,hhbyyh/spark,aray/spark,map222/spark,markhamstra/spark,michalsenkyr/spark,jiangxb1987/spark,minixalpha/spark,debugger87/spark,sahilTakiar/spark,byakuinss/spark,vinodkc/spark,someorz/spark,liutang123/spark,eyalfa/spark,goldmedal/spark,dhruve/spark,shaneknapp/spark,rekhajoshm/spark,kissmetrics/spark,huang1900/spark,srowen/spark,ioana-delaney/spark,zuotingbing/spark,vinodkc/spark,zuotingbing/spark,huang1900/spark,bravo-zhang/spark,ron8hu/spark,guoxiaolongzte/spark,cin/spark,actuaryzhang/spark,nlalevee/spark,UndeadBaneGitHub/spark,lxsmnv/spark