精华内容
下载资源
问答
  • xgboost4j 适用于JavaXgboost
  • JPMML-XGBoost Java库和命令行应用程序,用于将模型转换为PMML。 先决条件 Java 1.8或更高版本。 安装 输入项目根目录并使用构建: mvn clean install 构建生成可执行的uber-JAR文件target/jpmml-xgboost-...
  • JAVA训练XGBOOST

    千次阅读 热门讨论 2020-01-02 00:37:22
    2020年开篇,但是好像没啥特别的,参加个公司年会,时间就这么过去了,就这么迎来了2020年。... 一直用python去训练模型,考虑用点不一样的技术,用java去训练一个模型吧,这样也方便和java微服务以及大数据集成在...

           2020年开篇,但是好像没啥特别的,参加个公司年会,时间就这么过去了,就这么迎来了2020年。当然,我们国家传统是过了春节才算是新年,所以原则上2020年还没来到,但是日历上已经变了,现在2020年1月1日,觉得还是要随便写点什么,记录点什么吧。

           一直用python去训练模型,考虑用点不一样的技术,用java去训练一个模型吧,这样也方便和java微服务以及大数据集成在一起了,让模型更好的服务于生产系统当中。其实java也提供了很多机器学习库的,像h20,Weka,Mahout等(虽然我都没用过),Tensorflow也提供了java的api。但是像我这样全技术栈的算法并不多(自吹一下),所以在具体工作配合时候难免会遇到技术栈切换的成本,当然作为工程师,掌握一门工程性比较强的语言也是还是有必要的,只是应用方向不同啦。

           xgboost也提供java的很好的实现,虽然可能不如python用起来顺手,毕竟numpy,pandas这些库天生就是为处理结构化数据而打造的。其实个人之前也分析过,numpy的效率其实很高,但是怎么集成到以java为主流的应用系统是个问题。

    •  创建maven项目

    需要三个jar包,jar包名如图所示。

    • 准备数据
    import numpy as np
    from sklearn.datasets import load_iris
    
    data = load_iris()['data']
    target = load_iris()['target']
    
    x_data = np.hstack((target.reshape(-1, 1), data))
    x_data = x_data [x_data [:, 0] <= 1]
    
    train_index = [i for i in np.random.randint(0, len(x_data), int(len(x_data) * 0.8))]
    test_index = list(set([i for i in range(len(x_data))]) - set(train_index))
    
    train = x_data[train_index]
    test = x_data[test_index]
    
    with open("src/main/resources/train.txt", "w") as f:
        for line in train:
            f.write(",".join([str(x) for x in line]) + "\n")
    
    with open("src/main/resources/test.txt", "w") as f:
        for line in test:
            f.write(",".join([str(x) for x in line]) + "\n")
    
    • 训练并保存模型
    import ml.dmlc.xgboost4j.java.Booster;
    import ml.dmlc.xgboost4j.java.DMatrix;
    import ml.dmlc.xgboost4j.java.XGBoost;
    import ml.dmlc.xgboost4j.java.XGBoostError;
    
    import java.util.HashMap;
    import java.util.Map;
    
    
    public class XgboostTrain {
    
        private static DMatrix trainMat = null;
        private static DMatrix testMat = null;
    
        public static void main(String [] args) throws XGBoostError {
    
            try {
                trainMat = new DMatrix("src/main/resources/train.txt");
            } catch (XGBoostError xgBoostError) {
                xgBoostError.printStackTrace();
            }
            try {
                testMat = new DMatrix("src/main/resources/test.txt");
            } catch (XGBoostError xgBoostError) {
                xgBoostError.printStackTrace();
            }
    
            Map<String, Object> params = new HashMap<String, Object>() {
                {
                    put("eta", 1.0);
                    put("max_depth", 3);
                    put("objective", "binary:logistic");
                    put("eval_metric", "logloss");
                }
            };
    
            Map<String, DMatrix> watches = new HashMap<String, DMatrix>() {
                {
                    put("train",trainMat);
                    put("test", testMat);
                }
            };
            int nround = 10;
            try {
                Booster booster = XGBoost.train(trainMat, params, nround, watches, null, null);
                booster.saveModel("src/main/resources/model.bin");
            } catch (XGBoostError xgBoostError) {
                xgBoostError.printStackTrace();
            }
        }
    
    }
    

    • 进行预测
    import ml.dmlc.xgboost4j.java.Booster;
    import ml.dmlc.xgboost4j.java.DMatrix;
    import ml.dmlc.xgboost4j.java.XGBoost;
    import ml.dmlc.xgboost4j.java.XGBoostError;
    
    public class XgboostPredict {
    
        public static void main(String [] args) throws XGBoostError {
            float[] data = new float[] {5.2f, 3.5f, 1.5f, 0.2f};
            int nrow = 1;
            int ncol = 4;
            float missing = 0.0f;
            DMatrix dmat = new DMatrix(data, nrow, ncol, missing);
            Booster booster = XGBoost.loadModel("src/main/resources/model.bin");
            float[][] predicts = booster.predict(dmat);
            for (float[] array: predicts){
                for (float values: array) {
                    System.out.print(values + " ");
                }
                System.out.println();
            }
        }
    
    }
    

           这样就简单的实现了,xgboost模型的训练和预测,其实直接使用xgboost模型可以直接免去复杂的特征工程操作,不太需要对特征再进行归一化和one-hot编码操作,这样的话,数据准备好,启动一个SpringBoot基于Java实现的模型服务就搭建起来了。

    展开全文
  • xgboost已经提供丰富的java接口,再通过pmml调用显得没多大的意义,java底层用的c++写的预测方法,超级快,不过还是记录下,直接看看python代码,数据还是鸾尾花数据:import pandas as pdfrom xgboost.sklearn ...

    xgboost已经提供丰富的java接口,再通过pmml调用显得没多大的意义,java底层用的c++写的预测方法,超级快,不过还是记录下,直接看看python代码,数据还是鸾尾花数据:

    import pandas as pd

    from xgboost.sklearn import XGBClassifier

    from sklearn2pmml import PMMLPipeline

    from sklearn_pandas import DataFrameMapper

    from sklearn2pmml import sklearn2pmml

    iris_df = pd.read_csv("xml/iris.csv")

    clf = XGBClassifier(

    silent=0 ,#设置成1则没有运行信息输出,最好是设置为0.是否在运行升级时打印消息。

    #nthread=4,# cpu 线程数 默认最大

    learning_rate= 0.3, # 如同学习率

    min_child_weight=1,

    # 这个参数默认是 1,是每个叶子里面 h 的和至少是多少,对正负样本不均衡时的 0-1 分类而言

    #,假设 h 在 0.01 附近,min_child_weight 为 1 意味着叶子节点中最少需要包含 100 个样本。

    #这个参数非常影响结果,控制叶子节点中二阶导的和的最小值,该参数值越小,越容易 overfitting。

    max_depth=6, # 构建树的深度,越大越容易过拟合

    gamma=0, # 树的叶子节点上作进一步分区所需的最小损失减少,越大越保守,一般0.1、0.2这样子。

    subsample=1, # 随机采样训练样本 训练实例的子采样比

    max_delta_step=0,#最大增量步长,我们允许每个树的权重估计。

    colsample_bytree=1, # 生成树时进行的列采样

    reg_lambda=1, # 控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。

    objective= 'multi:softmax', #多分类的问题 指定学习任务和相应的学习目标

    n_estimators=100, #树的个数

    seed=1000

    )

    mapper = DataFrameMapper([

    (['sepal_length'], None),

    (['sepal_width'], None),

    (['petal_length'], None),

    (['petal_width'], None)

    ])

    pipeline = PMMLPipeline([('mapper', mapper), ("classifier", clf)])

    pipeline.fit(iris_df[iris_df.columns.difference(["species"])],iris_df["species"])

    sklearn2pmml(pipeline,"./xml/xgboost.pmml",with_repr = True)

    java代码调用上一步生成的xgboost.xml,看下,跟上两篇并没有什么区别:

    package com.meituan.test;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.InputStream;

    import java.util.HashMap;

    import java.util.LinkedHashMap;

    import java.util.List;

    import java.util.Map;

    import org.dmg.pmml.FieldName;

    import org.dmg.pmml.PMML;

    import org.jpmml.evaluator.Evaluator;

    import org.jpmml.evaluator.FieldValue;

    import org.jpmml.evaluator.InputField;

    import org.jpmml.evaluator.ModelEvaluator;

    import org.jpmml.evaluator.ModelEvaluatorFactory;

    import org.jpmml.evaluator.TargetField;

    public class PMMLPrediction {

    public static void main(String[] args) throws Exception {

    String pathxml="/Users/shuubiasahi/Documents/python/credit-tfgan/xml/xgboost.pmml";

    Map map=new HashMap();

    map.put("sepal_length", 5.1);

    map.put("sepal_width", 3.5);

    map.put("petal_length", 1.4);

    map.put("petal_width", 0.2);

    predictLrHeart(map, pathxml);

    }

    public static void predictLrHeart(Map irismap,String pathxml)throws Exception {

    PMML pmml;

    // 模型导入

    File file = new File(pathxml);

    InputStream inputStream = new FileInputStream(file);

    try (InputStream is = inputStream) {

    pmml = org.jpmml.model.PMMLUtil.unmarshal(is);

    ModelEvaluatorFactory modelEvaluatorFactory = ModelEvaluatorFactory

    .newInstance();

    ModelEvaluator> modelEvaluator = modelEvaluatorFactory

    .newModelEvaluator(pmml);

    Evaluator evaluator = (Evaluator) modelEvaluator;

    List inputFields = evaluator.getInputFields();

    // 过模型的原始特征,从画像中获取数据,作为模型输入

    Map arguments = new LinkedHashMap<>();

    for (InputField inputField : inputFields) {

    FieldName inputFieldName = inputField.getName();

    Object rawValue = irismap

    .get(inputFieldName.getValue());

    FieldValue inputFieldValue = inputField.prepare(rawValue);

    arguments.put(inputFieldName, inputFieldValue);

    }

    Map results = evaluator.evaluate(arguments);

    List targetFields = evaluator.getTargetFields();

    //对于分类问题等有多个输出。

    for (TargetField targetField : targetFields) {

    FieldName targetFieldName = targetField.getName();

    Object targetFieldValue = results.get(targetFieldName);

    System.err.println("target: " + targetFieldName.getValue()

    + " value: " + targetFieldValue);

    }

    }

    }

    }

    结果:

    target: species value: ProbabilityDistribution{result=0, probability_entries=[0=0.9966834381304797, 1=0.0024718368561191103, 2=8.447250134011304E-4]}

    展开全文
  • spark-xgboost8.1 java 例子

    2021-03-07 03:36:00
    XGBoostClassifier xgBoostEstimator=new XGBoostClassifier( ConvertUtil.toScalaImmutableMap(javaMap)) .setFeaturesCol("features").setLabelCol("classIndex"); // 开始训练 XGBoostClassificationModel model...

    第一个xgb的例子,还算顺利

    public class Xgb2 implements Serializable{

    /**

    *

    */

    private static final long serialVersionUID = 1L;

    public static void main(String[] args) throws Exception {

    Long start=System.currentTimeMillis();

    SparkSession s= SparkSession.builder().appName("XgbTrain").getOrCreate();

    Xgb2 main=new Xgb2();

    main.udf(s);

    main.read(s);

    HttpClientUtil.sendDingMessage("耗时:"+(System.currentTimeMillis()-start)/1000+"s");

    }

    public void udf(SparkSession s) {

    s.udf().register("strToDouble", new UDF1() {

    private static final long serialVersionUID = 1L;

    @Override

    public Double call(String org) throws Exception {

    return Double.parseDouble(org.trim());

    }

    }, DataTypes.DoubleType);

    }

    public void read(SparkSession s) throws Exception {

    Dataset rs = s.read().csv("hdfs://*/iris.data");

    rs.createOrReplaceTempView("temp");

    rs=s.sql("select strToDouble(_c0) as _c0, strToDouble(_c1) as _c1, strToDouble(_c2) as _c2, strToDouble(_c3) as _c3, _c4 from temp");

    rs.show(10, false);

    StringIndexerModel stringIndexer = new StringIndexer()

    .setInputCol("_c4")

    .setOutputCol("classIndex")

    .fit(rs);

    // 执行进行转换,并把原有的字符串class删除掉

    rs = stringIndexer.transform(rs).drop("_c4");

    // 将多个字段合并成在一起,组成future

    VectorAssembler vectorAssembler = new VectorAssembler()

    .setInputCols(new String[] {"_c0", "_c1", "_c2", "_c3"})

    .setOutputCol("features");

    //将数据集切分成训集和测试集

    rs = vectorAssembler.transform(rs).select("features", "classIndex");

    Dataset[] splitXgbInput = rs.randomSplit(new double[] {0.9, 0.1});

    Dataset trainXgbInput = splitXgbInput[0];

    Dataset testXgbInput = splitXgbInput[1];

    Map javaMap=new HashMap<>();

    javaMap.put("objective","multi:softprob");

    javaMap.put("eta",0.1);

    javaMap.put("max_depth",2);

    javaMap.put("num_round","20");

    javaMap.put("num_class",3);

    XGBoostClassifier xgBoostEstimator=new XGBoostClassifier( ConvertUtil.toScalaImmutableMap(javaMap))

    .setFeaturesCol("features").setLabelCol("classIndex");

    // 开始训练

    XGBoostClassificationModel model = xgBoostEstimator.fit(trainXgbInput);

    // 预测

    Dataset result = model.transform(testXgbInput);

    // 展示

    result.show(10,false);

    }

    }

    展开全文
  • 资源准备1.1 最新的xgboost4.07 版还没有windows下的编译工程,所以建议大家暂时先使用前一个版本的,官网上已经没有下载地址,下面是下载地址:http://blog.csdn.net/eddy_zheng/article/details/504961941.2 java...

    1. 资源准备

    1.1 最新的xgboost4.07 版还没有windows下的编译工程,所以建议大家暂时先使用前一个版本的,官网上已经没有下载地址,下面是下载地址:http://blog.csdn.net/eddy_zheng/article/details/50496194

    1.2 java 环境等自行搭建,jre建议使用1.7。使用VS2013 编译(xgboost JAVA编译,需使用2013及以上版本). 下载安装 maven,配置路径.

    2. 编译

    这里编译参考前面的博文,比较详细,依次编译完成。http://blog.csdn.net/eddy_zheng/article/details/50184563 ;4个,依次都生成一下,这里记得在工程里面选 release X64 Or X32 ~

    3. 打包

    3.1 为了减少以后的导包麻烦,就将 ./xgboost-master/java/ 中的 xgboost4j 与 xgboost4j-demo 和二为一; 本想这里整理好供大家下载,想想还是写出来,供大家参考,以后可以自行更换版本~

    进入以下路径:D:\xgboost-master\java\xgboost4j-demo\src\main\java\org\dmlc\xgboost4j ;复制 demo 整个文件夹,到以下文件夹中:
    D:\xgboost-master\java\xgboost4j\src\main\java\org\dmlc\xgboost4j; 将 demo 文件夹 copy 进来;完成之后如下:

    这里写图片描述

    3.2 改写 xgboost-master\java\xgboost4j中的pom.xml

    将以下代码,添加进pom.xml 文件:

    <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.4</version>
            </dependency>

    以下为添加完成之后的文件,可以对比下添加的位置,以后能自行添加。

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.dmlc</groupId>
        <artifactId>xgboost4j</artifactId>
        <version>1.1</version>
        <packaging>jar</packaging>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>1.7</maven.compiler.source>
            <maven.compiler.target>1.7</maven.compiler.target>
        </properties>
        <reporting>
            <plugins>
                <plugin>          
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.3</version>
                </plugin>
            </plugins>
        </reporting>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.4</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.2</version>
            </dependency>
        </dependencies>
    </project>

    3.3 copy java xgboost 依赖库

    进入到以下路径 :D:\xgboost-master\java (以自己的安装路径为准),双击:create_wrap.bat 。成功之后,就会将你之前编译生成的 xgboostjavawrapper.dll 文件拷贝到 D:\xgboost-master\java\xgboost4j\src\main\resources\lib 下,如果刚才那个 .bat 文件没有执行成功,可手动将文件拷贝进去,自己根据路径创建文件夹就可以了。( ,应该是不需要的)

    3.4 mvn package

    cmd 命令行,切换到以下路径,D:\xgboost-master\java\xgboost4j ,执行命令:mvn package

    这里写图片描述

    4 测试

    打包成功就会在 D:\xgboost-master\java\xgboost4j\target 处生成 : xgboost4j-1.1.jar 导入你的工程就可以工作了。这里还要提一下,xgboost 还依赖了两个 jar 包,在下面的工程里可以看到,自行下载添加。

    具体测试步骤:找时间再写吧,眼花了,贴几个图,大家对照着看下应该没问题(图片有点大,看不清的可以 Ctri + 鼠标滑轮,放大点看,^_^!)。

    这里写图片描述

    测试代码在下面贴着:

    
    import java.util.AbstractMap;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import org.dmlc.xgboost4j.Booster;
    import org.dmlc.xgboost4j.DMatrix;
    import org.dmlc.xgboost4j.util.Trainer;
    
    import org.dmlc.xgboost4j.demo.util.CustomEval;
    import org.dmlc.xgboost4j.demo.util.Params;
    import org.dmlc.xgboost4j.util.XGBoostError;
    
    
    public class PredictFirstNtree {   
        public static void main(String[] args) throws XGBoostError {
            // load file from text file, also binary buffer generated by xgboost4j
            DMatrix trainMat = new DMatrix("D:/xgboost-master/demo/data/agaricus.txt.train");
            DMatrix testMat = new DMatrix("D:/xgboost-master/demo/data/agaricus.txt.test");
    
            //specify parameters
            Params param = new Params() {
                {
                    put("eta", 0.001);
                    put("max_depth", 3);
                    put("eval_metric","auc");
                    put("silent", 1);
                    put("objective", "binary:logistic");
                }
            };
    
            //specify watchList
            List<Map.Entry<String, DMatrix>> watchs =  new ArrayList<>();
            watchs.add(new AbstractMap.SimpleEntry<>("train", trainMat));
            watchs.add(new AbstractMap.SimpleEntry<>("test", testMat));
    
            //train a booster
            int round = 1002;
            Booster booster = Trainer.train(param, trainMat, round, watchs, null, null);
    
            //predict use 1 tree
            float[][] predicts1 = booster.predict(testMat, false, 1);
            //by default all trees are used to do predict
            float[][] predicts2 = booster.predict(testMat);
    
            //use a simple evaluation class to check error result
            CustomEval eval = new CustomEval();
            System.out.println("error of predicts1: " + eval.eval(predicts1, testMat));
            System.out.println("error of predicts2: " + eval.eval(predicts2, testMat));
        }
    }
    
    展开全文
  • xgboost4j jar包

    2018-01-25 15:31:43
    xgboost4j jar包xgboost4j jar包xgboost4j jar包xgboost4j jar包
  • Xgboost4j打包 java Ubuntu安装

    千次阅读 2017-09-20 19:54:29
    Xgboost4j打包 java Ubuntu安装1. 踩过的坑写在最前网上找了几个教程,教程比较少,能用上的不多(1)比如jni.h 和 jni_md.h 用来编译xgboost4j_wrapper.cpp生成打包的动态链接库 (只存在旧版本,但是还是以java文件夹...
  • xgboost参数说明在网上找了很多关于xgboost的文章,基本上90%都是以python在说明的,java的很少, xgboost参数说明http://blog.csdn.net/zc02051126/article/details/46711047在这篇文章里面说明的很详细, 在java...
  • xgboost用于文本分类预测,java接口

    千次阅读 2017-05-07 21:12:29
    周末花了两天时间从安装xgboost到用于文本预测,记录下,首先是把文本分词,去停顿词,计算tf-idf值,然后模型训练,模型保存,加载模型,模型预测: 模型训练比较简单,先看看模型预测写的代码,准备的两个方法,...
  • 使用sklearn2pmml 保存Python的模型第一步:Python端安装sklearn2pmml,这里安装的是PMML最新版本,4.4 ,这里的4.4和java的1.5.x.jar对应pip install sklearn2pmml第二步:Python端修改代码pipeline = PMMLPipeline...
  • 家谱java源码学习-xgboost xgboost 的二进制分类示例代码和数据。 如果您 fork 这个存储库并完成本 README 中的所有练习,您可以获得机器学习微徽章(下面的练习和问题)。 这里的示例训练代码是用 Python 和 Java ...
  • windows 下配置javaxgboost

    千次阅读 2016-04-01 14:30:53
    在windows下配置java版的xgboost
  • 我有下面的问题(我在MAC上)我可以用我的终端从python2.7或python3.6导入xgboost,但问题是我无法在我的Jupyter笔记本上导入它 .import xgboost as xgbModuleNotFoundError Traceback(最近一次调用last)in()---->...
  • XGBoost文本分类实战

    千次阅读 2019-07-16 08:56:25
    本文首发在微信公众号‘java学习每天一个知识点’,更多资源请关注公众号获取。 一、将收集到的语料进行文本预处理 1)train.txt预处理为train.csv,格式为id,内容,标签 使用excel打开train.txt然后选择分隔符...
  • xgboost是一个boosting+decision trees的工具包,看微博上各种大牛都说效果很好,于是下载一个,使用了一下,安装步骤如下。第一步,编译生成xgboost.exe(用于CLI)以及xgboost_wrapper.dll(用于python)。用vs打开...
  • xgboost and xgboost4j

    万次阅读 2016-11-18 11:14:03
    XGBoost Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow 可...
  • xgboost安装与原理

    2021-03-09 01:46:47
    1、xgboost库的安装比如我是Python3.6,64位操作系统,所以要安装xgboost-0.72-cp36-cp36m-win_amd64.whl。然后将它放到conda文件夹下,用anaconda prompt切换到该路径下,使用pip installxgboost-0.72-cp36-cp36m-...
  • xgboost算法详细介绍(通过简单例子讲述)

    万次阅读 多人点赞 2019-01-11 11:30:55
    XGBOOST算法简介boost算法简介集成学习的任务XGBoost的思想通过算法流程图举一个例子详解xgboost树的生成xgboost的简单应用:根据诊断措施预测糖尿病的发病(Kaggle竞赛 ) 作者才疏学浅,如有错误还请指正,谢谢! ...
  • 关于xgboost4j遇到的坑

    千次阅读 2018-11-08 20:02:28
    背景:前一段时间有任务,需要使用xgboost4j重构公司里面的预测模型代码。然后就是各种开工,搞了一段时间后把自己遇到的问题回顾下。 结论: 1.xgboost4j针对不同的环境差异很大。有linux,mac和windows。因为...
  • Javaxgboost,分linux和win64两种编译版本,linux下另有xgboost4j-spark和xgboost4j-flink的依赖包
  • - booster [default=gbtree] 有两中模型可以选择gbtree和gblinear。gbtree使用基于树的模型进行提升计算,gblinear使用线性模型进行提升计算。缺省值为gbtree。...XGBoost运行时的线程数。缺省值是当...
  • xgboost 库使用入门

    千次阅读 2019-08-22 11:06:46
    https://www.jianshu.com/p/05ec35a120b1
  • xgboost所需Jar包

    2016-01-06 13:16:58
    两个Jar包,直接导入工程或者配置classpath编译,使用demo,在网上找一下就有了
  • weka-xgboost 此软件包需要在系统中。 该软件包与Weka> = 3.9.1兼容 它可以作为非官方软件包安装在Weka中(您可以从下载预构建软件包)。 可从Weka GUIChooser的“工具”菜单中获得GUI软件包管理器。 您可以通过...
  • XGBoost使用总结

    千次阅读 2018-08-28 20:35:10
    最近用到了XGBoost模型,总结一下。 二、原理 参考朋友的博客,个人感觉总结的很到位: http://reset.pub/2017/04/01/xgboost/ 三、参数解读 参考:https://xgboost.readthedocs.io/en/latest/parameter.html ...
  • XGboost的代码案例并结合Kaggle上的Titanic数据总结一点数据预处理的技巧。 案例1 简单使用xgboost做分类,了解一些特性。 import xgboost as xgb import numpy as np # 1、xgBoost的基本使用 # 2、自定义损失...
  • 使用Xgboost自带的读取格式DMatrix()

    万次阅读 2019-11-23 17:11:32
    可以接受的格式: ·LibSVM文本格式文件 ·逗号分隔值(CSV)文件 ·NumPy 2D阵列 ...·XGBoost二进制缓冲区文件 需要注意的是:XGBoost不支持分类功能; 如果您的数据包含分类功能,请先将其加载为NumPy阵列...
  • 原标题:模型转代码:XGBoost等模型也能快速转纯C或Java代码机器之心编辑参与:思源你是否常训练炫酷的机器学习模型,用来分析数据或执行某些新奇的任务?你是否发现你的模型只能在一定开发环境上才能跑起来,很难...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,478
精华内容 991
关键字:

javaxgboost

java 订阅