预测模型

13集成算法与随机森林

这一生的挚爱 提交于 2020-03-10 05:18:57
唐宇迪《python数据分析与机器学习实战》学习笔记 13集成算法与随机森林 竞赛题使用较多中准确率较高,三种集成算法 1.Bagging模型 (并形算法) 并行训练多棵树,结果累加取平均。随机森林构造了N棵树,最终结果把树进行分类取众数。 二重随机性:数据采样随机性(例如100个有放回选60-80个),特征随机性(寻则部分特征) feature比较原理,举例:比如ABCD四个特征,B为年龄(36、27、65…),用着四个特征建模错误率为err1;后面对B特征进行破坏加上噪音,替换为垃圾值(0.1、68…),然后继续用这四个特征建模,错误率为err2; 如果err1=err2,则B特征没啥用。如果err2>>err1,则B重要。最后特征的重要性排序如上图右下角。 其他算法的Bagging模型,例如KNN模型缺点比较明显。公认的集成算法还是是上面的树模型。 树模型的树数量对效果的影响,数量增加效果浮动。(虽然理论上数量越多泛化能力越强) 2. Boosting模型 (串形算法) 从弱学习器开始,例如实际1000,第一棵A树预测950,差异50,让这个50值越小越好;第二棵B树,为了弥补50误差,就预测残差50,可能预测为30;第三棵C树,1000-950-30=20,就预测残差20,可能预测为18.最终预测值为998,实际为1000. 典型代表:AdaBoost,Xgboost

机器学习篇——单变量线性回归问题(Tensorflow求解)

走远了吗. 提交于 2020-03-10 03:29:26
机器学习中的单变量线性回归问题其实就是用一个神经元解决的方法。 文章目录 线性回归中的一些术语 模型训练的迭代方法 单变量线性回归机器学习求解 下面是一个简单的线性回归案例 线性回归中的一些术语 标签: 是我们要预测的真实事物,在上面例子线性回归中就是应变量y 特征: 是用于描述数据的输入变量,在上面例子线性回归中就是自变量x的取值集合{x1、x2、x3、…xn} 样本: 是数据的特定实例:x的一个取值 有标签样本就是{特征,标签}:{x,y},用来训练模型 无………………{特征,?}:{x,?},用来对新数据进行预测 模型: 可以将样本映射到预测标签:y’是由模型的内部参数定义,内部参数则是通过不断地学习而得到。 训练: 训练模型是指通过有标签的样本来学习所有的权重(x的系数)和偏差(截距)的理想值 在监督式学习中,机器学习算法可以通过检查多个样本并尝试找出可最大限度地减少损失的模型。(也被称之为经验风险最小化) 损失: 是对糟糕预测的惩罚,是一个对于单个样本而言模型预测的准确程度的数值指标。 训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。 损失函数: L1损失:基于模型预测值与标签的实际值之差的绝对值为指标 L2损失:基于模型预测值与标签的实际值之差的平均平方损失为指标(均方误差MSE) 模型训练的迭代方法 由上图可知,模型训练的要点:

预测海藻的数量

老子叫甜甜 提交于 2020-03-09 10:51:44
问题描述与目标 希望通过建立预测模型预测河流中有害海藻的数量。同时了解藻类的频率和水样的某些化学性质以及其他特征。 数据说明 本文采用R语言里面自带的海藻数据样本共200个,有以下几种因素影响海藻的生长,用summary对数据进行整合,如图所示。 图 每个记录有11个变量,其中3个变量是名义变量,它们分别描述水样收集的季节、收集河流的大小和河水速度。余下的8个变量是所观察水样的不同化学参数,即最大pH值、最小含氧量(O2)、平均氯化物含量(cl)、平均硝酸盐含量(NO3)、平均氨含量(NH4)、平均正磷酸含量(PO4)、平均磷酸盐含量(PO4)、平均叶绿素含量。与这些参数相关的是7种不同有害藻类在相应水样中的频率数目。并未提供所观察藻类的名称的有关信息。 数据处理 画出海藻mxPH的频数直方图、密度图。 图 我们可以从图中得到一些信息。左边的MxPH的直方图,同时显示了变量分布的核密度。右边是QQ图,绘制正态分布的散点图,虚线显示95%置信区间,可以看出上图符合正态分布。 为了了解不同河流区域PH值在不同水体中分布情况 图 但是我们从图一可以看出有许多没有用的数据,因此我们必须对数据进行清洗。剔除掉无效数据184组数据。因所以需要对数据进行填补。 填补缺失数据最简便和便捷的方法是使用一些代表中心趋势的值。代表中心趋势的值反映了变量分布的最常见值。有多个代表数据中心趋势的指标

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

