【AutoML框架】TransmogrifAI配置问题及简要分析
如上一篇所简要介绍,TransmogrifAI可以为机器学习开发者节省大量特征处理及建模时间,官方网站有安装配置过程,以下是我个人配置及调试TransmogrifAI过程中记录的问题及要点。
安装:
1、安装Scala2.12.*,尽量装12版本,13可能不支持
2、安装hadoop和spark2.2.*,同样注意版本号,安装gradle
3、下载TransmogrifAI的Release版本,目前是0.3.4
4、按官方安装步骤来。
问题1:已安装gradle,执行过程中还出现downloading gradle。如何不自动重复下载?
解决:TransmogrifAI/gradle/wrapper/gradle-wrapper.properties中将***url=http://***改为本文件夹下,同时将对应版本的gradle包放入本文件夹下(或统一为其他固定文件夹下)
问题2:出现git命令错误
解决:首先git init,然后将TransmogrifAI/gradle/version-properties.gradle中的组合git命令代码替换为固定值,如下:
上面为原代码,下面为修改后。
问题3:执行中如果报Xmxsize:4G类似的错误,可能是由于电脑内存不够spark分配所致。需要将工程种spark.gradle中的driverMemory,executorMemory设置成合适的值。
自动建模过程:
1、需要提供一个数据文件和数据文件说明avsc文件,具体格式参考helloworld里的avsc文件。
2、全部采用默认设置,全程不配置任何模型参数的流程
3、按官方文档里bootstrap your first project 里的步骤逐步进行,注意修改对应的参数。
4、数据文件去掉表头,因为自动生成的代码默认是使用noheader模式。据此,avsc文件应该要按顺序进行解释。
5、建一个**.answer在cli目录下,否则会报错
6、schema名与工程名区分开,否则后面会报错
7、score和evaluate模式下,需要修改主程序**.scala文件中的 val evaluator最后加上setProbabilityCol(prob)。
正常执行,模型就会生成在指定目录了,可loadModel()进行预测。
TransmogrifAI简单使用下来,能够方便的从数据直接生成模型,效果还不错。它提供了较为强大的数据处理和特征处理的能力,可以减轻此部分工作。但同时它内置的ModelSelector支持的机器学习算法还较少,超参数调节的方法为网格搜搜索,没有提供随机搜索算法。
当前版本适用简单问题的快速处理。