分类数据

TensorFlow从1到2(六)结构化数据预处理和心脏病预测

▼魔方 西西 提交于 2020-04-06 06:07:47
结构化数据的预处理 前面所展示的一些示例已经很让人兴奋。但从总体看,数据类型还是比较单一的,比如图片,比如文本。 这个单一并非指数据的类型单一,而是指数据组成的每一部分,在模型中对于结果预测的影响基本是一致的。 更通俗一点说,比如在手写数字识别的案例中,图片坐标(10,10)的点、(14,14)的点、(20,20)的点,对于最终的识别结果的影响,基本是同一个维度。 再比如在影评中,第10个单词、第20个单词、第30个单词,对于最终结果的影响,也在同一个维度。 是的,这里指的是数据在维度上的不同。在某些问题中,数据集中的不同数据,对于结果的影响维度完全不同。这是数据所代表的属性意义不同所决定的。这种情况在 《从锅炉工到AI专家(2)》 一文中我们做了简单描述,并讲述了使用规范化数据的方式在保持数据内涵的同时降低数据取值范围差异对于最终结果的负面影响。 随着机器学习应用范围的拓展,不同行业的不同问题,让此类情况出现的越加频繁。特别是在与大数据相连接的商业智能范畴,数据的来源、类型、维度,区别都很大。 在此我们使用心脏病预测的案例,对结构化数据的预处理做一个分享。 心脏病预测 我们能从TensorFlow 2.0的变化中看出来,TensorFlow越来越集注,只做好自己擅长的事情。很多必要的工作,TensorFlow会借助第三方的工具来完成。本例中的数据处理

1. 机器学习概述

馋奶兔 提交于 2020-04-05 20:15:01
1.Python环境及pip list (1)Python环境 (2)pip list 2.视频学习笔记 (1) 机器学习可以解决什么?   给定数据的预测问题:a.数据清洗/特征选择             b.确定算法模型/参数优化             c.结果预测 (2)机器学习不能解决什么?   大数据存储/并行计算   做一个机器人 (3)损失函数 (4)机器学习的一般流程   数据收集 → 数据清洗 → 特征工程 → 数据建模 → 模型使用 3.什么是机器学习,有哪些分类?   例如视频中所举例子,机器学习:“盯住2号位,她很容易起快球”。传统算法 :排球规则   再比如,文本分类作为一种有监督学习的任务,毫无疑问的需要一个可用于有监督学习的语料集(X,Y)。本文中使用以下标记,X为特征,文本分类中即为文本序列,Y是标签,即文本的分类名称。 机器学习与传统编程技术的明显区别就是 机器学习是以数据为驱动的 ,传统的编程中,我们核心任务是人工设计分类规则(指令代码),然后实现输入特征X获得分类标签Y。而在机器学习的方式中,我们首要的是获得一个高质量的、大数据量的有监督语料集(X,Y),然后机器学习的方式会自动的从已构建的数据集上归纳出(训练出)一套分类规则(分类模型),最后我们利用获得的分类规则来实现对未标记文本的分类。 传统的编程方式输入的是指令代码

task5 模型融合 打卡

不想你离开。 提交于 2020-04-05 17:13:25
5.1 模型融合目标 对于多种调参完成的模型进行模型融合。 完成对于多种模型的融合,提交融合结果并打卡。 5.2 内容介绍 模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式。 简单加权融合: 回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean); 分类:投票(Voting) 综合:排序融合(Rank averaging),log融合 stacking/blending: 构建多层模型,并利用预测结果再拟合预测。 boosting/bagging(在xgboost,Adaboost,GBDT中已经用到): 多树的提升方法 5.3 Stacking相关理论介绍 什么是 stacking 简单来说 stacking 就是当用初始训练数据学习出若干个基学习器后,将这几个学习器的预测结果作为新的训练集,来学习一个新的学习器。 将个体学习器结合在一起的时候使用的方法叫做结合策略。对于分类问题,我们可以使用投票法来选择输出最多的类。对于回归问题,我们可以将分类器输出的结果求平均值。 上面说的投票法和平均法都是很有效的结合策略,还有一种结合策略是使用另外一个机器学习算法来将个体机器学习器的结果结合在一起,这个方法就是Stacking。 在stacking方法中,我们把个体学习器叫做初级学习器

数据挖掘-决策树 Decision tree

