机器学习

python sklearn2pmml

本秂侑毒 提交于 2021-02-14 15:38:01
问题导读 1.scikit-learn已经成为Python重要的机器学习库,那么如何将scikit-learn训练好的模型直接导出为PMML呢? 2.如何将原有pickle格式的模型文件转换为PMML? 综述 自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了。scikit-learn简称sklearn,支持包括分类、回归、降维和聚类四大机器学习算法。还包含了特征提取、数据处理和模型评估三大模块。 sklearn拥有着完善的文档,上手容易,具有着丰富的API,在学术界颇受欢迎。sklearn已经封装了大量的机器学习算法,包括LIBSVM和LIBINEAR。同时sklearn内置了大量数据集,节省了获取和整理数据集的时间。 本文介绍了如何将sklearn中的模型导出为PMML文件,方便后续的工程上线操作,内容包括涉及环境的搭建和中间遇到的坑。 前置知识 Python 基本操作,会使用pip 或者Anaconda进行依赖库管理 Maven 基本操作 Java 命令基本操作 sklearn2pmml 使用sklearn2pmml 可以在python中,训练完模型之后,直接将模型导出为PMML文件。 软件版本 Python 2.7,3.4 或者更新。 scikit-learn 0.16.0 或者更新。 sklearn-pandas 0.0.10 或者更新。

机器学习常见算法

强颜欢笑 提交于 2021-02-14 12:56:11
一 线性回归 链接:https://www.cnblogs.com/LUOyaXIONG/p/10690191.html 二 逻辑回归 链接:https://www.cnblogs.com/LUOyaXIONG/p/10697596.html 三 k-近邻算法 链接:https://www.cnblogs.com/LUOyaXIONG/p/10698121.html 四 决策树 链接:https://www.cnblogs.com/LUOyaXIONG/p/10705304.html 五 随机森林 链接:https://www.cnblogs.com/LUOyaXIONG/p/11528575.html 六 支持向量机 链接:https://www.cnblogs.com/LUOyaXIONG/p/10686824.html 七 朴素贝叶斯 链接:https://www.cnblogs.com/LUOyaXIONG/p/10702288.html 八 EM算法 链接:https://www.cnblogs.com/LUOyaXIONG/p/10703120.html 九 Adaboost 链接:https://www.cnblogs.com/LUOyaXIONG/p/10951438.html 十 GBDT 链接:https://www.cnblogs.com/LUOyaXIONG

风格迁移算法

非 Y 不嫁゛ 提交于 2021-02-14 10:04:09
最近推导了一些机器学习入门的算法,老是搞那些数学知识,搞的自己都没信心和新区了。今天学着玩点有趣好玩的。 图像的艺术风格迁移算法,算是一个简单有趣,而且一般人都能看得到效果的算法。图像艺术风格迁移,简单的理解,就是找一个照片作为内容,然后把这个照片换成梵高或者毕加索等制定的风格。关于 图像艺术风格迁移 的一些历史和知识,大家可以看看这篇文章: 图像风格迁移(Neural Style)简史 。 思路 风格迁移的大概思路是:我们需要准备两张图片。一张是我们将要输出的内容图片,另外一张是我们需要模仿的风格图片。我们需要输出一张图片,让输出的这张图片的内容和内容图片相近,让输出图片的风格和风格图片的风格相近。 <br /> 内容最接近的算法 内容最接近,相对来说比较简单。简单的理解可以对比每个图片的像素,然后计算他们的差距。也可以是计算CNN中间某个卷积层得到的特征值之间的距离。 <br /> 我经过调试发现,如果内容图层取得太靠前,效果不太好。因为内容特征越靠前,相当于对比的越细腻,而风格迁移要得到的效果是宏观上更像内容图片,细节上用风格表现,这样效果最好。 风格最接近的算法 风格的比较是最难理解的。要理解风格比较的算法,需要了解一个名词叫做格拉姆矩阵。听常博士说这个知识属于矩阵分析里面的内容。我对这方面没系统学习过,不太懂。但是我能理解到的层次是:你给定N个卷积核,然后可以得到N个矩阵

第一届 画小仓鼠大赛

