随机森林(1)

简介: 随机森林(1)
import java.util.HashMap;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.api.java.function.PairFunction;
import org.apache.spark.mllib.regression.LabeledPoint;
import org.apache.spark.mllib.tree.RandomForest;
import org.apache.spark.mllib.tree.model.RandomForestModel;
import org.apache.spark.mllib.util.MLUtils;
import scala.Tuple2;
public class decisiontree1 {
  public static void main(String[] args) {
  SparkConf sparkConf = new SparkConf () . setAppName (" JavaRandomForestExample"); 
  sparkConf . setMaster("local");
  JavaSparkContext jsc = new JavaSparkContext (sparkConf);  // Load and parse the data file.
  String datapath =
      "file:///home/gyq/下载/spark-2.3.2-bin-hadoop2.7/data/mllib/sample_libsvm_data.txt";
  JavaRDD<LabeledPoint> data = MLUtils . loadLibSVMFile(jsc.sc(), datapath)
  . toJavaRDD() ;
  // Split the data into training and test sets (30% held out for testing)
  JavaRDD<LabeledPoint>[] splits = data. randomSplit(new double[]{0.7, 0.3});
  JavaRDD<LabeledPoint> trainingData = splits[0];
  JavaRDD<LabeledPoint> testData = splits[1] ;
  // Train a RandomForest model.
  // Empty categoricalFeaturesInfo indicates all features are continuous .
  Integer numClasses = 2;
  HashMap<Integer, Integer> categoricalFeaturesInfo = new HashMap<Integer, Integer>();
  Integer numTrees =3; // Use more in practice.
  String featureSubsetStrategy = "auto"; // Let the algorithm choose.
  String impurity = "gini";
  Integer maxDepth = 5;
  Integer maxBins = 32;
  Integer seed = 12345;
  final RandomForestModel model = RandomForest . trainClassifier(trainingData, numClasses,
      categoricalFeaturesInfo, numTrees, featureSubsetStrategy, impurity, maxDepth, maxBins,
      seed);
      // Evaluate model on test instances and compute test error
      JavaPairRDD<Double,Double> predictionAndLabel =
      testData. mapToPair(new PairFunction<LabeledPoint,Double, Double>() {
      @Override
      public Tuple2<Double, Double> call(LabeledPoint p) {
      return new Tuple2<Double, Double> (model. predict(p. features()), p.label());
      }
      });
      Double testErr =
      1.0 * predictionAndLabel. filter(new Function<Tuple2<Double,Double>, Boolean>() {
      public Boolean call(Tuple2<Double,Double> pl) {
      return !pl._1(). equals(pl._2());}
      }).count()/testData.count();
      System. out. println("Test Error: "+ testErr);
      System. out. println("Learned classification forest model:\n" + model. toDebugString());
  }
}

相关文章
|
前端开发
【Bootstrap】<前端框架>Bootstrap常用样式 - 排版
【1月更文挑战第17天】【Bootstrap】<前端框架>Bootstrap常用样式 - 排版
|
前端开发 测试技术 API
DDD领域驱动设计实战-分层架构及代码目录结构(上)
DDD领域驱动设计实战-分层架构及代码目录结构
2011 0
DDD领域驱动设计实战-分层架构及代码目录结构(上)
|
存储 Shell Windows
安装OSX和Windows双系统以后系统时间不同步的问题
安装OSX和Windows双系统以后系统时间不同步的问题
323 0
|
存储 云安全 安全
带你读《阿里云安全白皮书》(二十一)——云上安全重要支柱(15)
阿里云安全白皮书(2024版)详细介绍了其在面对线上威胁时的快速响应与恢复能力。通过一体化的安全运营能力,阿里云帮助客户在极端威胁下快速感知、响应风险并恢复数据及服务。白皮书还涵盖了全面的资产梳理、及时的威胁情报分析、高效的风险识别与治理、专业的安全服务等内容,旨在为企业提供全方位的安全保障。
|
SQL 数据挖掘 Serverless
手把手进行数据分析,解锁游戏行为画像
本文介绍了一套利用阿里云E-MapReduce StarRocks版进行游戏玩家画像和行为分析的完整流程,旨在帮助开发者构建高性能、低成本的游戏数据分析平台。
552 11
|
监控 JavaScript API
Vue3 高阶方法及使用场景,看这一篇就够啦!!【最全】
Vue3 高阶方法及使用场景,看这一篇就够啦!!【最全】
|
消息中间件 监控 算法
Kafka 常用工具脚本总结
Kafka 常用工具脚本总结
887 0
|
前端开发 UED
react中懒加载实现原理
react中懒加载实现原理
478 0
|
存储 IDE Java
最新Java基础系列课程--Day01-Java基础入门(二)
最新Java基础系列课程--Day01-Java基础入门
254 0
|
XML Java Android开发
Android App开发实战项目之仿手机QQ动感影集动画播放(附源码和演示视频 可直接使用)
Android App开发实战项目之仿手机QQ动感影集动画播放(附源码和演示视频 可直接使用)
310 0

热门文章

最新文章