3 ObsessionLife

尚未进行身份认证

自己选择的路,跪着也要走下去

等级
TA的排名 2w+

[Python实战] - No.15 Python中的反射

Python反射这篇文章没有系统地解释什么是反射以及完整的Python反射机制,仅仅作为我之前使用反射解决问题的一个记录。假设我们有以下文件:E:.│├─package1│ main.py│ people.py│ __init__.py│└─package2animal.py__init__.pypackage1.people中的代码如下...

2019-10-24 09:40:04

[机器学习与深度学习] - No.5 ILSVRC2012_img_val数据集的使用

ILSVRC2012_img_val数据集的使用在之前使用Imagenet 2012的Validation数据集的时候,遇到了数据集图片和下载的标签文件不对应的问题,困扰了一段时间,后来终于解决了,在这里记录一下。ILSVRC2012_img_val数据的正确姿势:下载数据集和正确的label:下载数据集:数据集地址:http://www.image-net.org/challeng...

2019-06-09 16:32:30

[Python 实战] - No.14 Python-Redis中的编码问题

Python-Redis中的编码问题最近在写代码的时候,因为redis的编码的问题,debug了一天,最后终于搞清楚了python-redis中遇到的那些坑。在这里记录一下:python中如何连接redis: value = value.decode(self.encoding, self.encoding_errors)UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start b

2019-05-14 11:55:34

[机器学习与深度学习] - No.4 Normalization和Standardization的区别

Normalization和Standardization的区别写在前面:Normalization和Standardization在很多时候,很多文章中并不区分,甚至会使用scaling来代替上述两个词。在这里我们针对两种方法,做一些细微的区分。Normalization:将我们的数据值的范围限定在[0,1]之间,也就是我们将常说的归一化。在机器学习的算法中,我们经常会遇到这种情况:...

2019-05-09 16:43:55

[Python 实战] - No.13 Python高级编程

Python高级编程记录一下python中几种比较高效、简洁的编程方法变量交换:在其他语言中,我们进行变量交换一般都是使用一个临时存储变量tmp,然后将a,b的变量值进行交换。但是python独有一种超级简单的变量交换的方法。a = 5b = 10print(a,b)b,a = a,bprint(a,b)'''5 1010 5'''还有几种其他的有有趣的方式进行变量...

2019-04-15 17:02:31

[Pandas 学习笔记] - No.1 pandas学习笔记

pandas学习笔记pandas是基于numpy开发出的数据分析包,用于高效地操作大型数据集。pandas的数据结构有三种 分别为 series,dataframe和panel,对应一维,二维,三维数据。 其中datafram最为常用,我们仅对dataframe进行记录。dataframe其实就是一个形似数据库中的table一样的数据结构,我们可以从列表,字典,series和numpy nda...

2019-03-16 15:00:20

[NumPy 学习笔记] - No.3 NumPy数值运算及矩阵操作

numpy学习笔记numpy是python中非常有用的一个库,我们可以使用numpy创建大型的高维数组并进行运算。这里记录一下numpy一些常用的方法。如果想仔细研究numpy的强大功能还需要翻阅NumPy API文档数组运算基本运算在numpy中,最基本的运算是加减,即对应位置元素做加减法;注意我们提到的运算是shape相同的两个变量之间的运算。# 基本运算x = np.array(...

2019-03-14 21:41:55

[NumPy 学习笔记] - No.2 NumPy数据索引

numpy学习笔记numpy是python中非常有用的一个库,我们可以使用numpy创建大型的高维数组并进行运算。这里记录一下numpy一些常用的方法。如果想仔细研究numpy的强大功能还需要翻阅NumPy API文档数组索引常见索引对数组最简单的索引就是常见的[]索引# 索引x = np.array([1, 2, 3])print ("x[0]: ", x[0]) # x[0]:...

2019-03-14 21:34:00

[NumPy 学习笔记] - No.1 使用NumPy创建数组

numpy是python中非常有用的一个库,我们可以使用numpy创建大型的高维数组并进行运算。这里记录一下numpy一些常用的方法。如果想仔细研究numpy的强大功能还需要翻阅NumPy API文档创建数组import numpy as np创建标量我们使用numpy来创建一个简单的数字# 创建一个float类型的数字x = np.array(6.0) # 稍后会解释什么叫np.a...

2019-03-14 21:29:03

[django学习记录] - No.1 使用django创建一个简单的API

Django学习记录1. 创建Django项目使用pycharm的话可以直接选择django 项目。如果想要使用命令行,可以在命令行中输入以下命令:django-admin startproject myproject其中myproject是你的项目名称。不过我们更推荐用pycharm。因为使用命令行原生的项目,需要自己手动创建一些项目,和补全一些配置文件的选项。然后你就会得到一个如下...

2019-02-28 15:33:09

[机器学习与深度学习] - No.3 机器学习中的性能度量指标

