分类数据

Scikit-Learn Qucik Start(文档翻译)

丶灬走出姿态 提交于 2020-01-22 08:58:27
写在前面:今天是参加DataCastle比赛的第4天,在我妄图手写Boosting然而效率低的一B的时候,用sklearn的RF(RandomForest)没有优化参数、没有特征提取的情况下,居然都比我自己写的AdaBoost要好 ,所以我们目前的工作从编码实现转到了对sklearn的熟悉,然则求一中文文档而不得,英文渣渣的我也只能自己来翻译了。一则刚入ML坑的新人也在学习过程,二则英语渣渣星人有些我可能自己也看不懂,翻译不到位忘见谅了。 An introduction to machine learning with scikit-learn 1 机器学习:问题设定 一般来说,机器学习问题可以这样来理解:我们有n个 样本 (sample)的数据集,然后去预测未知数据的属性。如果描述每个样本的数字不只一个数字,比如一个多维的条目(也叫做 多变量数据 (multivariate data)),那么这个样本就有多个属性或者 特征 。 我们可以将学习问题分为以下几类: 监督学习(supervised learning)是指样本数据中包括了我们想预测的属性,监督学习问题有以下两类: 分类(classification):样本具有两个或多个类别,我们希望通过从已标记类别的数据学习,来预测未标记数据的分类。例如,识别手写数字就是一个分类问题,其目标是将每个输入向量对应到有穷的数字类别

cnn-过拟合(over-fitting)

狂风中的少年 提交于 2020-01-21 08:30:10
概念 为了得到一致假设而使假设变得过度严格称为过拟合[1] 给定一个假设空间H,一个假设h属于H,如果存在其他的假设h’属于H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’比h的错误率小,那么就说假设h过度拟合训练数据。 过拟合的示意图: 在上图中训练样本存在噪声,为了照顾它们,分类曲线的形状非常复杂,导致在真实测试时会产生错分类. 直白理解:在神经网络中,首先根据训练数据集进行训练,训练结果的好坏,通过一个损失函数的对预测值和实际真实值进行判断,当预测值和真实值对比,损失最小时,即拟合的很好,则训练的结果OK,如上图,蓝色的分类和红色的分类,通过复杂的曲线,完全在训练集上分类准确。其实用这个曲线去分类或预测实际(测试)数据集时,则会出现不准确的现象,则这种情况就是过拟合。如下图: 上图a,在训练集上,中间的虚线,已完全分开了小圆点和三角形,但是在测试集上(上图b),虚线还是把原点分类到了三角形这边。 表1 过拟合与欠拟合的判断标准 过拟合原因 (1)建模 样本 选取有误,如样本数量太少,选样方法错误,样本标签错误等,导致选取的样本数据不足以代表预定的分类规则; (2)样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则; (3)假设的模型无法合理存在,或者说是假设成立的条件实际并不成立; (4)参数太多,模型复杂度过高; (5)对于 决策树 模型

【分类算法】K-NN

↘锁芯ラ 提交于 2020-01-21 01:53:37
目录 K-NN的定义 K-NN的注意事项 K-NN 与K-Means 代码实现 总结 K-NN的定义 今天,我们来分享一个“街知巷闻”入门级别的分类算法 —— K-NN 。相信提到这个词的时候小伙伴们都有:噢~是它。这里题外话一下,为什么说K-NN是“街知巷闻”入门级别呢?其实他有如下特点: 算法思想非常简单 对数学以来少,非常适合初学者 虽然它的体量小,却可以走完监督学习的整个流程 可以通过它来入门监督学习,然后扩展其他算法 首先说一下,K-NN属于分类算法,那么分类算法是属于监督学习。所以K-NN是监督学习算法,它需要带label的数据。关于分类和聚类,我在过去的文章有讲过,大家可以回看一下。 什么是分类算法? / 什么是聚类算法? 那么到底什么是K-NN呢?看过过去文章的都知道,我比较喜欢通过拆解算法名字来初步理解算法是做什么的。K-NN,全称叫做:K-Nearest Neighboors,中文翻译:K-最近的 邻居们。假设我们的数据如下图,有很多个点。首先解释 Nearest 的,看到远近就应该想到距离。那么常用的距离计算方式我们有欧式距离、马氏距离、名氏距离甚至绝对值距离也是OK的。而 Neighboors 就是邻居们的意思。但在数据里面,我们一般用点来表示。所以也可以理解为是附近的点。那么K是一个正数,它代表多少个点。 所以整个K-NN的理解就是: K个最近的邻居点