核能气质少年 提交于 2020-03-08 17:54:07
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 摘要 我们引入了一个新的叫做bert的语言表示模型,它用transformer的双向编码器表示。与最近的语言表示模型不同,BERT通过在所有层的上下文联合调节来预训练深层双向表示。因此,预训练的bert可以添加一个额外的输出层进行微调,可以在广泛的任务上产生目前最好的效果。例如问答和语言推理,不需要大量特定任务的结构的修改。 BERT在概念上简单且经验丰富。它在11项自然语言处理任务中获得了最新的最新成果,包括GLUE分数,MultiNLI精度,问答。 1 简介 语言模型预训练已被证明对改进许多自然语言处理任务是有效的。包括句子级任务,如自然语言推理和释义,旨在通过对整体的分析预测句子之间的关系。令牌级别任务,例如命名实体识别和问答,模型需要在令牌级别上产生细粒度的输出。 在预训练的语言表示应用到下游任务上有两种策略:基于特征和微调。基于特征的方式,例如ELMO包括特定于任务的体系结构,包括预训练的表示作为一个附加特征。微调的方法,例如Generative Pre-trained Transformer (OpenAI GPT),引入了最小的特定任务参数,并通过简单地微调所有预训练参数来训练下游任务

文献阅读课14-DIAG-NRE: A Neural Pattern Diagnosis Framework for远程监督关系抽取,模式标注去噪自动化,FN,FP,RL

跟風遠走 提交于 2020-03-08 01:09:26
文章目录 abstract 1. Introduction 2.相关工作 3.方法 3.1 NRE Models 3.2 Pattern Extraction 3.3 Pattern Refinement 3.4 Weak Label Fusion(WLF) 4 Experiments 4.1 Experimental Setup 4.2 Performance Comparisons 4.3 Pattern-based Diagnostic Results 4.4 Incremental Diagnosis 4.5案例研究 参考文献 Zheng, S., et al. (2019). DIAG-NRE A Neural Pattern Diagnosis Framework for Distantly Supervised Neural Relation Extraction. Proceedings ofthe 57th Annual Meeting ofthe Association for Computational Linguistics. code+data abstract 基于模式的标记方法在减轻远距离监督神经关系提取中不可避免的标记噪声方面取得了可喜的成果。但是,这些方法需要大量的专家工作来编写关系特定的模式,这使得它们过于复杂而无法快速推广

nlp-tutorial代码注释1-1,语言模型、n-gram简介

浪子不回头ぞ 提交于 2020-03-07 10:23:52
本文知识点介绍来自斯坦福大学CS224N课程lecture6语言模型部分 语言模型 语言模型可以预测一个序列接下来会出现什么词。即给定一个单词序列,语言模型计算出下一个单词是词汇表中各个词的概率分布。 还有一种理解是语言模型可以计算一个句子出现的概率,计算公式如下(条件概率): n-gram语言模型: 含义:通过前(n-1)个词去预测某个单词。 n-gram有一个基本的假设:假设某个词的出现仅取决于它前面的n-1个单词。根据条件概率公式,某个词的出现概率计算公式为: 计算上图n-gram和(n-1)-gram的比例是通过计算他们在大型语料库中出现的次数的比例: 举个例子:As the proctor started the clock, the students open their ___. 预测这句话空格处的词,假设这里是一个4-gram的语言模型。那么就是通过前三个词:students open their去预测下一个词,语料库中students open their books出现的次数最多,故4-gram模型预测的空格处的词就应该是books。 然而回顾整个句子,前文出现了proctor,所以这个空是exams的概率应该最大,而4-gram模型只考虑前三个词,忽略了前面的词proctor,故导致预测错误。 n-gram语言模型的一个缺点:每次预测时只考虑前n-1个词

【Python】学习笔记(三):机器学习基础入门

冷暖自知 提交于 2020-03-07 04:04:06
机器学习简介 1 机器学习 1.1 数据集 数据集 = 特征值 + 目标值 1.2 算法分类 监督学习 目标值:类别 - 分类问题 目标值:连续数据 - 回归问题 无监督学习 :无目标值 1.3 机器学习流程 1.4 Scikit-learn pip3 install Scikit-learn == 0.19.1 2 sklearn 特征工程 2.1 scikit-learn数据集API 2.2 数据集 2.2.1 小数据集 2.2.2 大数据集 2.2.3 返回值 # 导入鸢尾花 from sklearn . datasets import load_iris 2.2.4 数据集的划分 from sklearn . model_selection import train_test_split x_train , x_test , y_train , y_test = train_test_split ( iris . data , iris . target , test_size = 0.2 , random_state = 22 ) print ( f "测试集:{x_train}, 大小:{x_train.shape}" ) 2.3 特征工程 Feature Engineering sklearn 特征工程 pandas 数据清洗,数据处理 2.3.1 特征抽取API

