使用随机森林进行特征选择

绘制随机森林每棵树的决策边界

首先导入必要的库函数:

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import numpy as np
import mglearn

使用make_moons数据集构造一个有5棵树的随机森林模型,观察每棵树的决策边界。

X, y = make_moons(n_samples=100,noise=0.25,random_state=3)
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=42)forest = RandomForestClassifier(n_estimators=5,random_state=2)
forest.fit(X_train,y_train)

随机森林用到了ensemble集成的思想,即使用多棵决策树集成一个随机森林模型,并通过自助采样(从n_samples个数据点中有放回地重复随机抽取一个样本,并抽取n_samples次),并对每个结点使用的特征(单棵决策树使用特征进行决策:if/else)进行随机选择,保证随机森林中每一棵树都是随机的(两两不同),这样保证了每棵树都是随机的,优化了决策树过拟合的缺点。

加下来查看随机森林中五棵树的决策边界:

fig, axes = plt.subplots(2,3,figsize=(20,10))
for i, (ax, tree) in enumerate(zip(axes.ravel(),forest.estimators_)):ax.set_title("Tree {}".format(i))mglearn.plots.plot_tree_partition(X_train, y_train, tree, ax=ax)mglearn.plots.plot_2d_separator(forest, X_train, fill=True, ax=axes[-1,-1],alpha=.4)
axes[-1,-1].set_title("Random Forest")
mglearn.discrete_scatter(X_train[:,0],X_train[:,1],y_train)

输出如下:
在这里插入图片描述
可以看到每棵树的决策边界差异都不小,最终集成的随机森林模型的决策边界会变得非常平滑。

使用随即森林进行特征选择

由于决策树自身就可以进行特征选择,因此对于其集成的随机森林,进行特征选择更不在话下。此外,其特征选择的能力往往比单棵决策树好。使用乳腺癌数据集训练一个由100棵决策树集成的随机森林模型,并进行特征选择。

from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, random_state=66)
forest.fit(X_train,y_train)print("Acc on training set:{:.2f}".format(forest.score(X_train,y_train)))
print("Acc on test set:{:.2f}".format(forest.score(X_test,y_test)))
Acc on training set:0.99
Acc on test set:0.95
def plot_feature_importances_cancer(model):n_features = cancer.data.shape[1]plt.barh(range(n_features), model.feature_importances_, align="center")plt.yticks(np.arange(n_features), cancer.feature_names)plt.xlabel("Feature importance")plt.ylabel("Feature")plot_feature_importances_cancer(forest)

在这里插入图片描述
显然,相较于决策树的特征选择结果,随机森林能够选择更多的特征。下面是使用单棵决策树在乳腺癌数据集上的特征选择结果。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7884.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python实现随机森林

定义: 随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。可回归可分类。 所以随机森林是基于多颗决策树的一种集成学习算法,常见的决策树算法主要有以下几种: 1. ID3:使用信息增益g(D,A)进行特征选择 2. C4.5&…

教你体验目前最火AI - 在craft AI assistant 使用chatGPT

atGPT大火之后,很多人都想体验一把,今天为大家推荐一种免费方式,体验chatGPT同款内核的AI助手。 craft AI assistant Craft 推出的 AI 助手产品 Craft AI Assistant,并且现在就可以使用。根据 Craft 官方介绍,Craft …

【ChatGPT+AI】持续更新

ChatGPT的缘分 ChatGPT的缘分 一、小白必知1.1ChatGPT是什么?1.2ChatGPT怎么用?1.3ChatGPT登录注意事项 二、ChatGPT实战2.1什么Prompt?2.2ChatGPT怎么发图片2.3ChatGPT快速制作PPT 三、其他AI与免费镜像网站四、星球介绍 ChatGPT的缘分 大家…

DetectGPT VS ChatGPT:AI反击战?

1.背景 随着 ChatGPT 的持续火爆,现在无论哪个行业,几乎是人尽皆知。同时,利用 ChatGPT 进行造假作弊的情况也是层出不穷,尤其是在教育和传媒行业。在美国的一项千人调查中,有89%的学生表示在家庭作业中使用了 ChatGP…

多国拟发ChatGPT禁令 关“野兽”的笼子要来了?

“人工智能想越狱“、”AI产生自我意识”、“AI终将杀死人类”、“硅基生命的进化”.......曾经只在在赛博朋克等科技幻想中出现的剧情,在今年走向现实,生成式自然语言模型正在遭受前所未有的质疑。 聚光灯下最瞩目的那个是ChatGPT,3月底到4…

ChatGPT从入门到精通,深入认识Prompt

ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定 让ChatGPT帮你高效实现职场办公!行动起来吧。欢迎关注专栏 。。。。。 还有更多。。。。&…