≯℡__Kan透↙ 提交于 2020-04-04 11:31:30
数据挖掘-决策树 Decision tree 目录 数据挖掘-决策树 Decision tree 1. 决策树概述 1.1 决策树介绍 1.1.1 决策树定义 1.1.2 本质 1.1.3 决策树的组成 1.1.4 决策树的分类 1.1.5 决策过程 1.2 决策树的优化 1.2.1 过拟合 1.3.1 剪枝 2. 理论基础 2.1 香农理论 2.1.1 信息量 2.1.2 平均信息量/信息熵 2.1.3 条件熵 2.1.4 信息增益(Information gain) 2.1.5 信息增益率 (Information Gain Ratio) 2.1.6 基尼系数 3. 决策树算法 3.1 ID3算法 3.1.1 ID3算法简述 3.1.2 熵值对决策的影响 3.1.3 算法思想 3.1.4 递归返回条件 3.1.5 算法步骤 3.1.6 ID3算法缺点 3.2 C 4.5 算法 3.2.1 为什么采用C 4.5 算法? 3.2.2 C4.5对以上缺点的改进 3.2.3 算法思想 3.2.4 算法步骤 3.2.6 决策树C4.5算法的不足与改进 3.3 CART分类/回归树 3.3.1 为什么引入CART分类/回归树 3.3.2 结点选择标准 3.3.3 CART分类树算法对连续特征和离散特征的处理 3.3.4 CART分类树算法思想 3.3.6 CART剪枝 4. 总结 4.1

数据缺失值处理办法

