
Machine Learning工程实现
文章平均质量分 67
永恒的秋天
Explorer
展开
-
模型评估-留出法
对于一个机器学习问题,我们通常有数据集D(用于训练模型),但我们还需要评估模型,因此不能把整个D用于训练,因为拿训练过的数据再去评估必然无效。那么最基本的方法就是留出法:把D划分为两部分:训练集S和测试集T,其中SUT=D,S∩T=Φ。划分时一般不宜随机划分,因为如果T中正好只取到某一种特殊类型数据,从而带来了额外的误差。此时处理方法要视具体情况而定,如当数据明显的分为有限类时,可原创 2017-09-07 14:55:42 · 9888 阅读 · 0 评论 -
朴素贝叶斯算法 Python实现
本代码实现了朴素贝叶斯分类器(假设了条件独立的版本),常用于垃圾邮件分类,进行了拉普拉斯平滑关于朴素贝叶斯算法原理可以参考博客中原理部分的博文。#!/usr/bin/python# -*- coding: utf-8 -*-from math import logfrom numpy import*import operatorimport matplotlibimport matpl原创 2018-01-19 15:44:03 · 1172 阅读 · 0 评论 -
ResNet实现150层的深度神经网络 图像识别
传统的神经网络很难做的很深,因为会发生梯度爆炸或梯度消失,导致难以收敛。ResNet中各层中有一些“捷径”,这使得层数可以做的很多,本文实现了一个150层的神经网络,用于识别手势的图像,训练时间也可以接受。数据集下载地址:http://pan.baidu.com/s/1bpo8DEv把数据集下载后放在代码路径下才可运行此程序,博主的环境是Pycharm,pyth原创 2018-02-03 19:25:26 · 1901 阅读 · 1 评论 -
利用koras框架快速建立深度神经网络
类似于tensorflow,koras也是神经网络的一个框架,它有更高的抽象程度,从而使得构建过程更加简单快速,适用于需要快速构建网络并测试性能时。高度抽象导致使用者无法掌控细节,也难以灵活变动网络,一般只能用koras建立常规的模型,比如常规卷积层,常规池化层等形成的网络。Win下安装koras只需在cmd调用pip install koras即可demo:import numpy原创 2018-02-03 17:02:27 · 952 阅读 · 0 评论 -
kNN k近邻算法的python实现
Machine Learning in Action 这本书中算法的实现 #!/usr/bin/python# -*- coding: utf-8 -*-from numpy import*import operatorimport matplotlibimport matplotlib.pyplot as pltfrom os import listdirdef createDat原创 2018-01-18 13:53:05 · 547 阅读 · 0 评论 -
Decision Tree 决策树算法Python实现
决策树是很自然的逻辑结构,本文代码是Machine Learning in Action 这本书中算法的实现另作补充:每次最佳划分节点的确定方式(来自周志华《机器学习》):通过最大化信息增益来选择划分特征#!/usr/bin/python# -*- coding: utf-8 -*-from math import log#from numpy import*import operator原创 2018-01-18 22:05:37 · 772 阅读 · 0 评论 -
tensorflow框架下构建3层神经网络
本文使用了tensorflow框架构建了一个3层的神经网络,这个框架使神经网络的实现简化了很多,主要是因为此框架的计算图结构和最优化函数API,使得具体实现时只需手动实现前向传播,其他基本是调用API。理解tensorflow的关键在于理解它的计算图结构computation graph和placeholder机制。虽然方便,但博主依然不推荐初学者直接使用这类框架,因为方便的代价是隐藏了诸多细节,原创 2018-01-27 09:28:03 · 1897 阅读 · 0 评论 -
详解多层神经网络 Python源码
每个函数输入输出及功能都已在注释中注明,代码运行需要数据集,全工程可从Github下载:https://github.com/yogixRush/Deep-Neural-Network-Python/tree/masterimport timeimport numpy as npimport h5pyimport matplotlib.pyplot as pltimport s原创 2018-01-23 18:00:56 · 3842 阅读 · 0 评论 -
Lamda新论文gcForest测试-手写数字测试识别详解(Kaggle数据集)
lamda实验室最近研发了新的学习算法gcForest,论文和代码在lamda网站上都有,给出的代码没有注释相当费解(大牛请无视),后又在github上找到民间大神实现的代码,较为简洁易懂,先贴上代码链接:https://github.com/pylablanche/gcForest简要对gcForest算法处理数据的流程解释一下:假设我们现在的数据就是kaggle平台上手写数字识别的数据原创 2017-10-03 11:47:34 · 4136 阅读 · 11 评论 -
Pandas数据结构之:Series
类似于广义的一维数组对象,与C++中的map类似。有属性values与index,即值与索引,都可以是整数浮点数字符字符串等初始化:obj=Series([2,3,4,5])(即用list初始化其值,此时没有指明索引,默认0-length-1也可以指定索引初始化:obj2=Series([4,7,-5,3],index=['d','b','a','c'])可以像数组一样按索引取原创 2017-09-24 19:35:52 · 286 阅读 · 0 评论 -
机器学习数据分析之Python中Numpy的常用方法
IPython交互Shell使用技巧:代码提示功能:部分名字+tab键显示变量/对象具体信息:名称+?搜索命名空间:例如使用通配符:np.*aa*?结果会出现所有中间有俩a的变量名,类,方法等可以运行脚本代码:%run +路径,绝对路径即可运行后,该脚本内全局变量,函数,import等都能在IPython界面使用了执行时按ctrl+c可以中断代码%paste:将原创 2017-09-24 17:24:28 · 553 阅读 · 0 评论 -
模型评估-交叉验证与自助法
交叉验证法:实质上是多次的留出法。把数据集D分为k个互斥子集(分层抽样),每次选一个子集作为测试集,其他的集合作为训练集,循环k次,求误差平均值。如果每个子集只包含一个数据,那么叫做留一法。这样的方法显然耗时较多。自助法:它以自助采样法(bootstrap sampling)为基础,具体做法很简单,对m个样本进行m次有放回采样得到训练集。剩下的作为测试集。由于是有放回,原创 2017-09-07 15:18:41 · 4012 阅读 · 0 评论 -
Logistic回归 Python实现
本文实现了Logistic回归算法,代码中有梯度下降法和随机下降法供选择,并画图显示了最后的分隔结果。#!/usr/bin/python# -*- coding: utf-8 -*-from numpy import*import operatorimport matplotlibimport matplotlib.pyplot as pltfrom os import listd原创 2018-01-19 22:06:07 · 625 阅读 · 0 评论