- 博客(40)
- 资源 (36)
- 收藏
- 关注
原创 【机器学习】模型训练前夜—数据集预处理(概念+图+实战)
本文代码推荐使用Jupyter notebook跑,这样得到的结果更为直观。缺失数据处理:# 显示数据的缺失值import pandas as pdfrom io import StringIOcsv_data = '''A,B,C,D1.0,2.0,3.0,4.05.0,6.0,,8.010.0,11.0,12.0,''':# csv_data = u
2018-01-31 15:09:12 5641
原创 【机器学习】算法实现感知机与神经元分类器(概念+图+实战)
本文代码推荐使用Jupyter notebook跑,这样得到的结果更为直观。感知机MCP神经元和罗森布拉特筏值感知机的理念: 通过模拟的方式还原大脑中单个神经元的工作方式(是否被激活) 罗森布拉特筏值感知机最初的规则: 将权重初始化为0或者一个极小的数 迭代所有训练样本x 计算输出值y
2018-01-31 14:40:12 2513
转载 【程序设计】Python的解释器模式
解释器模式定义如下:给定一种语言,定义它的文法表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。解释器模式中会有终结符和非终结符之说,语法也根据两种终结符,决定语句最终含义。优点:1、在语法分析的场景中,具有比较好的扩展性。规则修改和制订比较灵活。应用场景:1、若一个问题重复发生,可以考虑使用解释器模式。这点在数据处理和日志处理过程中使用较多,当数据的需
2018-01-30 09:06:04 1124
转载 【程序设计】Python的备忘录模式
备忘录模式定义如下:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原来保存的状态。在备忘录模式中,如果要保存的状态多,可以创造一个备忘录管理者角色来管理备忘录。应用场景1、需要保存和恢复数据的相关状态场景。如保存游戏状态的场景;撤销场景,如Ctrl-Z操作;事务回滚的应用。一般情况下事务回滚有两种方式:一是把从恢
2018-01-30 09:05:53 1074
转载 【程序设计】Python的状态模式
状态模式的定义如下:当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。优点:1、状态模式的优点是结构清晰,相比于if…else…简约了不少;2、封装性好,外部调用不必知道内部实现细节。应用场景:1、行为状态改变的场景。这点在各种控制器中非常常见,同时,逻辑结构为状态转移图的场景中都非常适用。缺点1、在状态比较多时,子类也会非常多,不便于管理
2018-01-30 09:05:38 962
转载 【程序设计】Python的访问者模式
访问者模式的定义如下:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义于作用于这些元素的新操作。提到访问者模式,就不得不提一下双分派。分派分为静态分派和动态分派。静态分派即根据请求者的名称和接收到的参数,决定多态时处理的操作。Python原生是不支持静态分派的,因而也不直接支持更高层次的分派。访问者模式实现的分派,是一种动态双分派。但这
2018-01-29 11:29:17 1102
转载 【程序设计】Python的模板模式
模板模式定义如下:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。子类实现的具体方法叫作基本方法,实现对基本方法高度的框架方法,叫作模板方法。优点:1、可变的部分可以充分扩展,不变的步骤可以充分封装;2、提取公共代码,减少冗余代码,便于维护;3、具体过程可以定制,总体流程方便掌控。使用场景
2018-01-29 11:25:59 1122
转载 【程序设计】Python的观察者模式(发布-订阅模式)
观察者模式也叫发布-订阅模式,其定义如下:定义对象间一种一对多的依赖关系,使得当该对象状态改变时,所有依赖于它的对象都会得到通知,并被自动更新。观察者模式的通知方式可以通过直接调用等同步方式实现(如函数调用,HTTP接口调用等),也可以通过消息队列异步调用(同步调用指被观察者发布消息后,必须等所有观察者响应结束后才可以进行接下来的操作;异步调用指被观察者发布消息后,即可进行接下来的操作。)
2018-01-29 11:23:36 3299
转载 【程序设计】Python的责任链模式
责任链模式的定义如下:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。优点:1、将请求者与处理者分离,请求者并不知道请求是被哪个处理者所处理,易于扩展。应用场景:1、若一个请求可能由一个对请求有链式优先级的处理群所处理时,可以考虑责任链模式。除本例外,银行的客户请求处理系统也可以用
2018-01-29 11:18:48 868
转载 【程序设计】Python的命令模式
命令模式的定义为:将一个请求封装成一个对象,从而可以使用不同的请求将客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式中通常涉及三类对象的抽象:Receiver,Command,Invoker(本例中的waiterSys)。只有一个Invoker的命令模式也可以抽象成一个类似的“星形网络”,但与之前介绍的中介者模式不同,单纯的命令模式更像是一个辐射状的
2018-01-29 11:16:17 824
转载 【程序设计】Python的中介者模式
中介者模式的定义为:用一个中介对象封装一系列的对象交互。中介者使各对象不需要显式地互相作用,从而使其耦合松散,并可以独立地改变它们之间的交互。优点:1、减少类与类的依赖,降低了类和类之间的耦合;2、容易扩展规模。应用场景:1、设计类图时,出现了网状结构时,可以考虑将类图设计成星型结构,这样就可以使用中介者模式了。如机场调度系统(多个跑道、飞机、指挥塔之间的调度)、路由系
2018-01-29 11:13:33 1016
转载 【程序设计】python的策略模式
策略模式定义如下:定义一组算法,将每个算法都封装起来,并使他们之间可互换。具体策略实现类中即可定义个性化的策略方式,且可以方便替换。比较一下桥接模式和策略模式,如果把策略模式的Context设计成抽象类和实现类的方式,那么策略模式和桥接模式就可以划等号了。桥接模式比策略模式多了对一种角色(抽象角色)的抽象。桥接模式解决抽象角色和实现角色都可以扩展的问题;而策略模式解
2018-01-29 11:11:01 790
转载 【程序设计】Python的享元模式
享元模式定义如下:使用共享对象支持大量细粒度对象。大量细粒度的对象的支持共享,可能会涉及这些对象的两类信息:内部状态信息和外部状态信息。内部状态信息就是可共享出来的信息,它们存储在享元对象内部,不会随着特定环境的改变而改变;外部状态信息就不可共享的信息了。享元模式中只包含内部状态信息,而不应该包含外部状态信息。优点:1、减少重复对象,大大节约了系统资源。
2018-01-29 11:06:23 739
转载 【程序设计】Python的桥梁模式
模式桥梁又叫桥接模式,定义如下:将抽象艺术与实现解耦(注意此处的抽象和实现,并非抽象类和实现类的那种关系,而是一种角色的关系,这里需要好好区分一下),可以使其独立变化。所谓的桥,就是抽象化角色的抽象类和实现化角色的抽象类之间的引用关系。优点:1,抽象角色与实现角色相分离,二者可以独立设计,不受约束;2,扩展性强:抽象角色和实现角色可以非常灵活地扩展。应用
2018-01-29 10:56:45 1123
转载 【程序设计】Python的组合模式
组合模式也叫作部分-模式整体将对象组合分类中翻译树形结构以表示“部分 ”和“整体 ”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。优点:1,节点增加和减少是非常自由和方便的,这也是树形结构的一大特点;2,所有节点,不管是分支节点还是叶子结点,不管是调用一个结点,还是调用一个结点群,都是非常方便的。使用场景:1,维护部分
2018-01-29 10:54:00 885
转载 【程序设计】Python的适配器模式
适配器模式定义如下:将一个类的接口变换分类中翻译客户端的期待的另一种接口,使从而因原本不接口匹配而无法在一起工作的两个类能够在一起工作适配器模式装饰状语从句:有模式的一定相似性,都起包装的作用装饰模式的结果,是给一个对象增加了一些额外的职责,而适配器模式,则是将另一个对象进行了“伪装”。适配器可以认为是对现在业务的补偿式应用尽量不要在设计阶段使用适配
2018-01-27 19:32:34 926
转载 【程序设计】Python的门面模式
门面模式也叫外观模式,定义如下:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。门面模式注重“统一的对象”,也就是提供一个访问子系统的接口。门面模式与之前说过的模板模式有类似的地方,都是对一些需要重复方法的封装。模板模式是对类本身的方法的封装,其被封装的方法也可以单独使用;而门
2018-01-27 19:29:30 798
转载 【程序设计】Python的装饰器模式
装饰器模式定义如下:动态地给一个对象添加一些额外的职责。在增加功能方面,装饰器模式比生成子类更为灵活。装饰器模式和上一节说到的代理模式非常相似装饰器模式就是代理模式的一个特殊应用,两者的共同点是都具有相同的接口,不同点是侧重对主题类的过程的控制,而装饰模式则侧重对类功能的加强或减弱。在Python中,AOP通过装饰器模式实现更为简洁和方便。AOP即Aspect Or
2018-01-27 19:26:14 766
转载 【程序设计】Python的原型模式
原型模式定义如下:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。进行clone操作后,新对象的构造函数没有被二次执行,新对象的内容是从内存里直接拷贝的。优点:1、性能极佳,直接拷贝比在内存里直接新建实例节省不少的资源;2、简化对象创建,同时避免了构造函数的约束,不受构造函数的限制直接复制对象,是优点,也有隐患,这一点还是需要多留意一些。使用场景:
2018-01-27 19:23:29 1016
转载 【程序设计】Python的代理模式
代理模式是一种使用频率非常高的模式,在多个著名的开源软件和当前多个著名的互联网产品后台程序中都有所应用。代理模式定义如下:为某对象提供一个代理,以控制对此对象的访问和控制。代理模式在使用过程中,应尽量对抽象主题类进行代理,而尽量不要对加过修饰和方法的子类代理。优点:1、职责清晰:非常符合单一职责原则,主题对象实现真实业务逻辑,而非本职责的事务,交由代理完成;2、扩展
2018-01-27 19:19:47 845
转载 【程序设计】Python的建造者模式
建造者模式的定义如下:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式的作用,就是将“构建”和“表示”分离,以达到解耦的作用。优点:1、封装性好,用户可以不知道对象的内部构造和细节,就可以直接建造对象;2、系统扩展容易;3、建造者模式易于使用,非常灵活。在构造性的场景中很容易实现“流水线”;4、便于控制细节。使用场
2018-01-27 19:16:56 748
转载 【程序设计】Python的工厂模式
工厂类模式:工厂模式、简单工厂模式、抽象工厂模式工厂模式的定义如下:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。产品类定义产品的公共属性和接口,工厂类定义产品实例化的“方式”。工厂在使用前必须实例化。省去了将工厂实例化的过程。这种模式就叫做简单工厂模式。优点:1、工厂模式巨有非常好的封装性,代码结
2018-01-27 19:14:10 882
转载 【程序设计】Python的单例模式
单例模式是指:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式的优点:1、由于单例模式要求在全局内只有一个实例,因而可以节省比较多的内存空间;2、全局只有一个接入点,可以更好地进行数据同步控制,避免多重占用;3、单例可长驻内存,减少系统开销。单例模式的应用举例:1、生成全局惟一的序列号;2、访问全局复用的
2018-01-27 13:22:28 758
转载 【程序设计】设计模式
设计模式它不限于一种特定的语言,它是一种解决问题的思想和方法。设计模式是面对各种问题进行提炼和抽象而形成的解决方案。考虑了封装性,复用性,效率,可修改,可移植等各种因素的高度总结。遵循设计模式而设计的代码结构,尽可能减少模块间的不必要依赖设计模式对需求变更与代码重用的考虑,可以被作为软件设计的参考设计模式基本上本着“高内聚,低耦合”的原则,遵循设计模式而设计
2018-01-27 13:13:30 762
转载 【程序设计】设计模式与设计原则
设计模式与设计原则,基本符合规则与原则的关系: 设计模式是一个个具体问题的解决方案,设计模式是程序设计方法的形。 设计原则反映了这些设计模式的指导思想,设计原则是程序设计方法的神。设计原则可衍生出的设计模式,任何一种针对特定业务场景中的解决方法,虽然找不到对应的设计模式与之匹配,但若符合设计原则,也可以认为是一种全新的设计模式。 设计原则:单一职责原则: 单...
2018-01-25 16:17:52 832
原创 【深度学习】TensorFlow实现RNN
RNN(recurrent neural Network)循环神经网络主要用于自然语言处理(nature language processing,NLP) RNN主要用途是处理和预测序列数据RNN广泛的用于 语音识别、语言模型、机器翻译RNN的来源就是为了刻画一个序列当前的输出与之前的信息影响后面节点的输出RNN 是包含循环的网络,允许信息的持久化。RNN会记忆之前的信
2018-01-22 20:21:59 2049 4
原创 【Python】Python的一个非常非常实用的进度条小工具PyPrind
PyPrind(Python Progress Indicator)PyPrind (Python Progress Indicator)模块提供了一个进度条和一个百分比指示器对象,它允许您跟踪循环结构或其他迭代计算的进度。典型的应用程序包括处理大数据集,以便在运行时对计算的进展提供直观的估计。安装方法:pip install pyprind进度条指标:import pyprindimport
2018-01-18 18:07:27 8171
原创 【深度学习】TensorFlow图像处理
图像处理:#coding=utf-8import matplotlib.pyplot as pltimport tensorflow as tfimport numpy as np# 读取图片image_raw_data = tf.gfile.FastGFile ("../datasets/cat.jpg", 'rb').read ()with tf.Session () as se
2018-01-17 19:14:39 2164
原创 【深度学习】TensorFlow的TFRecord存储
TFRecord:TensorFlow提供一种统一的格式来存储数据存储的格式为属性名到取值的字典,属性名为字符串,取值可为字符串、实数列表、整数列表。将MNIST的输入数据转化为TFRecord的格式程序:import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport numpy a
2018-01-17 19:08:38 918
原创 【深度学习】卷积神经网络(CNN)
卷积神经网络(Convolutional Neural NetWork,CNN):自然语言处理、医药发现、灾难气候发现、人工智能程序。输入层:整个神经网络的输入 卷积层:卷积神经网络中最重要的部分,卷积层中每一个节点的输入只是上一层神经网络的一小块,一般为3x3或者5x5。卷积层试图将神经网络中的每一小块进行更加深入的分析从而得到抽象程度更高的特征。
2018-01-16 10:32:47 6286 3
翻译 【机器学习】随机森林
Python中的随机森林随机森林是一种用途广泛的机器学习方法,具有广泛的应用范围,从营销到医疗和保险。它可以用来模拟营销对客户获取,保留和流失的影响,或者预测患者的疾病风险和易感性。随机森林能够回归和分类。它可以处理大量的功能,并且有助于估计哪些变量对正在建模的基础数据非常重要。这是一篇关于使用Python的随机森林的文章。什么是随机
2018-01-15 17:03:54 1585
原创 【深度学习】TensorFlow持久化 简概
TensorFlow提供简单的API保存和还原一个神经网络模型,tf.tanin.Saver类。保存计算图的案例:with tf.Session () as sess: model_filename = "./Saved_model/combined_model.pb" with gfile.FastGFile (model_filename, 'rb') as f:
2018-01-09 14:54:37 776
原创 【深度学习】TensorFlow变量管理
TensorFlow提供了通过变量名称来创建或者获取一个变量的机制。获取变量名主要通过tf.get_variable和tf.variable_scope实现的。 变量初始化函数:tf.constant_initializer(value):将变量初始化为给定的常量,初始化一切所提供的值。tf.random_normal_initializer(mean,stddev):将变量初
2018-01-09 14:45:48 1028 1
原创 【深度学习】深层神经网络
深度学习:一类通过多层非线性变换对高复杂性数据建模算法的集合深层神经网络是实现“多层非线性变换”最常用的一种方法深度学习 ≈ 深层神经网络深度学习的重要特征:多层、非线性 线性模型局限性:一个线性模型中通过输入的函数得到输出的函数被称为一个线性变换。线性模型的最大特点是任意线性模型的组合依然还是线性模型。线性模型只能解决线性可分的问题,很多问题是无法线性分割的
2018-01-06 18:21:31 1548
原创 【深度学习】TensorFlow概念
TensorFlow最重要的两个概念:Tensor和FlowTensor:张量,多维数组Flow:流,表达了张量之间通过计算相互转化的过程 TensorFlow是通过计算图的形式表述计算的编程系统TensorFlow中每一个计算都是计算图上的一个节点,节点之间的边描述了计算之间的依赖关系图例: 计算图的使用:TensorFlow程序一般分为两个阶段:
2018-01-06 18:11:57 966
原创 【深度学习】深度学习简介
人工智能的痛点:数据表达、特征提取、运算处理器解决了以上痛点,人工智能的任务就能解决了90%。 深度学习的核心问题之一:自动的将简单的特征组合成更加复杂的特征,并使用这些组合特征解决问题。 深度学习是机器学习的一个分支,深度学习除了学习特征和任务之间的关联外,还能自动从简单特征中提取更加复杂的特征, 深度学习和机器学习的差异:机器学习:输入à人工提取特征à权重学习à
2018-01-06 17:50:37 1553
原创 【h5py Error】Python TypeError: No conversion path for dtype: dtype('<U28')
报错代码:h5f.create_dataset('dataset_2', data = names)报错环境:python3.6h5py的报错:TypeError: No conversion path for dtype: dtype('错误解析:create_dataset 只接受 ascii 的数据,如果你是Python3或者py
2018-01-04 19:14:38 7983 4
原创 【简析】极大似然估计与最小二乘
极大似然估计:在已知样本和给定概率分布模型的基础上,估计概率分布模型的参数,并使得在该参数下,生成这个已知样本的可能性最大的方法。最大似然估计就是去找参数估计值,使得已经观察到的样本值发生概率最大。找到那个参数估计值,使得前面已经实现的样本值发生概率最大。求样本所有观测的联合概率最大化,是个连乘积,只要取对数,就变成了线性加总。此时通过对参数求导数,并令一阶导数为零,就可以通过解方
2018-01-03 11:42:04 2815
原创 【算法】动态规划算法—买卖股票的最佳时机系列(1-4)
买卖股票的最佳时机—1:题目:假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易,设计一个算法来找出最大利润。解法:该题解法和最大连续子数组和的解法思路是一样的。1、根据股票的利益意义,想要更多利益则值低时买进,值高时卖出。根据提供的股票价格不方便得出股票价格变化,对原数据进行计算:list[i] - list[i-1] = 股票的变化。变化为正时股票增长(
2018-01-02 15:01:00 15781 7
原创 【算法】分治算法案例— 两个排序数组的中位数
两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n))。 样例给出数组A = [1,2,3,4,5,6] B = [2,3,4,5],中位数3.5给出数组A = [1,2,3] B = [4,5],中位数 3挑战 时间复杂度为O(log n) 这个解法是我在leetcode看到的一个非常好的解法...
2018-01-02 11:13:23 1139
Python Cookbook(第三版)中文
2018-07-30
pycharm2017汉化包
2017-09-18
Tengine与Nginx的特性
2017-09-12
全面的各类RAID详解
2017-09-08
机器学习知识手册
2018-10-15
《精益数据分析》埃里克·莱斯
2018-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人