• R代码|基于特征重要性的特征排序代码


    前言:

    我根据自己的科研方向和实际工作,在利用R语言解决数据,特征和模型三方面的问题时,会搜集到一些R代码,利用【R语言】公众号将其整理和归总,分享给大家。一方面,希望这些R代码能够对大家解决实际问题有帮助或者启示;另一方面,也希望大家尝试从R代码中学习和应用R语言。


    基于特征重要性的特征排序代码。

    这个代码可以用于指导特征选择,特征选择的策略:

    1)Top-N策略;2)Top-percent策略。


    # 导入R库
    library(mlbench)
    library(caret)

    # 加载数据集
    data(PimaIndiansDiabetes)

    # 设置训练的控制参数,利用10-折交叉验证的方法
    control <- trainControl(method="cv", number=10)

    # 训练模型
    model <- train(diabetes~., data=PimaIndiansDiabetes, method="lvq", preProcess="scale", trControl=control)

    # 评估变量的变量重要性
    importance <- varImp(model, scale=FALSE)

    # 重要性描述结果
    print(importance)

    # 重要性可视化
    plot(importance)

    结果和可视化如下:

    # load the libraries
    library(mlbench)
    library(caret)

    # load the dataset
    data(iris)

    # prepare training scheme
    control <- trainControl(method="cv", number=10)

    # train the model
    model <- train(Species~., data=iris, method="lvq", preProcess="scale", trControl=control)

    # estimate variable importance
    importance <- varImp(model, scale=FALSE)

    # summarize importance
    print(importance)

    # plot importance
    plot(importance)

    结果和可视化如下:

    代码源自:

    https://setscholars.net/2019/10/25/how-to-rank-feature-with-importance-in-r-feature-selection-in-r/

    关于这段代码,你有什么想法或者问题,请扫码加我微信,大家交流和讨论。

  • 相关阅读:
    linux修改主机名
    selinux详解及配置文件
    linux磁盘分区
    识别光纤,模块
    free命令详解
    Linux系统修改网卡名(eth0-3)
    CentOS7的systemctl使用
    ELK集群
    ELK故障:elk在运行一段时间后,没有数据。
    superviosrd进程管理
  • 原文地址:https://www.cnblogs.com/purple5252/p/13859270.html
Copyright © 2020-2023  润新知