随机森林的简单学习记录
随机森林小记
这里采用的随机森林的库选择sklearn库
1.首先是导入数据:
path = "D:/Epileptic Seizure Classification.csv"
# 针对csv文件
rawdata = pd.read_csv(path)
# 针对xlsx文件
rawdata = pd.read_excel(path)
2.根据数据分布,选出样本的标签和数据,使用函数将他们分开:
使用iloc函数,提出相应的数据
iloc[]函数,属于pandas库,全称为index location,即对数据进行位置索引,从而在数据表中提取出相应的数据。
了解了相关函数的用法,就可以将数据进行分开。这里用到的数据为,第一列是对应天数,后面的所有数据时高光谱的数据,所以x为数据,y是对应的天数。
# 得到分类后的数据和标签
X = rawdata.iloc[:,1:]
Y = rawdata.iloc[:,0]
3.得到数据和标签后,就可以将其分为训练集和验证集,套用train_test_split函数
将训练集和验证集按9:1的比例分开:
x_train, x_test, y_train, y_test = train_test_split(X, Y, random_state=1, train_size=0.9,stratify=Y)
4.随机森林主体部分
整个流程是,将分类好的训练集和验证集进行随机森林训练,选择不同的树的个数,输出最后的结果。
def rf_model(k):return RandomForestClassifier(n_estimators=k*10, criterion="gini",max_features='sqrt')def svc_model(model):model.fit(x_train, y_train)acu_train = model.score(x_train, y_train)acu_test = model.score(x_test, y_test)y_pred = model.predict(x_test)recall = recall_score(y_test, y_pred, average="macro")return acu_train, acu_test, recalldef run_rf(kmax):result = {"k": [],"acu_train": [],"acu_test": [],"recall": [],"time":[]}for i in range(1, kmax + 1):start_time = time.time()acu_train, acu_test, recall = svc_model(rf_model(i))end_time = time.time()result["k"].append(i)result["acu_train"].append(acu_train)result["acu_test"].append(acu_test)result["recall"].append(recall)result["time"].append(end_time-start_time)print(i,result["acu_test"][-1])return pd.DataFrame(result)
其中RandomForestClassifier函数为随机森林函数主体:
随机森林的简单学习记录相关推荐
- 《scikit-learn》随机森林之深入学习
本文探究一些关于随机森林细节的东西 一:随机森林效果比单个决策树要好的原因是? 百家言胜过一言堂 在bagging中,多个分类器的随机森林为什么要比单个基本分类器要好呢? 我们从数学的角度来简单分析下 ...
- HTML简单学习记录
文章目录 HTML简单学习记录 简介 HTML基本结构 网页基本标签 图像标签 链接标签 超链接 锚链接 功能性链接 行内元素和块元素 列表 表格 视频和音频 视频 音频 页面的简单布局 iframe ...
- 脑电信号(EEG)处理中的机器学习方法总结——回归模型,SVM、K近邻、人工神经网络、朴素贝叶斯、决策树和随机森林、集成学习、模糊逻辑、LDA线性判别分析、K-means聚类、强化学习、迁移学习
本文归纳总结了机器学习在脑电分析中的应用,并详细介绍回归模型,SVM.K近邻.人工神经网络.朴素贝叶斯.决策树和随机森林.集成学习.模糊逻辑.LDA线性判别分析.K-means聚类.强化学习.迁移学习 ...
- 机器学习分类算法之随机森林(集成学习算法)
目录 什么是集成学习? 随机森林 随机森林的生成算法 随机森林的随机性
- 在envi做随机森林_简单粗暴 |土地利用遥感影像处理(从数据下载到ENVI与ArcGIS结合)...
1数据获取 打开任何一个浏览器搜"地理空间数据云"或者在网页地址处输入网址: http://www.gscloud.cn ,注册账号登录进去,点击高级搜索,设定下载区域范围以及传感 ...
- python在范围内随机偏移_偏移随机森林分类器scikit学习
我用python编写了一个程序,使用机器学习算法对数据进行预测.我使用Scikit Learn的函数RandomForestClassifier创建一个随机林来进行预测.在 这个程序的目的是预测未知的 ...
- java rgb yuv_RGB和YUV简单学习记录
RGB和YUV是一种颜色编码格式. 这里简单介绍一下RGB.YUV和HSV. 出处:一文读懂 YUV 的采样与格式 https://glumes.com/post/ffmpeg/understand- ...
- python gmpy2模块、yafu的简单学习记录(RSA向)
最近刷reverse经常碰到偏密码学的题,其中最典型的就是RSA,简单科普一下RSA. RSA属于非对称密钥的一种,由公钥和私钥这一对密钥组成.假设小红想传输一段信息给小白,她只需要用公钥对信息进行加 ...
- python随机森林模型简单股票涨跌预测
前言: 学了差不多10多天的入门机器学习,突然发现学好数学是多么的重要,以前上学时还觉得数学只要学会加减乘除就可以了,什么导数,回归方程都没什么用,这段时间真后悔死,看了好多模型原理推导,有好多的数学 ...
最新文章
- 通过打印学习Linux内核之sysfs(0)
- Windows xp/2003 中安装虚拟网卡 Microsoft Loopback Adapter
- sd卡 写卡阻塞_Sony a7r4写卡速度测试
- docker 二进制安装
- Ability的基本概念(1)
- mysql索引背后的数据结构及算法
- 这篇Redis文章,图灵看了都说好
- 1095. 山脉数组中查找目标值
- Java学习笔记_身份验证机制
- threejs 用 ExtrudeGeometry 画管线
- rust全息要啥才能做_在 Rust 中不能做什么
- VSTO项目的MSB3482错误
- 1008 数组元素循环右移问题(C语言)
- win10切换桌面_学废了Win10的这些骚操作,我不信你拽不起来
- jquery中的尺寸函数width(),height(),innerWidth(),outerWidth()等的用法
- 一起谈.NET技术,ASP.NET的状态管理
- Axure RP 8.0 Mac中文破解版链接
- 如何在Chrome39添加360抢票王插件
- js重点基础学习笔记
- android恢复出厂设置