【Prompting】ChatGPT Prompt Engineering开发指南(1)

ChatGPT Prompt Engineering开发指南1 Prompting指南设置 提示原则策略1:使用分隔符清楚地指示输入的不同部分策略2:要求结构化输出策略3:让模型检查条件是否满足策略4: “Few-shot”提示 原则2:给模型时间“思考”策略1&#xff…

【ChatGPT】Prompt Engineering入门

Prompt Engineering入门 一、什么是 Prompt Engineering?二、我们还需要学习 PE 吗?三、Prompt基础原则 一、什么是 Prompt Engineering? 简单的理解它是给 AI 模型的指令。它可以是一个问题、一段文字描述,甚至可以是带有一堆参数…

大型语言模型LLM的基础应用

ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚…

【ChatGPT】怎样计算文本token数量?

ChatGPT 按 token 计费,当你把一段长文本发送给它时,你如何计算该文本消耗了多少 token? 在非流式访问的情况下,ChatGPT 的回复信息中包含有 token 消耗数量。但是在流式访问的情况下,回复信息里没有 token 数量&…

微软用 ChatGPT 改写 Bing、Edge,市值一夜飙涨 5450 亿元!

整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 已经没有什么能够阻挡科技巨头追逐 ChatGPT 的步伐,前有 Google CEO 桑达尔皮查伊亲自下场官宣 Bard AI 对话式系统的到来,后有微软更快一步地推出了应用 ChatGPT 的 Bing 搜索引…

ChatGPT和DALLE-2级联后,输出效果震撼了…

源|机器之心 文|张倩、袁铭怿 生成式 AI 正在变革内容的生产方式。 在过去的一周,相信大家都被 ChatGPT 刷了屏。这个强大的对话 AI 仅用 5 天时间用户量就突破了 100 万。大家用各种方式测试着它的能力上限,其中一种测试方式就是…

ChatGPT 的能力上限将被突破

最近,一篇名为《Scaling Transformr to 1M tokens and beyond with RMT》的论文在 AI 界引起了广泛热议。 该论文提出一种名为 RMT 的新技术,如果能够成功应用,那将把 Transformer 的 Token 上限扩展至 100 万,甚至更多。 GitHub…

ChatGPT 的 10 种集成模式:从开源 AI 体验平台 ClickPrompt 中受到的启发

和国内外的很多公司一样,在 Open AI 公司开放了 ChatGPT API 接口之后,我们也在探索如何去结合到业务中。而在探索的过程中,我们发现了一个问题,大部分的业务人员并不了解 AI 的能力,所以我们开源构建了 ClickPrompt&a…

聊天新纪元:通过和ChatGPT聊天就能开发自己的Chrome插件

文章目录 1. 前言1.1 ChatGPT是什么1.2 ChatGPT能干什么1.3 我要让ChatGPT干什么 2. 环境准备3. 交互过程3.1 发送需求3.2 询问执行3.3 继续提问3.4 加载代码3.5 执行插件3.6 执行插件 4. 生成的代码4.1 manifest.json4.2 popup.css4.3 popup.js4.4 popup.html 5. 总结 1. 前言…

学术科研专用ChatGPT来了!

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 【导读】最近,一位开发者在GitHub上开源的「科研工作专用ChatGPT」项目大受好评。论文润色、语法检查、中英互译、代码解释等等一键搞定。 自从ChatGPT发布之…

今天,小呆呆第一次尝新ChatGPT,并小火了一把

前言 你盼世界,我盼望你无bug。Hello 大家好!我是霖呆呆。 当我们遇到技术难题或生活困惑时,往往会寻求专业人士的帮助或者在网络上搜索相关问题。但你是否曾想过,如果有一种AI程序能够帮你解决问题,理解人类语言的含义…

ChatGPT真的有那么牛吗?

ChatGPT真的有那么牛吗?ChatGPT真的有那么牛吗? 作为一款大型语言模型,ChatGPT确实具有很高的自然语言处理和生成能力,可以生成流畅、准确和有逻辑性的语言,而且能够理解和回答广泛的问题。 它是目前最先进和最强大的…

大型语言模型用例和应用 Large Language Models Use Cases and Applications

目录 Large Language Models Use Cases and Applications大型语言模型用例和应用 What are large language models and how do they work什么是大型语言模型及其工作原理 Large language model examples 大型语言模型示例 Large language model use cases 大型语言模型用例…

WIKIBON:大模型炒作中,有哪些云与AI的新趋势?

进入2023年以来,以ChatGPT为代表的大模型喧嚣引发了AI的新一轮炒作热潮,堪比当年的加密货币。不同的是,以微软、NVIDIA、AWS、Google等为代表的云与芯片大厂纷纷实质性入局大模型,为大模型AI注入持续的生命力。因此ChatGPT可类比于…