他用飞桨,“画”出了一座智慧城市应有的模样

纵饮孤独 提交于 2020-03-06 18:04:37
随着近年来互联网技术的不断成熟,城市产业转型和升级不断加速,一场智慧化变革正悄然发生。 那么,未来城市会以怎样的方式进行划分呢? 不同的城市区域又将承担怎样的角色? 城市精细化治理不仅关乎城市的发展速度,也关乎每个城市居民的生活品质。 好在AI技术的不断成熟,想要构筑一个城市的功能分类模型已非天方夜谭。 尤其是飞桨开源深度学习平台的逐步成长,也让开发者有了更多的选择。 针对上述问题,2019年9月至12月,飞桨举办了首期基线挑战赛,参赛选手使用飞桨构建一个城市区域功能分类模型: 对给定的地理区域,输入该区域的遥感影像和用户到访数据,最终预测10万个测试集样本的区域功能类别。 经过3月的激烈竞争,最终Expelliarmus以0.88767的成绩获得冠军,也就是说该团队训练的飞桨模型成功预测了近8.9万个城市区域功能 的类别,哪里是学校、居民区、飞机场,只需要一个模型便可准确分类。 该成绩也逼近了2019国际大数据竞赛复赛第一名成绩0.90468。 赛题分析:基于遥感影像和用户行为的城市区域功能分类 此前,2019百度&西交大大数据竞赛已举办过Urban Region Function Classification 比赛,要求选手构建一个城市区域功能分类模型(居住区、学校 、工业园区 、火车站 、飞机场 、公园 、商业区 、政务区、医院等),对给定的地理区域

我用飞桨做了一个菜品图像识别系统

China☆狼群 提交于 2020-03-05 23:04:04
【飞桨开发者说】:贝史涛,浙江理工大学本科生,2019中国高校计算机大赛-人工智能创意赛二等奖获得者 随着信息技术的发展,我国餐饮建设也发生了很大变化。目前食堂大多以人工为主,推行一卡通消费,即自助选菜然后人工结算,这与以往使用饭票或现金结算相比,省去了找零的麻烦,在效率上有一定的提升。人工结算之所以效率低下,是因为食堂工作人员需要首先识别菜品种类,然后对应每种菜品价格,最后口头累计消费数额并打卡,同时在计算金额的过程中也可能会出错。 这整一过程不仅需要较长时间,而且准确率也难以保证 。 近年来,在快餐式食堂领域也出现了通过RFID芯片、碗盘颜色识别等技术实现的机器结算。但是,随着顾客数量的日益增长,这已不能满足他们在就餐高峰期对结算速度的需求。通过调研分析,我们发现尽管目前市场上已出现RFID芯片、碗盘颜色的智能识别方式,但仍存在成本高、灵活度低等问题,菜品图像识别相较于它们有着巨大优势。 与此同时,以深度学习为代表的人工智能技术飞速发展。与以往不同的是,这次人工智能不仅在学术界备受关注,在工业界也备受推崇。以“深度学习”为关键词搜索国家自然科学金委近年资助项目,发现基金委资助和立项的“深度学习”相关的课题数量呈逐年快速上升趋势,如下图所示。由于本轮人工智能可落地性非常强,可快速为行业应用赋能,所以在工业、商业、金融等各领域亦备受追捧,目前正快速应被推广应用到各个领域。 ​

第二周:如何评价模型好坏

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-05 15:58:26
1. 数据拆分 数据拆分,即划分训练数据集&测试数据集 现在也多直接调用sklearn中的库 from sklearn . model_selection import train_test_split X_train , X_test , y_train , y_test = train_test_split ( X , y , test_size = 0.3 , random_state = 10 ) "注意X_train, X_test, y_train, y_test顺序" 2. 评价分类结果 2.1 准确度(accuracy) accuracy_score :函数计算分类准确率,返回被正确分类的样本比例(default)或者是数量(normalize=False) from sklearn . metrics import accuracy_score 但是它在某些情况下并不一定是评估模型的最佳工具。比如一个经典例子—癌症预测系统,如果癌症的发病率只有百分之0.1,那么只要系统都预测成健康,那么准确就达到了99.9%,但是这样的系统基本上没有什么价值,因为我们关注的是比较少的那一部分样本,但是这一部分样本,并没有预测出来。 这是就需要使用混淆矩阵(Confusion Matrix)做进一步分析。 2.2 混淆矩阵(Confusion Matrix) from