利用xgboost4j下的xgboost分类模型案例
来源:互联网 发布:微软人工智能的布局 编辑:程序博客网 时间:2024/06/10 04:49
package spark.xgb.testimport ml.dmlc.xgboost4j.scala.Boosterimport ml.dmlc.xgboost4j.scala.spark.XGBoostimport org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSession/** * Created by zhaijianwei on 2017/12/7. */object sparkWithDataFrame { def main(args: Array[String]) { if(args.length != 4){ println( "usage: program num_of_rounds num_workers training_path test_path") sys.exit(1) } val numRound = args(0).toInt val num_workers = args(1).toInt val inputTrainPath = args(2) val inputTestPath = args(3) // 使用kyro序列化,需要对序列化的类进行注册 val sparkConf = new SparkConf().setAppName("sparkWithDataFrame") .set("spark.serializer", "org.apache.spark.serializer.KryoSerializer") sparkConf.registerKryoClasses(Array(classOf[Booster])) val sparkSession = SparkSession.builder().config(sparkConf).getOrCreate() val trainDF = sparkSession.sqlContext.read.format("libsvm").load(inputTrainPath) val testDF = sparkSession.sqlContext.read.format("libsvm").load(inputTestPath) val params = List( "eta" -> 0.1f, "max_depth" -> 2, "objective" -> "binary:logistic" ).toMap val xgbModel = XGBoost.trainWithDataFrame(trainDF, params, numRound, num_workers, useExternalMemory = true) xgbModel.transform(testDF).show() }}
提交spark的shell程序:
numRound=100num_workers=10inputTrainPath="/tmp/zjw/agaricus.txt.train" //存放训练数据的hdfs路径inputValidPath="/tmp/zjw/agaricus.txt.test" //存放测试数据的hdfs路径spark-submit --class spark.xgb.test.sparkWithDataFrame \ --num-executors 60 \ --executor-memory 16g \ --driver-memory 16g \ --executor-cores 4 \ --queue root.bdp_jdw_up \ --jars ./jar/xgboost4j-0.7.jar,./jar/xgboost4j-spark-0.7.jar \./jar/spark_prac-1.0-SNAPSHOT.jar $numRound $num_workers $inputTrainPath $inputValidPath
运行结果:
阅读全文
0 0
- 利用xgboost4j下的xgboost分类模型案例
- Xgboost的多分类
- xgboost的模型推导
- XGBoost4J: Portable Distributed XGBoost in Spark, Flink and Dataflow
- 树模型系列之六:基于R语言的xgboost+LR实现方法及案例
- Ubuntu下利用pip配置xgboost
- xgboost算法的学习小案例
- XGBoost模型
- xgboost4j 在linux macOs上的配置
- Tensorflow 使用slim框架下的分类模型进行分类
- Tensorflow 使用slim框架下的分类模型进行分类
- 基于Python的Xgboost模型实现
- 利用TensorFlow训练简单的二分类神经网络模型
- 利用训练好的参数模型对图片进行分类
- XGBoost模型跟Logistic Regression模型的本质区别
- xgboost使用案例一
- xgboost使用案例二
- xgboost使用案例一
- 移动互联网产品数据分析
- 嵌入式裸机开发,全局变量初值不正确
- 第15周项目1(3)-验证冒泡排序算法
- TCP/IP协议:最大传输单元MTU 和 最大分节大小MSS
- docker insecure-registry
- 利用xgboost4j下的xgboost分类模型案例
- react:阻止事件冒泡
- 第十四周项目3-插入排序之希尔排序
- c99 restrict 关键字
- dedecms织梦后台提示用户名不存在
- 排序
- babel-plugin-module-resolver 模块解析插件
- React-native navigator
- 从零开始使用Laravel的图片验证码