zoukankan      html  css  js  c++  java
  • 随机森林算法

    0  引言

      随机森林算法以其众多优点而广泛应用于数据挖掘及分类回归中,具体优点请自学哈哈。我是从做分类入手,是个菜鸟。

    1 算法原理

    2 建模

    3 仿真结果

    4 结果分析及总结

    程序附录

    Examples

    ## Classification:
    ##data(iris)
    set.seed(71)
    iris.rf <- randomForest(Species ~ ., data=iris, importance=TRUE,
    proximity=TRUE)
    print(iris.rf)
    ## Look at variable importance:
    round(importance(iris.rf), 2)
    ## Do MDS on 1 - proximity:
    iris.mds <- cmdscale(1 - iris.rf$proximity, eig=TRUE)
    op <- par(pty="s")
    pairs(cbind(iris[,1:4], iris.mds$points), cex=0.6, gap=0,
    col=c("red", "green", "blue")[as.numeric(iris$Species)],
    main="Iris Data: Predictors and MDS of Proximity Based on RandomForest")
    par(op)
    print(iris.mds$GOF)

    ## The `unsupervised' case:
    set.seed(17)
    iris.urf <- randomForest(iris[, -5])
    MDSplot(iris.urf, iris$Species)

    ## stratified sampling: draw 20, 30, and 20 of the species to grow each tree.
    (iris.rf2 <- randomForest(iris[1:4], iris$Species,
    sampsize=c(20, 30, 20)))

    ## Regression:
    ## data(airquality)
    set.seed(131)
    ozone.rf <- randomForest(Ozone ~ ., data=airquality, mtry=3,
    importance=TRUE, na.action=na.omit)
    print(ozone.rf)
    ## Show "importance" of variables: higher value mean more important:
    round(importance(ozone.rf), 2)

    ## "x" can be a matrix instead of a data frame:
    set.seed(17)
    x <- matrix(runif(5e2), 100)
    y <- gl(2, 50)
    (myrf <- randomForest(x, y))
    (predict(myrf, x))

    ## "complicated" formula:
    (swiss.rf <- randomForest(sqrt(Fertility) ~ . - Catholic + I(Catholic < 50),
    data=swiss))
    (predict(swiss.rf, swiss))
    ## Test use of 32-level factor as a predictor:
    set.seed(1)
    x <- data.frame(x1=gl(53, 10), x2=runif(530), y=rnorm(530))
    (rf1 <- randomForest(x[-3], x[[3]], ntree=10))

    ## Grow no more than 4 nodes per tree:
    (treesize(randomForest(Species ~ ., data=iris, maxnodes=4, ntree=30)))

    ## test proximity in regression
    iris.rrf <- randomForest(iris[-1], iris[[1]], ntree=101, proximity=TRUE, oob.prox=FALSE)
    str(iris.rrf$proximity)

  • 相关阅读:
    long和Long的区别
    C语言的变量的内存分配
    Java蓝桥杯 算法提高 九宫格
    Java实现 蓝桥杯算法提高金明的预算方案
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 三角形
    Java实现 蓝桥杯 算法提高 三角形
    Java实现 蓝桥杯 算法提高 三角形
    Java实现 蓝桥杯 算法提高 三角形
  • 原文地址:https://www.cnblogs.com/babyfei/p/9031308.html
Copyright © 2011-2022 走看看