自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python3.5基础——面向对象与继承

1、面向对象的学习框架2、对象的基本概念3、类的基本概念4、类的定义与调用——简单代码举例注:建议类名的开头字母用大写#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiu#类class Person: i = 10 #属性(变量) def e

2017-10-02 18:40:08 604

原创 Python3.5基础——函数的定义与使用

1、函数学习框架2、函数的定义与格式(1)定义注:函数名称不能以数字开头,建议函数名称的开头用小写的字母(2)函数有四种格式,分别是:无参数无返回值,有参数无返回值、无参数有返回值、有参数有返回值#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiu# 无参数无返回值def h

2017-10-02 10:08:53 5272

原创 Python3.5基础——变量、数据结构、条件和循环语句、break与continue语句

1、变量:即一个容器概念Python中的变量时一个弱类型,不需要声明,可以直接使用。通过变量设置的值,编译器根据这个值确定变量的类型。2、运算符#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiuprint(2**3) #幂指数print(5%3) #取模print(10

2017-10-01 09:41:18 617

原创 Python3.5——内置模块详解之shelve模块、xml模块、configparser模块、hashlib、hmac模块

1、shelve模块shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实例保存到shelve中,下次需要用的时候直接取出来,就是一个Python内存对象,不需要像传统数据库一样,先取出数据,然后用这些数据重新构造一遍所需要的对象。#!/usr/bin

2017-09-29 17:42:05 451

转载 视觉直观感受 7 种常用的排序算法

1. 快速排序介绍:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时

2017-09-29 15:05:56 220

转载 八大排序算法

概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。        当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。   快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字

2017-09-29 15:03:09 262

转载 贪心算法详解

有人说贪心算法是最简单的算法,原因很简单:你我其实都很贪,根本不用学就知道怎么贪。有人说贪心算法是最复杂的算法,原因也很简单:这世上会贪的人太多了,那轮到你我的份?                                                                  贪心算法详解        贪心算法思想:顾

2017-09-29 11:04:32 437

原创 Python3.5——内置模块详解之os模块、sys模块、shutil模块

1、os模块:提供对操作系统进行调用的接口

2017-09-28 20:57:53 4003 1

原创 Python3.5——内置模块详解之random模块

1、random模块基础的方法#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiuimport randomprint(random.random()) #随机产生[0,1)之间的浮点值print(random.randint(1,6)) #随机生成指定范围[a,b]的整数

2017-09-28 20:21:00 4349 1

原创 Python3.5——内置模块详解之time与datetime模块

