使用两种集合算法(正向激励和随机森林)去预测小黄车的使用次数

python MachinelEarning机器学习笔记day03 day03-交叉验证-混淆矩阵-分类报告-验证曲线-学习曲线 2.朴素贝叶斯定理 模块: import sklearn.naive_bayes as nb model = nb.GaussianNB() 基于高斯分布即正态分布的朴素贝叶斯分类器 ... 阅读详情

集合算法

在开始预测之前先介绍一下集合算法以及相关的
根据多个不同模型给出的预测结果,利用平均(回归)或者投票(分类)的方法,得出最终预测结果。

基于决策树的集合算法,就是按照某种规则,构建多棵彼此不同的决策树模型,分别给出针对未知样本的预测结果,最后通过平均或投票得到相对综合的结论。

正向激励

首先为样本矩阵中的样本随机分配初始权重,由此构建一棵带有权重的决策树,在由该决策树提供预测输出时,通过加权平均或者加权投票的方式产生预测值。将训练样本代入模型,预测其输出,对那些预测值与实际值不同的样本,提高其权重,由此形成第二棵决策树。重复以上过程,构建出不同权重的若干棵决策树。这个过程就好像是你做的越不好就越鼓励你去做,直到你做好为止,和它的名字很配,正向激励

# 创建基于决策树的正向激励回归器模型
model = se.AdaBoostRegressor(
	st.DecisionTreeRegressor(max_depth=4), n_estimators=400, random_state=7)
# 训练模型
model.fit(train_x, train_y)
# 测试模型
pred_test_y = model.predict(test_x)
print(sm.r2_score(test_y, pred_test_y))

特征重要性

作为决策树模型训练过程的副产品,根据每个特征划分子表前后的信息熵减少量就标志了该特征的重要程度,此即为该特征重要性指标。训练得到的模型对象提供了属性:feature_importances_来存储每个特征的重要性。

获取样本矩阵特征重要性属性:

model.fit(train_x, train_y)
fi = model.feature_importances_

自助聚合

每次从总样本矩阵中以有放回抽样的方式随机抽取部分样本构建决策树,这样形成多棵包含不同训练样本的决策树,以削弱某些强势样本对模型预测结果的影响,提高模型的泛化特性

随机森林

在自助聚合的基础上,每次构建决策树模型时,不仅随机选择部分样本,而且还随机选择部分特征,这样的集合算法,不仅规避了强势样本对预测结果的影响,而且也削弱了强势特征的影响,使模型的预测能力更加泛化。

随机森林相关API:

import sklearn.ensemble as se
# 随机森林回归模型	(属于集合算法的一种)
# max_depth:决策树最大深度10
# n_estimators:构建1000棵决策树,训练模型
# min_samples_split: 子表中最小样本数 若小于这个数字,则不再继续向下拆分
model = se.RandomForestRegressor(max_depth=10, n_estimators=1000, min_samples_split=2)

分析小黄车的使用量

小黄车的资料在这里
提取码:9fsv

1. 分析数据

在这里插入图片描述
通过对图表的分析,我们可以发现前两行都是没有用的数据,所以可以在数据处理的时候,不需要将其作为特征点来处理

2.数据处理

在分析完图标之后我们就开始进行数据处理,这也是很重要的一步,在理解算法的本质的情况下调用api 数据处理就是最重要的,我们需要把数据处理成我们需要的样子,详细的说明在代码的注释当中

 导入各种包,在这一步可能不用但是先导着吧,后面要用的
import matplotlib.pyplot as mp
import sklearn.ensemble as se
from sklearn import tree as st # 导入决策树模块
import sklearn.metrics as sm
import pandas as pd
import numpy as np
# 读取csv文件,路径改成自己的文件路径即可
data = pd.read_csv('../ml_data/bike_day.csv',header=None)
# 将数据拆分成需要的格式
feature_names = np.array(data.iloc[0,2:15]) # 拆分特征名
# 选取前499个作为训练集
train_x = data.iloc[1:500,2:15]
train_y = data.iloc[1:500, -1]
# 选取后面作为训练集
test_x = data.iloc[500:,2:15]
test_y = data.iloc[500:, -1]

3.正向激励

调用正向激励的api实现

model = st.DecisionTreeRegressor(max_depth=10)
model_ab = se.AdaBoostRegressor(model,n_estimators=400,random_state=7)
# 训练模型
model_ab.fit(train_x,train_y)
# 预测结果
pred_y_ab = model_ab.predict(test_x)
# 获取特征重要性
fi_ab = model_ab.feature_importances_
# 打印R2得分,(0,1]区间的分值。分数越高,误差越小。
print('ad:',end='')
print(sm.r2_score(pred_y_ab,test_y))

