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的主要优势:
-
高效:相对其它基于梯度提升树的算法,LGBMClassifier 显著提高了运行速度。
-
精度高:LGBMClassifier 在大数据集上的训练精度能够与同类别的算法相比较。
-
支持并行化:LGBMClassifier 支持类似多线程的并行化处理,这可以大大提升训练效率。
-
可定制度高:LGBMClassifier 与其他集成的决策树模型一样,能够支持很多的调整方法。
示例代码:
from lightgbm import LGBMClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris = 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:随机种子,用于确保模型的可重复性。文章来源:https://www.toymoban.com/news/detail-678603.html
创建模型后,可以使用fit()方法拟合数据进行模型训练。训练完成后,可以使用predict()方法进行预测,并使用score()方法计算模型在测试集上的准确度。文章来源地址https://www.toymoban.com/news/detail-678603.html
到了这里,关于量化特征贡献度函数:feature_importances_函数/LGBMClassifier/XGBClassifier的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!