当前位置: 首页 > news >正文

量化特征贡献度函数:feature_importances_函数/LGBMClassifier/XGBClassifier

feature_importances_是scikit-learn机器学习库中许多模型对象的属性,在训练模型之后调用该属性可以输出各个特征在模型中的重要性。

示例代码:

from sklearn.ensemble import RandomForestRegressor
from sklearn.datasets import make_regression# 生成一个示例数据集
X, y = make_regression(n_features=4, n_informative=2, random_state=0, shuffle=False)# 训练一个随机森林回归模型
rf = RandomForestRegressor(n_estimators=100, random_state=0)
rf.fit(X, y)# 输出特征的重要性
print(rf.feature_importances_)

在上述代码中,我们训练了一个随机森林回归模型,并使用feature_importances_输出了各个特征的重要性。输出结果为:[0.08519548, 0.39799048, 0.40214713, 0.11466691],即第2个特征和第3个特征在模型中较为重要,而第1个和第4个特征的重要性相对较低。

通过观察特征的重要性分布情况,我们可以了解到哪些特征在模型预测中有更高的权重,从而可以进行模型的优化和特征的筛选。


LGBMClassifier

LGBMClassifier是一种基于决策树的集成型机器学习算法,它采用了基于梯度提升树(Gradient Boosting Decision Tree)的模型框架,并具有高效、灵活、精度高的特点。由于算法的高效性,LGBMClassifier逐渐成为机器学习领域中的常用算法。

LGBMClassifier的主要优势:

  1. 高效:相对其它基于梯度提升树的算法,LGBMClassifier 显著提高了运行速度。

  2. 精度高:LGBMClassifier 在大数据集上的训练精度能够与同类别的算法相比较。

  3. 支持并行化:LGBMClassifier 支持类似多线程的并行化处理,这可以大大提升训练效率。

  4. 可定制度高:LGBMClassifier 与其他集成的决策树模型一样,能够支持很多的调整方法。

示例代码:

from lightgbm import LGBMClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_splitiris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)# 训练 LGBMClassifier 模型
model = LGBMClassifier()
model.fit(X_train, y_train)# 在测试集上进行预测
y_pred = model.predict(X_test)# 输出模型的准确率
acc = model.score(X_test, y_test)
print("Accuracy is : ", acc)

在上述代码中,示例数据集使用了鸢尾花数据集,将其分成了训练集和测试集,使用LGBMClassifier训练模型并在测试集上进行预测,在测试集上输出了模型的准确率。


XGBClassifier

XGBClassifier是一种基于梯度提升决策树算法的分类器模型,它使用了XGBoost库作为基础实现。XGBClassifier具有高效率、准确性和鲁棒性的优点,在数据科学和机器学习中应用广泛。

在使用XGBClassifier进行分类时,需要先进行数据清洗、特征工程和数据准备。然后,通过调用XGBClassifier实例,并设置参数来创建分类器模型。下面是一些常用的参数设置:

- learning_rate:学习率,控制每次迭代的步长,默认为0.1。

- n_estimators:决策树的个数,即迭代次数,默认为100。

- max_depth:最大树深度,控制模型的复杂度,默认为6。

- subsample:随机采样比例,用于训练每个决策树的子样本比例,默认为1。

- colsample_bytree:列采样比例,用于训练每个决策树的特征子集比例,默认为1。

- objective:损失函数,用于评估分类器的性能,默认为“binary:logistic”,用于二分类问题。

- random_state:随机种子,用于确保模型的可重复性。

创建模型后,可以使用fit()方法拟合数据进行模型训练。训练完成后,可以使用predict()方法进行预测,并使用score()方法计算模型在测试集上的准确度。

http://www.lryc.cn/news/69341.html

相关文章:

  • 总结JVM重要知识点
  • 奇技淫巧第8期
  • 这个 归并排序详解过程 我能吹一辈子!!!
  • docker版jxTMS使用指南:自动生成代码
  • 聚观早报 | 小冰启动GPT克隆人计划;ofo创始人在美创业改做咖啡
  • 面试造航母,入职拧螺丝,工资离了个大谱...
  • Python+selenium自动化元素定位防踩坑
  • 【计算机组成原理】实验一
  • 前端022_广告模块_修改功能
  • makefile 学习(3):C++的编译及库文件的生成与链接
  • Ceph crush运行图
  • 【分布族谱】泊松分布和二项分布、正态分布的关系
  • 关于QTreeWidget的setData函数
  • Microsoft Office 2003的安装
  • 使用Spring Boot和Spring Cloud实现多租户架构:支持应用多租户部署和管理
  • 智聚北京!相约全球人力资源数智化峰会
  • 工业缺陷检测数据及代码(附代码)
  • CentOS 安装MongoDB 6.0
  • 美团面试,被拷打了一小时....
  • 017+C语言中函数栈帧的创建与销毁(VS2022环境)
  • 马斯克们叫停 GPT-5,更像是场行为艺术
  • 事务基础知识
  • 国产高性能DSP音频处理芯片的工作原理以及应用领域
  • BEVDet4D 论文学习
  • 【设计模式与范式:创建型】43 | 单例模式(下):如何设计实现一个集群环境下的分布式单例模式?
  • Metal入门学习:绘制渲染三角形
  • python 中常见变量类型
  • SVN使用教程(一)
  • 【5.19】四、性能测试—指标、种类
  • Windows平台上的5种敏捷软件开发(过程)模型