4.随机森林

调用随机森林的api实现

model_rf = se.RandomForestRegressor(max_depth=10,n_estimators=1000,min_samples_split=2)
model_rf.fit(train_x,train_y)
# 预测结果
pred_y_rf = model_rf.predict(test_x)
# 获取特征重要性
fi_rf = model_rf.feature_importances_
# 打印R2得分,(0,1]区间的分值。分数越高,误差越小。
print('rf:',end='')
print(sm.r2_score(pred_y_rf,test_y))

5.降序画出不同特征对小黄车使用量的影响

在画图的过程中需要提前指出的一点是我在画画时对特征重要性的处理,因为特征重要性都是小于1的值,如果直接画出来就容易看不出对比,所以我把他们取 l g ( f i × 1 0 5 ) lg(fi ×10^5) lg(fi×105)这样更方便观察

# 获取排序后的索引,方便来排序不同特征的特征重要性
sorted_indices_ab = fi_ab.argsort()[::-1]
mp.figure('AdaBoost and RandomForest')
mp.title('AdaBoost and RandomForest',fontsize = 18)
mp.subplot(211)
# 设置坐标的点数
pos = np.arange(sorted_indices_ab.size)
# 画柱状图
mp.bar(pos,np.log(fi_ab[sorted_indices_ab]*10**5),facecolor = 'deepskyblue')
mp.xticks(pos, feature_names[sorted_indices_ab], rotation=30)
mp.tight_layout()
# 获取排序后的索引,方便来排序不同特征的特征重要性
sorted_indices_rf = fi_rf.argsort()[::-1]
mp.subplot(212)
mp.bar(pos,np.log(fi_rf[sorted_indices_rf]*10**5),facecolor = 'deepskyblue')
mp.xticks(pos, feature_names[sorted_indices_rf], rotation=30)
mp.show()

在这里插入图片描述

【影像组学】分类器模型设计- 随机森林 + 支持向量机 分类器模型设计- 随机森林 + 支持向量机 阅读详情

相关推荐

【影像组学】从特征筛选到分类建模全流程实践及作图

1. 数据准备 2. 特征权重图 3. 特征相关性热度图 heatmap 4. LASSO 模型中 Lambda 选值图 5. 特征系数随 Lambda 变化曲线 6. 随机森林分类器 7. ROC 曲线 8. 精确度(Precision),敏感度(Sensitivity),特异度(Specificity)等输出......

abdslfwoeugp 1万+

基于机器学习的心脏病预测方法(12)——决策树(Decision Tree)

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。

Wendy的博客 3179

学员成果分享:影像组学中stacking算法做后融合的整体思路(附代码,有平台的赶紧动手)

学员成果分享:影像组学中stacking算法做后融合的整体思路(附代码,有平台的赶紧动手)

weixin_43750722的博客 926

小黄车编程 考试试题

小黄车编程题

林在闪闪发光的博客 1893

RF模型(随机森林模型)详解

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 一、RF简介 RF模型属于集成学习中的bagging流派 1、集成学习简介 集成学习分为2派: (1)boosting:它组合多个弱学习器形成一个强学习器,且各个弱学习器之间有依赖关系。 (2)bagging:同样的,它也是组合多个弱学习器形成一个强学习器,但它各个弱学习器之间没有依赖关系,而且可以并行拟合。 2、bagging流派算法简介 ...

tt丫的博客 2万+

bike_day.csv

分析共享单车的需求,判断如何进行共享单车投放的数据集

python模型训练框架_在Python中使用LIME框架:建立对机器学习模型的信任

价值不在于软件,价值在于数据,这对每一家公司而言都是非常重要的,他们了解他们拥有的数据。约翰·斯特拉介绍现在越来越多的公司意识到数据的强大。机器学习模型越来越受欢迎,现在正在使用数据来解决各种商业问题。话虽如此,模型的准确性和可解释性之间总是存在着取舍。一般来说,如果准确性得到提高,数据科学家必须使用复杂的算法,如Bagging,Boosting,Random Forests等,这些都是“黑盒”的...

weixin_39548606的博客 1011

随机森林的代码实现和相应的数据集 (python代码)

本文件包括随机森林的代码实现和相应的数据集,以及详尽的中文注释,已调试通过。代码有两份,一份是在网上下载的,另一份是自己整理后编写的。编程环境为Python2.7。因为只是用来学习随机森林算法,所以在调参方法没下多少功夫,正确率可能不太高,当然数据集比较小也是一个原因。感兴趣的童鞋可以自己调整参数提高正确率。

机器学习初体验之sklearn聚合类算法整理

