首页 > 其他分享 >机器学习-AdaBoost实例

机器学习-AdaBoost实例

时间:2024-09-06 10:21:07浏览次数:11  
标签:iris 机器 实例 分类器 train AdaBoost test classifier

以下是使用 AdaBoost 算法进行分类的一个简单例子,采用 Python 中的 scikit-learn 库。我们将使用经典的鸢尾花(Iris)数据集,并通过 AdaBoost 结合决策树分类器来进行分类。

代码实现:

# 导入库
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 加载数据集
iris = load_iris()
X = iris.data  # 特征
y = iris.target  # 标签

# 将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建一个基础分类器(决策树)
base_classifier = DecisionTreeClassifier(max_depth=1)

# 创建 AdaBoost 分类器
ada_classifier = AdaBoostClassifier(base_estimator=base_classifier, n_estimators=50, learning_rate=1.0, random_state=42)

# 训练 AdaBoost 模型
ada_classifier.fit(X_train, y_train)

# 进行预测
y_pred = ada_classifier.predict(X_test)

# 评估模型
accuracy = accuracy_score(y_test, y_pred)
print(f"AdaBoost 模型的准确率: {accuracy:.2f}")

代码说明:

  1. 数据集加载

    • 使用 load_iris() 函数加载鸢尾花数据集,这是一个经典的分类数据集,有 150 个样本,包含 4 个特征和 3 个类别。
  2. 数据集划分

    • 使用 train_test_split 将数据集划分为训练集(80%)和测试集(20%)。
  3. 基础分类器

    • 我们选择决策树作为基础分类器,并将其最大深度设置为 1(即决策树桩)。
  4. AdaBoost 分类器

    • AdaBoostClassifierscikit-learn 中实现的 AdaBoost 分类器。通过设置 base_estimator=base_classifier 使用决策树作为弱学习器。
    • 参数 n_estimators=50 表示使用 50 个弱分类器进行集成。
    • learning_rate=1.0 控制每个弱分类器对最终分类器的贡献权重。
  5. 训练和预测

    • 通过 fit 方法训练 AdaBoost 模型。
    • 使用 predict 方法对测试集进行预测。
  6. 模型评估

    • 使用 accuracy_score 评估模型的准确率。

结果:

最终会输出模型在测试集上的准确率,例如:

AdaBoost 模型的准确率: 1.00

这个结果表明,AdaBoost 模型在鸢尾花数据集的测试集上表现良好。通过组合多个弱分类器,AdaBoost 能够提升整体模型的性能。

标签:iris,机器,实例,分类器,train,AdaBoost,test,classifier
From: https://blog.csdn.net/finly4599/article/details/141952981

相关文章

  • Python开发实例(30)文件搜索工具:创建一个程序,允许用户在指定目录下搜索文件
    创建一个文件搜索工具是一个非常有用的项目,它可以帮助用户在指定目录下查找文件。以下是一个基本的文件搜索工具示例,它使用Python的os库来进行文件搜索。importosdefsearch_files(directory,filename):found_files=[]forroot,_,filesinos.walk(director......
  • 828华为云征文|华为云Flexus X实例评测使用体验——安装部署discuzQ小程序博客论坛
    使用discuzQ搭建博客/论坛:方便企业开发者搭建博客、论坛、设计作品展示、简历等企业网站,具有较高的性价比。比如个人博主搭建的博客网站,华为云FlexusX实例可以满足日常的文章发布、读者访问等需求,提供流畅的浏览体验,推荐华为云FlexusX的4核12G、3M带宽、100G硬盘的......
  • 【机器学习】任务三:基于逻辑回归与线性回归的鸢尾花分类与波士顿房价预测分析
    目录1.目的和要求1.1掌握回归分析的概念和使用场景1.2 掌握机器学习回归分析进行数据预测的有效方法1.3 掌握特征重要性分析、特征选择和模型优化的方法2.波士顿房价预测与特征分析2.1第一步:导入所需的模块和包2.2第二步:加载波士顿房价数据集2.3第三步:数据预处理......
  • 基于机器学习的阿尔兹海默症智能分析预测系统
    温馨提示:文末有CSDN平台官方提供的学长QQ名片:) 1.项目简介        阿尔兹海默症(Alzheimer'sDisease,AD)是一种常见的神经退行性疾病,主要影响老年人的认知功能。随着全球人口老龄化的加剧,阿尔兹海默症的患病率逐年上升,对社会和个人健康造成了巨大的负担。......
  • 《机器学习》—— PCA降维
    文章目录一、PCA降维简单介绍二、python中实现PCA降维函数的介绍三、代码实现四、PCA降维的优缺点一、PCA降维简单介绍PCA(主成分分析,PrincipalComponentAnalysis)是一种常用的数据降维技术。它通过线性变换将原始数据转换到新的坐标系统中,使得任何投影的第一大方差......
  • 机器学习:opencv--图像边缘检测
    目录前言一、图像边缘检测1.边缘检测        2.边缘检测的方法二、Sobel算子1.Sobel算子        2.计算3.代码实现4.代码步骤解析1.导入图片2.处理x轴和y轴的边缘并相加三、Scharr算子1.Scharr算子2.计算3.代码实现四、Laplacian算子1.Laplac......
  • 机器学习:opencv图像识别--模版匹配
    目录一、模版匹配的核心概念1.图片模板匹配是一种用于在图像中查找特定模式或对象的技术。2.模板图像3.目标图像4.滑动窗口5.相似度度量6.匹配位置二、模版匹配的步骤1.准备图像:2.预处理:3.匹配:4.定位最佳匹配:5.标记结果:6.显示或处理结果:三、代码实现一、模版......
  • 【机器学习】梯度提升和随机森林的概念、两者在python中的实例以及梯度提升和随机森林
    引言梯度提升(GradientBoosting)是一种强大的机器学习技术,它通过迭代地训练决策树来最小化损失函数,以提高模型的预测性能随机森林(RandomForest)是一种基于树的集成学习算法,它通过组合多个决策树来提高预测的准确性和稳定性文章目录引言一、梯度提升1.1基本原理1.1.1......
  • 【机器学习】模型性能与可解释性的矛盾以及如何提高可解释性和模型性能
    引言文章目录引言一、模型性能与可解释性的矛盾1.1矛盾的一些关键点1.1.1模型性能1.2可解释性1.3矛盾点1.3.1复杂性与简单性1.3.2黑盒模型1.3.3业务需求1.3.4合规性和责任1.4解决方案1.4.1使用可解释的模型1.4.2模型简化1.4.3后验可解释性技术1.4.4模型......
  • 使用 Terraform 在 AWS 上创建 MySQL RDS 实例:自动化基础设施管理
    在如今的云计算时代,自动化基础设施管理成为了企业高效运维的关键。而Terraform作为一款强大的基础设施即代码(InfrastructureasCode,IaC)工具,可以帮助我们轻松实现云资源的自动化管理。本文将围绕如何使用Terraform在AWS上创建MySQLRDS实例展开,带你体验自动化管理带来的便......