欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Spark實現(xiàn)隨機森林代碼

 更新時間:2019年08月10日 11:50:09   作者:KevinYunhe  
這篇文章主要為大家詳細(xì)介紹了基于Spark實現(xiàn)隨機森林代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了基于Spark實現(xiàn)隨機森林的具體代碼,供大家參考,具體內(nèi)容如下

public class RandomForestClassficationTest extends TestCase implements Serializable
{
 
  /**
  * 
  */
  private static final long serialVersionUID = 7802523720751354318L;
  
  class PredictResult implements Serializable{
    /**
    * 
    */
    private static final long serialVersionUID = -168308887976477219L;
    double label;
    double prediction;
    
    public PredictResult(double label,double prediction){
    this.label = label;
    this.prediction = prediction;
    }
    
    @Override
    public String toString(){
      return this.label + " : " + this.prediction ;
    }
  }
  
  
  public void test_randomForest() throws JAXBException{
  
    SparkConf sparkConf = new SparkConf();
    sparkConf.setAppName("RandomForest");
    sparkConf.setMaster("local");
    
    SparkContext sc = new SparkContext(sparkConf);
    String dataPath = RandomForestClassficationTest.class.getResource("/").getPath() + "/sample_libsvm_data.txt";
    
    RDD dataSet = MLUtils.loadLibSVMFile(sc, dataPath);
    RDD[] rddList = dataSet.randomSplit(new double[]{0.7,0.3},1);
    
    RDD trainingData = rddList[0];
    RDD testData = rddList[1];
    
    ClassTag labelPointClassTag = trainingData.elementClassTag();
    
    JavaRDD trainingJavaData = new JavaRDD(trainingData,labelPointClassTag);
    
    int numClasses = 2;
    Map categoricalFeatureInfos = new HashMap();
    int numTrees = 3;
    String featureSubsetStrategy = "auto";
    String impurity = "gini";
    int maxDepth = 4;
    int maxBins = 32;
    
    /**
    * 1 numClasses分類個數(shù)為2
    * 2 numTrees 表示的是隨機森林中樹的個數(shù)
    * 3 featureSubsetStrategy
    * 4 
    */
    final RandomForestModel model = RandomForest.trainClassifier(trainingJavaData,
    numClasses,
    categoricalFeatureInfos,
    numTrees,
    featureSubsetStrategy,
    impurity,
    maxDepth,
    maxBins,
    1);
 
    JavaRDD testJavaData = new JavaRDD(testData,testData.elementClassTag());
    
    JavaRDD predictRddResult = testJavaData.map(new Function(){
 
 
    /**
    * 
    */
    private static final long serialVersionUID = 1L;
    
    
    public PredictResult call(LabeledPoint point) throws Exception {
      // TODO Auto-generated method stub
      double pointLabel = point.label();
      double prediction = model.predict(point.features());
      PredictResult result = new PredictResult(pointLabel,prediction);
      return result;
    }
    
    });
 
    List predictResultList = predictRddResult.collect();
    for(PredictResult result:predictResultList){
      System.out.println(result.toString());
    }
    
      System.out.println(model.toDebugString());
    }
}

得到的隨機森林的展示結(jié)果如下:

TreeEnsembleModel classifier with 3 trees
 
 
Tree 0:
If (feature 435 <= 0.0)
If (feature 516 <= 0.0)
Predict: 0.0
Else (feature 516 > 0.0)
Predict: 1.0
Else (feature 435 > 0.0)
Predict: 1.0
Tree 1:
If (feature 512 <= 0.0)
Predict: 1.0
Else (feature 512 > 0.0)
Predict: 0.0
Tree 2:
If (feature 377 <= 1.0)
Predict: 0.0
Else (feature 377 > 1.0)
If (feature 455 <= 0.0)
Predict: 1.0
Else (feature 455 > 0.0)
Predict: 0.0

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實現(xiàn)Api接口加密通信方式

    java實現(xiàn)Api接口加密通信方式

    這篇文章主要介紹了java實現(xiàn)Api接口加密通信方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • javaweb用戶注銷后點擊瀏覽器返回刷新頁面重復(fù)登錄問題的解決方法

    javaweb用戶注銷后點擊瀏覽器返回刷新頁面重復(fù)登錄問題的解決方法

    這篇文章主要為大家詳細(xì)介紹了javaweb用戶注銷后點擊瀏覽器返回刷新頁面重復(fù)登錄問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • java中catalina.home與catalina.base區(qū)別點整理

    java中catalina.home與catalina.base區(qū)別點整理

    在本篇文章里小編給大家整理的是關(guān)于java項目中catalina.home與catalina.base區(qū)別點,需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • SpringBoot Jackson日期格式化統(tǒng)一配置的實現(xiàn)

    SpringBoot Jackson日期格式化統(tǒng)一配置的實現(xiàn)

    Spring項目中經(jīng)常需要配置日期時間格式格式,本文主要介紹了SpringBoot Jackson日期格式化統(tǒng)一配置的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java算法之串的簡單處理

    Java算法之串的簡單處理

    今天小編就為大家分享一篇關(guān)于Java算法之串的簡單處理,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • SpringBoot優(yōu)先加載指定Bean的實現(xiàn)

    SpringBoot優(yōu)先加載指定Bean的實現(xiàn)

    SpringBoot框架在啟動時可以自動將托管的Bean實例化,一般情況下它的依賴注入特性可以正確處理Bean之間的依賴關(guān)系,無需手動指定某個 Bean優(yōu)先創(chuàng)建實例,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05
  • alibaba?seata服務(wù)端具體實現(xiàn)

    alibaba?seata服務(wù)端具體實現(xiàn)

    seata是來處理分布式服務(wù)之間互相調(diào)用的事務(wù)問題,本文重點給大家介紹alibaba-seata實現(xiàn)方法,文中通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • Java 8 Stream操作類型及peek示例解析

    Java 8 Stream操作類型及peek示例解析

    這篇文章主要介紹了Java 8 Stream操作類型及peek示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • 詳解Maven POM(項目對象模型)

    詳解Maven POM(項目對象模型)

    這篇文章主要介紹了Maven POM(項目對象模型)的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 詳解如何用Java去除HTML標(biāo)簽

    詳解如何用Java去除HTML標(biāo)簽

    在平時工作中,偶爾會用 Java 做一些解析HTML的工作。有時需要刪除所有的HTML標(biāo)簽,只保留純文字內(nèi)容。這個問題在做過一些爬蟲工作的朋友來說很簡單。下面來說說,我們平時使用到的集中解析的方法
    2022-12-12

最新評論