初步体验了使用py的sklearn库,实现机器学习的训练和测试过程。 主要有随机深林,自助聚合,正向激励算法等等。 因为这几个方法的训练和测试都机器类似,因此用类的形式将几种算法集中在一起便于理解和翻看。 运行main代码: ''' 试一试不同的方法 ''' from RandomForest import RandomForest from Bagging import Bagging...

legalhighhigh的博客 1403

利用python求解规划问题

利用python中的cvxpy,sympy,scipy这三个库进行规划问题求解,本文中的例题均来自司守奎老师的python数学建模算法与应用

dashbaani的博客 1万+

02-Cesium-实现天地图标记

首先天地图申请token,然后Cesium-实现天地图标记详细说明

m0_62785037的博客 1171

Ensenble集成算法-Bagging,boosting,随机森林

概述 集成学习是指将若干弱分类器组合之后产生一个强分类器。 每个弱分类器的训练样本、特征选择和权重都不一样,最终结果由弱分类器的结果投票产生。 由于各个弱分类器之间具有差异性,因此集成算法可解决过拟合问题。同时还能减少偏差和方差,提高分类结果。 自助聚合算法Bagging 采用有放回的方式随机抽取部分样本训练弱分类器,重复K次。得到K个弱分类器。等权重投票。 随机森林RF 思...

yuanlulu的博客 2992

别再套用星形公式了!三角形接法PMSM的FOC控制,扇区判断与作用时间推导全解析

本文深入解析三角形接法永磁同步电机(PMSM)的FOC控制技术,重点探讨30度相位差对SVPWM扇区判断与电压矢量作用时间的影响。通过数学推导与实验验证,详细讲解修正后的扇区划分规则、作用时间计算公式优化方法,并提供可直接移植到STM32的代码实现,帮助工程师解决三角形接法特有的相电流重构与同步采样难题。

weixin_30689307的博客 470

《scikit-learn机器学习》决策树④ - 集合算法:Bagging自助聚合算法+boosting正向激励算法+随机森林+ExtraTrees

文章目录集合算法1、 自助聚合算法:Bagging2、 正向激励算法:boosting3、随机森林4、ExtraTrees 集合算法 集合算法是一种元算法,它支持少数服从多数的原则,保存在sklearn.ensemble 包中 1、 自助聚合算法:Bagging 自助聚合算法大名叫:Bootstrap Aggregating 它采取有放回方式的取样: 一个拥有m个数据的数据集,随机抽取一个数据放入一个新的数据集k中,然后再将这个抽取的数据放回m数据集中,再随机抽取一个数据再放入k中,就这样依次循环n次,得到

Bessie_Lee 970

汽车电子电气架构诊断功能开发全流程解析

文章作者是一位在魔都工作的汽车电子工程师,坚持长期主义,并分享了一段关于“钝感力”的文字,强调面对困境的韧劲和耐力,以及不被外界噪音干扰的重要性。文章详细介绍了汽车电子电气架构(EEA)的诊断功能开发流程,涵盖设计、实现、生产、运维及售后五大环节。作者从技术实现维度展开,详细描述了诊断系统架构设计、供应商功能实现、产线集成与标定、云端数据交互以及售后诊断应用场景。文章还总结了技术演进趋势,包括AI融合、OTA 2.0和区块链应用等,强调了标准化协议与工具链在全链路诊断能力中的重要性。最后,作者鼓励读者相信时

Soly_kun的博客 1220

C++之2048小游戏 第二期

游戏会有初始化、绘制界面、处理输入、更新游戏状态、判断胜负等部分。所以,可能需要一个二维数组来表示4x4的网格,存储每个格子的数值。然后,需要处理键盘输入,尤其是方向键的控制,这可能需要使用EasyX的键盘事件处理函数。然后,关于图形绘制部分,每个格子的大小、颜色、数字的显示都需要设计。不同的数字对应不同的颜色,比如2是浅色,4稍深,以此类推。可能需要一个函数根据数字的值返回对应的颜色,然后在绘制时调用。接下来,处理数字的移动和合并逻辑。这是比较复杂的部分。

Lucky_Glory的博客 805

机器学习:随机森林模型、正向激励模型应用案例及核心API

正向激励 首先为样本矩阵中的样本随机分配初始权重,由此构建一棵带有权重的决策树,在由该决策树提供预测输出时,通过加权平均或者加权投票的方式产生预测值。将训练样本代入模型,预测其输出,对那些预测值与实际值不同的样本,提高其权重,由此形成第二棵决策树。重复以上过程,构建出不同权重的若干棵决策树。 正向激励相关API: import sklearn.tree as st import sklearn.ensemble as se # model: 决策树模型(一颗) model = st.DecisionTree

