• 随机森林算法


    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)

  • 相关阅读:
    OI 知识总览 算法篇 之 动态规划
    LeetCode 16.3Sum Closest
    LeetCode 1.Two sum
    leetCode 15. 3Sum
    leetCode 54. Spiral Matrix
    mybatis(视频)
    mybatis
    spring笔记
    Spring(一)
    Spring(二)
  • 原文地址:https://www.cnblogs.com/babyfei/p/9031308.html
Copyright © 2020-2023  润新知