从机器学习谈起

前提是你 提交于 2020-01-20 10:56:09
本文原地址 https://www.cnblogs.com/subconscious/p/4107357.html 拜读原文之后,无比喜欢,怕以后找不到,所以转载,大家喜欢可以去看原文,真的很精彩。 从机器学习谈起   在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核。当然,本文也面对一般读者,不会对阅读有相关的前提要求。   在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?   我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻     这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责人。右边的是Yann LeCun, 纽约大学教授,如今是Facebook人工智能实验室的主任。而左边的大家都很熟悉,Andrew Ng,中文名吴恩达,斯坦福大学副教授,如今也是“百度大脑”的负责人与百度首席科学家。这三位都是目前业界炙手可热的大牛,被互联网界大鳄求贤若渴的聘请,足见他们的重要性。而他们的研究方向

PyTorch图像分类

a 夏天 提交于 2020-01-19 07:11:12
目录 一、torch和torchvision 1、torchvision.datasets 2、torchvision.models 3、torchvision.transforms 4、torchvision.utils 二、MNIST手写数字识别 1、获取MNIST训练集和测试集 2、数据装载 3、数据预览 4、构建卷积神经网络模型 5、对模型进行训练和参数优化 6、对训练模型进行保存和加载 7、MNIST手写数字识别完整代码 三、CIFAR10图像分类 1、CIFAR10数据集介绍 2、CIFAR10图像分类实现 3、在GPU上跑神经网络 一、torch和torchvision PyTorch 中有两个核心的包,分别是 torch 和 torchvision 。 torch.nn 包提供了很多与实现神经网络中的具体功能相关的类,torch.optim包中提供了非常多的可实现参数自动优化的类,torch.autograd实现自动梯度的功能等。 torchvision 包含了目前流行的数据集,模型结构和常用的图片转换工具,它的主要功能是实现数据的处理、导入和预览等,所以如果需要对计算机视觉的相关问题进行处理,就可以借用在torchvision包中提供的大量的类来完成相应的工作。 1、torchvision.datasets torchvision.datasets

什么是机器学习

走远了吗. 提交于 2020-01-18 20:28:32
原文链接: https://www.cnblogs.com/lsgsanxiao/p/6955502.html 机器学习入门好文,强烈推荐(转) 转自 飞鸟各投林 史上最强----机器学习经典总结---入门必读----心血总结-----回味无穷 让我们从机器学习谈起 导读:在本篇文章中,将对 机器学习 做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。当然,本文也面对一般读者,不会对阅读有相关的前提要求。 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻 这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责人。右边的是Yann LeCun, 纽约大学教授,如今是Facebook人工 智能 实验室的主任。而左边的大家都很熟悉,Andrew Ng,中文名吴恩达,斯坦福大学副教授,如今也是“百度大脑”的负责人与百度首席科学家。这三位都是目前业界炙手可热的大牛,被互联网界大鳄求贤若渴的聘请,足见他们的重要性。而他们的研究方向,则全部都是机器学习的子类-- 深度学习 。 下图是图二: 图2

SQL语言分类

假如想象 提交于 2020-01-18 13:32:19
主要有以下分类: 1.数据定义语言(Date Definition Language,DDL): create table 可以创建表、alter table 可以对表结构进行修改、drop table 删除某个表。 2.数据查询语言:select用户检索数据库数据。 3.数据操纵语言(Date Manipulation Language,DML):insert、update、delete。 4.数据控制语言(Date Control Language,DCL): grant 用于给用户或者角色授予权限、 revoke 收回用户或者角色所具有的权限。 5.事物控制语言(Transactional Control Language,TCL): commit 用于确认已经进行的数据库改变、 rollback 用于取消已经进行的数据库改变、 savepoint 用于设置保存点,以取消部分数据库改变。 SQL语句的编写规则: SQL关键字、对象名、列明 ,不区分大小写;但SQL语句引用 字符值和日期值 ,必须要注意大小写。 如: select * from dept t where t.dname= 'SALES' ; 来源: https://www.cnblogs.com/ztf2008/archive/2009/01/12/1374189.html