大大枫free 964

斑鬣狗优化算法(SHO)详解:从生物原理到代码实战

斑鬣狗优化算法(SHO)是一种新型元启发式优化算法,灵感来源于斑鬣狗的群体狩猎行为。该算法通过模拟斑鬣狗的包围猎物、协同狩猎和攻击猎物等生物行为,将优化问题转化为智能搜索过程。SHO算法包含探索与开发两个阶段,通过数学模型实现群体协作和自适应平衡,具有参数简单、收敛快等优势。文章系统介绍了SHO的生物基础、数学模型、实现方法(包括MATLAB和Python代码)、改进策略以及在函数优化、路径规划等领域的应用案例,最后讨论了算法的优势、局限性和未来研究方向。

qq_42212808的博客 237

[算法机试模拟题]1007.小黄车

【问题描述】 随着共享经济的兴起,大学城如今到处可见ofo小黄车. 小左现在打算每天都骑小黄车从宿舍去实验室. 假设大学城的地图可以简化为一个有向图,图中有N个地点(节点),用0到N-1进行编号,有些地点之间存在有向的道路(有向边). 小左的宿舍所在地点编号为0,实验室所在地点编号为N-1. 小左希望为连续的M天规划线路,使得每天从宿舍到实验室,都至少会经过一条之前没有走过的道路(有向边).

一只不会写程序的程序猿 3399

SAP-ABAP:SAP采购业务核心表关联关系详解

MM(核心)、FI(财务)、SD(计划协议):PR → PO → GR → MIRO → FI过账。

baidu_35680696的博客 930

OpenHarmony电源管理驱动架构剖析:HDI框架下的低功耗实现

鸿蒙电源管理驱动模块是OpenHarmony操作系统中负责设备电源状态管理的核心组件。该模块基于HDI(Hardware Device Interface)框架实现,提供了完整的电源管理功能,包括系统休眠/唤醒、运行锁管理、休眠模式控制等核心功能。public:// 主要接口函数// 运行锁管理private:// 内部辅助函数// 成员变量public:// 运行锁控制接口// 回调管理private:// 内部辅助函数。

m0_67505153的博客 209

Task05 模型的建立与评估

经过前面的两章的知识点的学习,我们可以对数据的本身进行处理,比如数据本身的增删查补,还可以做必要的清洗工作。那么下面我们就要开始使用我们前面处理好的数据了。这一章我们要做的就是使用数据,我们做数据分析的目的也就是,运用我们的数据以及结合我的业务来得到某些我们需要知道的结果。那么分析的第一步就是建模,搭建一个预测模型或者其他模型;我们从这个模型的到结果之后,我们要分析我的模型是不是足够的可靠,那我们就需要评估这个模型。这一节我们就学习模型建立和评估,利用泰坦尼克号的数据,预测存活的任务。 1模型的建立 1.1

weixin_43560929的博客 248

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

由小黄车的七夕集卡来谈随机算法及相关实现

这篇文章讲了什么讲了我对小黄车公司的七夕集卡活动的不满意,因为我集了那么久都没有集到那个二八车卡,之后我就自己在分析关于这个的一些事情,后来自己实现了一个类似的坑爹的随机模型。代码1先来看小黄车的集卡活动,小黄车集卡活动其他的四张卡都是非常好集的,简直不要太简单了。。。然后就是那个二八车非常难以集到,估计小黄车的数量要上千万辆吧,但是集齐的只有不到30万人,这个比例大概是几十比一的比例。于是我就自己

阳光心态,健康人生的博客 1042

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python sklearn 正向激励决策树 特征重要性

python sklearn 正向激励决策树 特征重要性 """ 决策树模型 正向激励 特征重要性 特征对结果的影响力 """ import sklearn.datasets as sd import sklearn.utils as su import sklearn.tree as st import sklearn.metrics as sm import sklearn.ensemble as se import matplotlib.pyplot as mp import nu

廷益_飞鸟的博客 2101

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

sklearn中调用集成学习算法

1、集成学习是指对于同一个基础数据集使用不同的机器学习算法进行训练,最后结合不同的算法给出的意见进行决策,这个方法兼顾了许多算法的"意见",比较全面,因此在机器学习领域也使用地非常广泛。生活中其实也普遍存在集成学习的方法,比如买东西找不同的人进行推荐,病情诊断进行多专家会诊等,考虑各方面的意见进行最终的综合的决策,这样得到的结果可能会更加的全面和准确。另外,sklearn中也提供了集成学...

weixin_30646315的博客 432
上一篇: 决策树 -- 再不懂我就哭了
下一篇: 人工分类和逻辑分类
AndSonder
博客等级 码龄7年 364粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值