机器学习中的性能度量指标对机器学习、深度学习中的学习器的泛化性能进行评估,不仅仅需要有效可行的实验方法,还需要有衡量模型泛化能力的评价标准。这就是性能度量指标。在回归任务中,我们使用均方误差来衡量性能;在分类任务中,我们使用错误率、精度、查全率、查准率、F1度量、P-R曲线、ROC-AUC等指标来衡量模型。本文重点记录了分类任务的度量指标。我们假设在预测任务中:给定样例集合D=(x1,x1),...

2019-01-24 11:39:10

[设计模式] - No.12 Strategy模式

Strategy模式Strategy模式又称策略模式,在策略模式中,我们将特定的算法封装起来,从而实现整体地替换算法的功能,以便我们能够按照不同的算法去解决同一个问题。《图解设计模式》这本书中的,策略模式这一章提供的代码示例有些冗长,所以我参考了这篇文章,编写了一个简单的例子,用较少的代码解释什么是策略模式。假设我们有一个场景,在商场中针对不同的客户的身份,提供不同的优惠方案,最简单的一种实现...

2018-12-13 11:49:34

[设计模式] - No.11 Bridge模式

Bridge模式在学习Bridge模式的时候,一直想不通这个模式的具体应用场景,不知道为什么要使用这个模式,直到今天又重新看了一遍《图解设计模式》课后的讲解加上自己的思考,才对这个模式有了更深的理解。假设我们有这样一个场景,我们希望实现某种打印字符串的功能,这个功能在Windows,Mac和Linux上都可以使用,那么最简单的实现方案是我们实现三个类WindowsPrint,MacPrint和...

2018-12-13 11:45:37

[设计模式] - No.10 Builder模式

Builder 模式在《图解设计模式》这本书中,对Builder模式的解释是,用于组装具有复杂结构的实例的设计模式。在这里,我通过一个接地气的小例子,来描述一下Builder设计模式究竟做了什么。加入有一天,你突然想盖一栋别墅,首先你需要找一个会盖房子的建筑师,告诉他“给我盖一个别墅”,让他帮你盖这栋房子。建筑师并不会直接的盖房子,他只会指挥施工队盖房子。它会指挥调度施工队,先打好地基,然后...

2018-12-04 10:34:09

[设计模式] - No.9 Prototype模式

Prototype 模式在Java中,如果我们一般使用new XXClass()的方式获取一个实例。而Prototype提供了这样一种方式,既不通过new的方式获取实例,同时和工厂方法获取实例的方法不同。该模式使用类对应的对象来产生新的实例。在介绍Prototype模式之前,我们要首先介绍Java中的clone()和Cloneable。我们知道,在java中,所有的类都继承于一个叫Object...

2018-12-04 10:30:29

[设计模式] - No.8 Singleton模式

Singleton模式在程序运行的时候常常是使用new的方法创建一个实例。对于某一个类(例如工具类),如果我们希望在任何情况下该类只有一个实例的话,我们需要使用单例模式。单例模式是很简单又被广为使用的一个设计模式:public class Singleton { //饿汉模式 private static Singleton singleton = new Singleton...

2018-12-04 10:05:45

[设计模式] - No.7 Factory Method 模式

Factory Method 模式Factory Method模式和之前的Template Method模式有相似的地方。在Template Method中,我们在父类中使用模板方法用于定义具体的处理流程,如果我们使用这个具体方法来产生子类实例的话,这样就是Factory Method 模式。我们结合书中的示例代码来看(修改了一些)AbstractFactory.javapublic abs...

2018-12-04 10:03:32

[设计模式] - No.6 Template Method 模式

Template Method顾名思义,就是说父类在其内部定义了一些抽象函数,然后定义了一个模板方法,并在模板方法中调用了这些抽象方法。父类在模板方法中定义了某个功能处理流程的框架,而子类则实现具体的处理。这个例子非常简单,其核心的理念就是使逻辑处理通用化。我们通过书中的一个简单的例子来看一下Template Method的具体实现方法:首先,我们定义一个父类AbstarctDisplay.j...

2018-11-23 17:08:55

[设计模式] - No.5 Adapter模式

Adapter模式1. 什么是Adapter模式Adapter模式中文名称叫适配器模式,就像我们的电脑电源适配器将直流电源转换为交流电源一样,适配器模式可以将我们现有的某些已经具备相关类,转换为我们需要的类型。Adapter模式又称为Wrapper模式,相信这个名词很多做过Java Web项目的同学并不陌生。当我们从数据库中查询出来的数据虽然具备了我们需要的一些字段,但是并不能直接被某些接口使...

2018-11-23 17:06:00

[设计模式] - No.4 Iterator 模式

Iterator 模式本系列的文章主要是记录设计模式的学习过程,围绕《图解设计模式》和我自身对于设计模式的理解。在文章中出现的代码多为《图解设计模式》这本书中的代码。书中一共包含23个设计模式,这篇文章作为这个系列的第一篇文章。由于《图解设计模式》这本书内容十分简单,非常适合入门,如果对于设计模式想要进一步地研究,可以参阅一些其他书籍。Iterator模式是一种非常简单的设计模式,其设计出来的...

2018-11-23 17:03:54

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。