梦想与她 提交于 2020-04-01 09:59:45
1.随机森林模型怎么处理异常值? 隨机森:林是已故统计学家Leo Breiman提出的,和gradient boosted tree—样,它的基模型是决策树。在介绍RF时,Breiman就提出两种解决缺失值的方去 (Random forests - classification description): 方法1(快速简草但效果差): 把数值型变畺(numerical variables)中的缺失值用其所对应的类别中 (class)的中位数(median)替换。描述型变畺(categorical variables)缺失的部分用所对应类别中出现最多的数值替代(most frequent non-missing value)。以数值型变悬为例: 方法2(耗时费力但效果好):虽然依然是便用中位数出现次敎最多的数来进行替换,方法2引入 了权重。即对需要替换的数据先和其他数据做相似度测量(proximity measurement)也就是下面 公式中的Weight,在补全缺失点是相似的点的数据会有更高的权重W。以数值型变畺为例: Breiman说明了第二种方法的效果更好,但雲要的时间更长,这也是为什么工具包中不提供数据补全的功能,因为会影响到工具包的效率。 在训练、验证、测试含有缺失值时怎么办? 在选择分裂属性的时候,训练样本存在缺失值,如何处理?(计算分裂损失减少值时,忽略特征缺失的样本

PU Learning简介:对无标签数据进行半监督分类

做~自己de王妃 提交于 2020-03-28 19:42:59
当只有几个正样本,你如何分类无标签数据 假设您有一个交易业务数据集。有些交易被标记为欺诈,其余交易被标记为真实交易,因此您需要设计一个模型来区分欺诈交易和真实交易。 假设您有足够的数据和良好的特征,这似乎是一项简单的分类任务。 但是,假设数据集中只有15%的数据被标记,并且标记的样本仅属于一类,即训练集15%的样本标记为真实交易,而其余样本未标记,可能是真实交易样本,也可能是欺诈样本。您将如何对其进行分类? 样本不均衡问题是否使这项任务变成了无监督学习问题? 好吧,不一定。 此问题通常被称为PU(正样本和未标记)分类问题,首先要将该问题与两个相似且常见的“标签问题”相区别,这两个问题使许多分类任务复杂化。第一个也是最常见的标签问题是小训练集问题。当您有大量数据但实际上只有一小部分被标记时,就会出现这种情况。这个问题有很多种类和许多特定的训练方法。另一个常见的标签问题(通常与PU问题混为一谈)是,训练的数据集是被完全标记的但只有一个类别。例如,假设我们拥有的只是一个非欺诈性交易的数据集,并且我们需要使用该数据集来训练一个模型,以区分非欺诈性交易和欺诈性交易。这也是一个常见问题,通常被视为无监督的离群点检测问题,在机器学习领域中也有很多工具专门用于处理这些情况(OneClassSVM可能是最著名的)。 相比之下,PU分类问题涉及的训练集,其中仅部分数据被标记为正,而其余数据未标记

Python爬虫获取斗鱼主播信息

廉价感情. 提交于 2020-03-27 19:01:27
3 月,跳不动了?>>> 感谢参考原文- http://bjbsair.com/2020-03-27/tech-info/7150/ 下面我们进入正题 首先 我们进入斗鱼的官网 我发现首页是一些推荐的主播,并不全面,不能全部爬取,所以我这里选择了分类页 分类页地址: https://www.douyu.com/directory 这里是斗鱼所以的直播分类,我们可以看到所有的分类全部都在这一页,所以我们只需要把每个分类的地址拿到。 在浏览器中按F12,我们看到 每个分类都是由 标签写的标签的class为unit,并且含有链接和文本 所有我们只需要 def main_wj(): r = requests.get(" https://www.douyu.com/directory ") #从分类目录读取所有分类的名字和链接地址 r.encoding = 'utf-8' soup = BeautifulSoup(r.text, 'html.parser') #美丽汤,用于html更加简便 urls = [] names = [] for link in soup.select('.unit '): #分类链接和名字的 class 是unit urls.append(link.select('a')[0]['href']) #添加链接到urls列表 names.append(link

OpenCV-Python 理解SVM | 五十五

可紊 提交于 2020-03-27 18:26:57
3 月,跳不动了?>>> 目标 在这一章中 我们将对SVM有一个直观的了解 理论 线性可分数据 考虑下面的图像,它具有两种数据类型,红色和蓝色。在kNN中,对于测试数据,我们用来测量其与所有训练样本的距离,并以最小的距离作为样本。测量所有距离都需要花费大量时间,并且需要大量内存来存储所有训练样本。但是考虑到图像中给出的数据,我们是否需要那么多? 考虑另一个想法。我们找到一条线$f(x)=ax_1 + bx_2+c$,它将两条数据都分为两个区域。当我们得到一个新的test_data $X$时,只需将其替换为$f(x)$即可。如果$f(X)> 0$,则属于蓝色组,否则属于红色组。我们可以将此行称为“ 决策边界 ”。它非常简单且内存高效。可以将这些数据用直线(或高维超平面)一分为二的数据称为 线性可分离 数据。 因此,在上图中,你可以看到很多这样的行都是可能的。我们会选哪一个?非常直观地,我们可以说直线应该从所有点尽可能远地经过。为什么?因为传入的数据中可能会有噪音。此数据不应影响分类准确性。因此,走最远的分离线将提供更大的抗干扰能力。因此,SVM要做的是找到到训练样本的最小距离最大的直线(或超平面)。请参阅下面图像中穿过中心的粗线。 因此,要找到此决策边界,你需要训练数据。那么需要全部吗?并不用。仅接近相反组的那些就足够了。在我们的图像中,它们是一个蓝色填充的圆圈和两个红色填充的正方形

使用scikit-learn进行文本分类

拈花ヽ惹草 提交于 2020-03-23 18:45:59
3 月,跳不动了?>>> scikit-learn简介 scikit-learn 是Python最为流行的一个机器学习库。它具有如下吸引人的特点: 简单、高效且异常丰富的数据挖掘/数据分析算法实现; 基于NumPy,SciPy,以及matplotlib,从数据探索性分析,数据可视化到算法实现,整个过程一体化实现; 开源,有非常丰富的学习文档。 尤其是当我们要进行多种算法的效果对比评价,这种一体化实现的优势就更加能够凸显出来了。 既然 scikit-learn 模块如此重要,废话不多说,下面马上开搞! 项目组织及文件加载 项目组织 工作路径:`D:\my_python_workfile\Thesis\sklearn_exercise` |--data:用于存放数据 |--20news-bydate:练习用数据集 |--20news-bydate-train:训练集 |--20news-bydate-test:测试集 文件加载 假设我们需要加载的数据,组织结构如下: container_folder/ category_1_folder/ file_1.txt file_2.txt ... file_42.txt category_2_folder/ file_43.txt file_44.txt ... 可以使用以下函数进行数据的加载: sklearn.datasets.load

元数据 概念及分类

家住魔仙堡 提交于 2020-03-23 17:32:59
转自 https://mp.weixin.qq.com/s/efh5JRmPfYmBTG5x8b30lA 1.物理元数据 描述物理资源的元数据,包括但不限于服务器、操作系统、机房位置等信息。 2.数据源元数据 描述数据源的元数据,通常包括四类信息: 数据源地址(IP、PORT等) 物理拓扑(主备、角色等) 权限(用户名、口令等) 库名、版本、域名等 3.存储元数据 描述对象存储的元数据,也是通常"狭义"上的元数据,包括几大类 管理属性(创建人、应用系统、业务线、业务负责人等) 生命周期(创建时间、DDL时间、版本信息等) 存储属性(位置、物理大小等) 数据特征(数据倾斜、平均长度等) 使用特征(DML、刷新率等) 数据结构 > 表/分区(名称、类型、备注等) > 列(名称、类型、长度、精度等) > 索引(名称、类型、字段等) > 约束(类型、字段等) 4.计算元数据 描述数据计算过程的元数据,通常可分为数据抽取(ETL)或数据加工(JOB)两类计算。每类计算又可以进一步细分 控制元数据(配置属性、调度策略等) 过程元数据(依赖关系、执行状态、执行日志等) 5.质量元数据 描述数据质量的一类元数据。通常情况下,是通过定义一系列质量指标反映数据质量。 6.操作元数据 描述数据是如何进行使用的一类元数据。 数据产生(产生时间、作业信息等) 表访问(查询、关联、聚合等) 表关联(关联表