1、模块的分类a、标准库(Python自带):sys、os模块b、开源模块(第三方模块)c、自定义模块2、内建模块——time和datatime在Python中通常用以下几种方式来表示时间:a、时间戳:从1970年1月1日开始到当下的时间的秒数,导入time模块(import time),调用time.time()方法即可。b、格式化的时间字符串。c、元组(stru

2017-09-28 14:42:36 1608

原创 Python3.5——模块定义、导入、优化详解

1、模块体系大纲2、模块的定义本质:是一个.py格式的Python文件。文件名test.py,对应的模块名为:test。用来从逻辑上组织Python代码(变量、函数、类、逻辑),实现一个功能。3、模块的导入方法举例:

2017-09-26 17:07:01 665

原创 Python3.5——软件目录结构规范

1、"设计项目目录结构"的原因:(1)可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。(2)可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。2、

2017-09-26 11:25:59 6732

原创 Python3.5——Json与pickle数据序列化

1、Json:不同语言之间进行数据交互。(1)JSON数据序列化:dumps()JSON数据是一种轻量级的数据交换格式,序列化:将内存数据对象变成字符串。#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiuimport jsoninfo = { "name":"liu", "age"

2017-09-26 09:56:21 535

原创 Python3.5——内置方法参数详解

Python的内置方法参数详解网站为:https://docs.python.org/3/library/functions.html?highlight=built#ascii1、abs(x):返回一个数字的绝对值。参数可以是整数或浮点数。如果参数是一个复数,则返回它的大小。#内置函数abs()print(abs(-2))print(abs(4.5))print(abs(0.1+7

2017-09-25 17:11:11 1004

原创 Python3.5——迭代器与生成器(下)

1、迭代器我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如列表list、元组tuple、字典dict、集合set、字符串str等;另一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterab

2017-09-23 22:23:22 451

原创 Python3.5——迭代器与生成器(上)

1、列表生成式通过列表生成式可以直接创建一个列表。代码:a = [i*2 for i in range(10)]#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiu#列表生成式a = [i*2 for i in range(10)]print(a)#运行结果:#[0, 2, 4, 6, 8, 1

2017-09-23 19:56:20 407

原创 机器学习——非监督学习——层次聚类(Hierarchical clustering)

1、层次聚类(Hierarchical clustering)的步骤假设有N个待聚类的样本,对于层次聚类来说,其步骤为:(1)初始化:把每个样本各自归为一类(每个样本自成一类),计算每两个类之间的距离,在这里也就是样本与样本之间的相似度(本质还是计算类与类之间的距离)。(2)寻找各个类之间最近的两个类,把它们归为一类(这样,类的总数就减少了一个)(3)重新计算新生成的这个类与各个旧

2017-09-21 21:35:11 15844 1

原创 机器学习——聚类(clustering):K-means算法(非监督学习)

1、归类聚类(clustering):属于非监督学习(unsupervised learning),是无类别标记(class label)2、举例3、K-means算法(1)K-means算法是聚类(clustering)中的经典算法,数据挖掘的十大经典算法之一(2)算法接收参数K,然后将事先输入的n个数据划分为K个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较

2017-09-21 15:38:28 9744

原创 机器学习——回归中的相关度与R平方值及其应用

1、皮尔逊相关系数(Pearson Correlation Coeffident)(1)衡量两个值线性相关的强度(2)取值范围[-1,1]:正向相关>0;负向相关(3)公式:

2017-09-20 17:20:48 9247

原创 机器学习——非线性回归( Logistic Regression)及应用

1、概率(1)定义:概率(Probability):对一件事情发生的可能性的衡量。(2)取值范围:0(3)计算方法:根据个人置信、根据历史数据、根据模拟数据(4)条件概率:在事件B已经发生的情况下,事件A发生的概率等于事件A、B同时发生的概率除以B事件发生的概率。2、逻辑回归(Logistic Regression)(1)例子:h(x)>0.5(恶性),Ma

2017-09-18 22:03:28 21627 1

原创 机器学习——BP神经网络算法应用(下)

1、BP神经网络算法应用——简单非线性数据集测试(异或:XOR)将BP神经网络算法应用(上)写好的NeuralNetwork.py文件与要测试的文件XOC_test.py文件放到同一目录下,并在XOC_test.py文件里面包含NeuralNetwork模块代码如下:#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:

2017-09-18 16:08:12 2583

原创 机器学习——BP神经网络算法应用(上)

1、关于非线性转化方程(non-linear transformation function)sigmoid函数(S曲线)用来作为activation function(1)双曲函数(tanh function)(2)逻辑函数(logistic function)sigmoid函数是一个S型函数,其数学公式为:,它是常微分方程

2017-09-17 17:04:44 2379

原创 机器学习——多元线性回归分析(multiple regression)及应用

1、多元回归分析与简单线性回归区别多个自变量x2、多元回归模型,其中,是参数,是误差值3、多元回归方程4、估计多元回归方程,一个样本被用来计算的点估计5、估计流程(与简单线性回归类似)6、估计方法使sum of squares最小,,运算与简单线性回归类似,涉及线性代数和矩阵代数的运算7、举例一家快递公司送货,X1:运输里程;X2:运输次数;

2017-09-16 21:03:09 23603 2

原创 机器学习——简单线性回归(下)

1、简单线性回归模型举例:汽车卖家做电视广告数量与卖出汽车数量:(1)对于上面示例中给定的点,如何连出适合简单线性回归模型的最佳线性回归线?将上述实例中的5个点在坐标系中绘出,目的:找到一个方程可以模拟出最好的回归线;最好的回归线是最能够体现实例点的分布趋势的直线。量化是最好的回归线的数学方法是:,即:使得对于每个实例点的真实值与估计值只差的平方和最小的回归线。注:是给出的

2017-09-13 19:28:17 512

原创 机器学习——简单线性回归(上)

1、前提介绍为什么需要统计量?——统计量:描述数据特征(1)集中趋势衡量a:均值(平均数、平均值)(mean),公式如下:举例:{6,2,9,1,2} 均值为:(6+2+9+1+2)/ 5 = 4b、中位数(median):将数据中的各个值按照大小顺序排列,居于中间位置的变量。举例:{6,2,9,1,2}给上上面的数排序:1,2,2,6,9找出中间位置的数:

2017-09-13 19:23:18 907

原创 机器学习——BP神经网络算法

1、背景以人脑中的神经网络为启发,历史上出现过很多不同的版本,最著名的算法是1980年的backpropagation2、多层向前神经网络(Multilayer Feed-Forward Neural Network)backpropagation被使用在多层向前神经网络上,多层向前神经网络由一下几部分组成:输入层(input layer)、隐藏层(hidden layers)、输

2017-09-12 22:52:43 9625

原创 机器学习——最邻近规则分类(K Nearest Neighbor)KNN算法的应用

1、数据集介绍——虹膜(一种花的名字)    150个实例:包含4个维度的特征值:萼片长度(sepal length)、萼片宽度(sepal width)、花瓣长度(petal length)、花瓣宽度(petal width)3种类别:Iris setosa、Iris versicolor、Iris virginica总结:这个虹膜的数据集——Iris数据集有150行,每行有4个

2017-09-12 19:36:55 760

原创 机器学习——最邻近规则分类(K Nearest Neighbor)KNN算法

1、简介(1)Cover和Hart在1968年提出最初的临近算法(2)邻近算法属于分类(classification)算法(3)输入基于实例的学习(instance-based learing),懒惰学习(lazy learing)——处理训练集时并没有建造任何的模型,当对一个未知的实例进行归类时才进行归类2、举例如何将电影的例子模拟成一个广泛的模型?对于每一个电影模拟

2017-09-12 16:36:47 12808 1

原创 机器学习——决策树算法的应用

对于买电脑的示例,在Python数据包sk-learn中利用决策树算法实现数据分类,并画出决策树的结构1、准备工作(1)安装Graphviz,并配置好环境变量,我的环境变量配置为:D:\Program Files\graphviz-2.38\release\bin,转化dot文件至pdf可视化决策树:dot _Tpdf inis.dot -o(2)将数据存储到文件后缀为.c

2017-09-12 11:10:15 1187

转载 Python 2.7.x 和 3.x 版本的重要区别

网址:http://www.techug.com/post/the-difference-of-python2-and-python3.html许多Python初学者都会问:我应该学习哪个版本的Python。对于这个问题,我的回答通常是“先选择一个最适合你的Python教程,教程中使用哪个版本的Python,你就用那个版本。等学得差不多了,再来研究不同版本之间的差别”。但如果想要用

2017-09-11 22:14:39 335

原创 机器学习——决策树算法

1、机器学习中分类和预测算法的评估(1)准确率(2)速度(算法复杂度)(3)强壮性(数据有噪音或关键值确实情况下的表现)(4)可规模性(5)可解释性2、决策树(decision tree)/判定树的定义决策树是一个类似流程框图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。决策树是机器学

2017-09-10 22:24:16 821

转载 Python的日志logging模块详解

简单将日志打印到屏幕:[python] view plain copyimport logging  logging.debug('debug message')  logging.info('info message')  logging.warning('warning message')  logging.error('erro

2017-09-10 11:28:41 439

原创 机器学习——支持向量机SVM(Support Vector Machine)(下)

1、SVM算法特征(1)训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定。所以,SVM不太容易产生overfitting。(2)SVM训练出来的模型完全依赖于支持向量(Support Vectors),即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型。(3)一个SVM如果训练得出的支持向量个数比较小,SVM训练出的模型比较容易

2017-09-09 12:38:15 1757

原创 Python3.5——装饰器及应用详解(下)

1、装饰器应用——模拟网站登录页面,访问需要认证登录页面#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiu#模拟网站,访问页面和部分需要登录的页面import timeruser,passwd = "liu","liu123"def auth(func): def wrapper(*arg

2017-09-07 21:06:25 501

原创 Python3.5——装饰器之案例剖析

#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiu#高阶函数+嵌套函数==>装饰器import timedef timer(func): #timer(test1)-->func=test1 def decor(): start_time = time.time()

2017-09-07 10:55:47 382

原创 Python3.5——装饰器及应用详解(上)

1、装饰器:(1)本质:装饰器的本质是函数,其基本语法都是用关键字def去定义的。(2)功能:装饰其他函数,即:为其他函数添加附加功能。(3)原则:不能修改被装饰的函数的源代码,不能修改被装饰的函数的调用方式。即:装饰器对待被修饰的函数是完全透明的。(4)简单应用:统计函数运行时间的装饰器import time#统计函数运行时间的砖装饰器def timmer(func):

2017-09-05 21:15:48 4056

原创 Python3.5——递归

1、递归的定义:在函数内部可以调用其他函数,如果在一个函数内部调用其本身,这个函数就是递归函数。2、递归的特性:(1)必须有一个明确的结束条件。(最大的递归层数:999层)(2)每次进入更深一层递归时,问题规模相比上次递归都应有所减少。(3)递归的效率不高,递归层数过多会导致栈溢出。(在计算机中,函数调用是通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧;每

2017-09-05 11:11:56 485

转载 内存堆和栈的区别

原文: http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为

2017-09-05 10:38:29 357

原创 Python3.5——局部变量与全局变量作用域

1、局部变量与全局变量定义:在子程序(函数)中定义的变量称为:局部变量;在程序顶级(一开始)定义的变量称为:全局变量。2、局部变量与全局变量作用域:局部变量作用域:定义该变量的子程序;全局变量作用域:整个程序。当局部变量与全局变量同名时,在定义局部变量的子程序内局部变量其作用;其他地方全局变量起作用。#!/usr/bin/env python# -*- coding:utf-

2017-09-05 10:09:25 7288

原创 Python3.5——函数式编程之参数详解

1、函数返回值(1)return命令执行效果:结束当前函数运行,后边再写别的内容也不会运行。返回值的接收直接赋值给一个变量,即:变量接收函数体中return定义返回值结果。#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiudef test1(): print("testing 1")

2017-09-03 22:28:54 562

机器学习——数据不均衡及解决方案

数据不均衡及解决方案--上采样、下采样及数据合成的Python代码

2018-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除