旧城冷巷雨未停 提交于 2021-02-14 08:54:23
点击上方“ 程序员小灰 ”, 选择关注公众号 有趣有内涵的文章第一时间送达! 我们是一群专业的程序员。 同时,我们也是一群多才多艺的能人。 有的程序员擅长吉他,靠着优美的琴声撩妹无数。 有的程序员擅长围棋,就算遇上alphaGo也能输得体面一些。 还有的程序员擅长篮球、街舞、空手道、占星、魔术 ...... 最重要的是,有不少程序员擅长 画画 。 又到了每月送书的时候,每次都依靠留言点赞实在是太俗套了。 所以小灰一直在思索,怎样可以弄出更加好玩的活动,让大家一起开开心心地参与呢? 小灰想啊想啊,终于想出一个有趣的活动: 画小仓鼠大赛 。 大赛明细如下: 1.以程序员小灰中的角色为原型,画出自己的绘画作品。绘画可以是黑白,也可以是彩色的。(不会画画的小伙伴,找外援也是可以的) 2.绘画通过公众号后台发消息或者加小灰的微信(微信号 bjweimengshu)进行投稿, 投稿截止日期 2018年7月20日 。 3.正式评比的日期定于 2018年7月23日 ,届时小灰会把所有投稿作品发放出来,大家进行投票选举,票数最多的前 5位 投稿者获奖。 4.凡是投稿的小伙伴,都可以免费加入小灰的 知识星球 。5位作 品 获奖者将得到图书一本,同时在7月23日的正式评比时,小灰也会从留言区评价作品的读者中选出5位给予图书奖励。 下面是一些小仓鼠的绘画示例,仅供参考: 那么,我们今天又有什么样的奖励呢?

使用requests爬取拉勾网python职位数据

痴心易碎 提交于 2021-02-14 08:00:34
爬虫目的 本文想通过爬取 拉勾网 Python相关岗位数据,简单梳理 Requests 和 xpath 的使用方法。 代码部分并没有做封装,数据请求也比较简单,所以该项目只是为了熟悉requests爬虫的基本原理,无法用于稳定的爬虫项目。 爬虫工具 这次使用 Requests 库发送http请求,然后用 lxml.etree 解析HTML文档对象,并使用 xpath 提取职位信息。 Requests简介 Requests是一款目前非常流行的http请求库,使用python编写,能非常方便的对网页Requests进行爬取。 官网里介绍说:Requests is an elegant and simple HTTP library for Python, built for human beings. Requests优雅、简易,专为人类打造! 总而言之,Requests用起来简单顺手。 Requests库可以使用 pip 或者 conda 安装,本文python环境为py3.6。 试试对百度首页进行数据请求: # 导入requests模块 import requests<br> # 发出http请求 re = requests.get( "https://www.baidu.com/" ) # 查看响应状态 print(re.status_code) # 查看url print(re

模型训练过程中的训练集、训练开发集、开发集和测试集总结

China☆狼群 提交于 2021-02-14 07:39:59
36.什么时候你应该在不同分布上做训练和测试 当你的猫app已经上传10000张图,你已经人工标记它们有没有猫,同时你有200000张互联网上下载的图,这时你要怎么划分训练开发测试集呢? 当你训练深度学习模型时,可能必须用到那200000张图,那么训练和测试集的分布就不同,这会怎样影响你的工作呢? 当然将210000张图片随机分裂到训练开发测试集是一种方法,但我(吴恩达)不推荐这种方法,记住选择开发测试集的推荐方法是:选择你未来预期会得到的数据来作为开发测试集。 大多数学术文章假设训练开发测试集的分布相同,在机器学习的早期,数据稀缺,常常仅有一个服从同一分布的数据集,所以这一假设能够满足。 但在大数据时代,从不同分布所收集来的数据,我们也希望能利用上,因为它能提供大量信息。 对于猫检测这个问题,我们会将猫app上传的5000张图放入开发测试集,训练集大小为205000。 第二个场景,假设你在做一个语音识别系统为一个导航app来转录得地址,你有20000个用户说的街道地址,500000个语音片段用户说其他的内容,这时你可能用10000个地址样本作为开发测试集,其他用作训练集。 我们继续假设你的开发测试集具有相同分布,但是必须明白,训练和开发/测试集分布不同,会带来一些特殊的挑战。 Ps:有些学术研究是训练测试分布不同,但理论和实践中有很大的不同,如果你的训练测试不同分布

15分钟入门蒙特卡洛 Monte Carlo

落爺英雄遲暮 提交于 2021-02-14 02:31:00
↑↑↑点击上方 蓝字 ,回复 资料 ,10个G的惊喜 来自 | 知乎 作者 | 薛定豆 编辑 | 深度学习这件小事公众号 链接 | https://zhuanlan.zhihu.com/p/223042372 20世纪40年代,蒙特卡洛(Monte Carlo, 位于摩纳哥的赌城,如上图)方法由John von Neumann,Stanislaw Ulam和 Nicholas Metropolis 在 Los Alamos National Lab (LANL) 曼哈顿计划中,为模拟中子扩散发展出的一种统计方法。正如名字反映出的,蒙特卡洛方法本质上是跟赌博一样具有随机特性。 一、估计圆周率 的值 如果(x,y)是独立地从0到1之间均匀分布抽样出的一系列的数对number pair, 那么这些随机的位置坐标(x,y)落在1为半径圆弧内的概率应该是:四分之一圆的面积➗整个正方形的面积: 而因为(x,y) 是0到1的均匀分布,所以这个概率当抽样足够多的时候就等于红色的点数除以总共点数: 这样一来,只要采样足够多,就可以得到无限趋近于 的值。这个例子很好的体现了Monte Carlo(MC)方法的精神:利用随机分布的特性,大数次抽样得到准确的估计。换句话说,就是我猜,我猜地又多又均匀就基本上成功了! 二、估计定积分的值 微积分里我们学到,定积分(也就是曲线下的面积