AlexNet 网络详解及Tensorflow实现源码

社会主义新天地 提交于 2020-01-18 02:26:51
版权声明:本文为博主原创文章,未经博主允许不得转载。 1. 图片数据处理 2. 卷积神经网络 2.1. 卷积层 2.2. 池化层 2.3. 全链层 3. AlexNet 4. 用Tensorflow搭建完整的AlexNet 5. 用AlexNet识别猫狗图片 5.1. 定义分类 5.2. 训练网络 5.3. 验证 1. 图片数据处理 一张图片是由一个个像素组成,每个像素的颜色常常用RGB、HSB、CYMK、RGBA等颜色值来表示,每个颜色值的取值范围不一样,但都代表了一个像素点数据信息。对图片的数据处理过程中,RGB使用得最多,RGB表示红绿蓝三通道色,取值范围为0~255,所以一个像素点可以把它看作是一个三维数组,即: array([[[0, 255, 255]]]) ,三个数值分布表示R、G、B(红、绿、蓝)的颜色值。比如下图一张3*3大小的jpg格式的图片: 它的图片经过Tensorflow解码后,数据值输出为 image_path = 'images/image.jpg' filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once(image_path)) image_reader = tf.WholeFileReader() _,image_file = image

Vue + ElementUI的电商管理系统实例11 商品分类

不问归期 提交于 2020-01-17 12:32:01
1、创建商品分类分支goods_cate并push到远程 查看分支: git branch 创建分支: git checkout -b goods_cate 推送到远程:(以前码云中没有该分支,所以要加-u,如果码云中有该分支,则不需要加-u) git push -u origin goods_cate 2、通过路由加载商品分类组件 新建goods文件夹和Cate.vue文件: <template> <div> <h3>商品分类组件</h3> </div> </template> <script> export default { } </script> <style lang="less" scoped> </style> 添加路由: import Cate from '../components/goods/Cate.vue' const routes = [ { path: '/', redirect: '/login' }, // 重定向 { path: '/login', component: Login }, { path: '/home', component: Home, redirect: '/welcome', // 重定向 children: [ // 子路由 { path: '/welcome', component: Welcome }, { path:

机器学习,深度学习相关概念,及用PyTorch实现(二)——Logistic回归模型

∥☆過路亽.° 提交于 2020-01-14 23:14:14
Logistic回归是一种广义的回归模型,其与多元线性回归有着很多相似之处,模型的形式基本相同,虽然也被称为回归,但是其更多的情况使用在分类问题上,同时又以二分类更为常用。 回归和分类:回归问题得到的结果是 连续 的,比如通过学习时间预测成绩 分类问题是将数据分成几类,比如根据邮件信息将邮件分成垃圾邮件和有效邮件两类 Logistic回归的模型形式和线性回归一样,都是y=wx+b, 其中x可以是一个多维的特征,唯一不同的地方在于Logistic回归会对y作用一个logistic函数,将其变为一种概率的结果。Logistic 函数作为Logistic回归的核心,也被称为Sigmoid函数。 Sigmoid函数 可以看到Sigmoid函数的范围是在0~1之间,所以任何一个值经过了Sigmoid 函数的作用,都会变成0~1之间的一个值,这个值可以形象地理解为一个概率,比如对于二分类问题,这个值越小就表示属于第一类,这个值越大就表示属于第二类。 损失函数: Logistic回归使用了Sigmoid函数将结果变到0~1之间,对于任意输入一个数据,经过Sigmoid之后的结果我们记为yΛ, 表示这个数据点属于第二类的概率,那么其属于第一类的概率就是1 - yΛ.如果这个数据点属于第二类,我们希望y越大越好,也就是越靠近1越好,如果这个数据属于第一类,那么我们希望1- yΛ越大越好