caffe详解之损失函数

雨燕双飞 提交于 2021-02-13 23:46:17
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! Caffe中的损失函数解析 导言 在有监督的机器学习中,需要有标签数据,与此同时,也需要有对应的损失函数( Loss Function )。 在 Caffe 中,目前已经实现了一些损失函数,包括最常见的 L2 损失函数,对比损失函数,信息增益损失函数等等。在这里做一个笔记,归纳总结 Caffe 中用到的不同的损失函数,以及分析它们各自适合的使用场景。 欧式距离损失函数(Euclidean Loss) 对比损失函数(Contrastive loss) 铰链损失函数(Hinge Loss) 信息增益损失函数(InformationGain Loss) 多项式逻辑损失函数(Multinomial Logistic Loss) Sigmoid 交叉熵损失函数(Sigmoid Cross Entropy Loss) Softmax+损失函数(Softmax With Loss) 总结 欧式距离损失函数:一般适用于回归问题,特别是回归的值是实数的时候。 对比损失函数:用来训练 siamese 网络时候。 Hinge loss :在一对多的分类中应用,类似于 SVM 。 多项式逻辑损失函数:一般在一对多的分类任务中应用,直接把预测的概率分布作为输入。 sigmoid 交叉熵损失函数:预测目标概率分布。 softmax

大数据基本概念浅析及技术简介

时光怂恿深爱的人放手 提交于 2021-02-13 19:03:58
大数据是当前很热的一个词。这几年来,云计算、继而大数据,成了整个社会的热点,不管什么,都要带上“大数据”三个字才显得时髦。大数据究竟是什么东西?有哪些相关技术?对普通人的生活会有怎样的影响?我们来一步步弄清这些问题。 一、基本概念 在讲什么是大数据之前,我们首先需要厘清几个基本概念。 1.数据 关于数据的定义,大概没有一个权威版本。为方便,此处使用一个简单的工作定义:数据是可以获取和存储的信息。 直观而言,表达某种客观事实的数值是最容易被人们识别的数据(因为那是“数”)。但实际上,人类的一切语言文字、图形图画、音像记录,所有感官可以察觉的事物,只要能被记下来,能够查询到,就都是数据(data)。 不过数值是所有数据中最容易被处理的一种,许多和数据相关的概念,例如下面的数据可视化和数据分析,最早是立足于数值数据的。 传统意义上的数据一词,尤其是相对于今天的“大数据”的“小数据”,主要指的就是数值数据,甚至在很多情况下专指统计数值数据。这些数值数据用来描述某种客观事物的属性。 2.数据可视化 对应英语的data visulization(或可译为数据展示),指通过图表将若干数字以直观的方式呈现给读者。比如非常常见的饼图、柱状图、走势图、热点图、K线等等,目前以二维展示为主,不过越来越多的三维图像和动态图也被用来展示数据。 3.数据分析 这一概念狭义上,指统计分析,即通过统计学手段

数据准备<3>:数据预处理

与世无争的帅哥 提交于 2021-02-13 16:17:37
<font size='+0.5'> 数据预处理 是指因为算法或者分析需要,对经过数据质量检查后的数据进行转换、衍生、规约等操作的过程。整个数据预处理工作主要包括 五个方面内容 :简单函数变换、标准化、衍生虚拟变量、离散化、降维。本篇文章将作展开介绍,并提供基于Python的代码实现。</font> 0. 示例数据集说明 /labcenter/python/dataset2.xlsx import pandas as pd import numpy as np # 读取数据 dataset = pd.read_excel("/labcenter/python/dataset2.xlsx") # 打印数据集 dataset Out[58]: col1 col2 col3 col4 col5 col6 col7 0 101 96 aaa 3.85 2017-04-05 17:39:08 0-10 800 1 102 13 bbb 2.78 2017-04-04 03:00:14 10-20 1000 2 103 160 aaa 4.40 2017-04-03 14:45:29 10-20 600 3 104 128 ccc 2.49 2017-04-22 11:17:12 20-30 2400 4 105 10 ccc 3.70 2017-04-22 16:42:08 30-40