
Python
文章平均质量分 73
随心1993
马尔克斯
昆德拉
海明威
展开
-
朴素贝叶斯分类原理及Python实现简单文本分类
贝叶斯定理: 这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。这里先解释什么是条件概率:表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。原创 2017-05-28 15:21:37 · 12124 阅读 · 3 评论 -
数据结构--python实现链表结构
在c++中,我们以指针的形式直接访问数据的地址,在这些较为现代的预言中,单链表结构中的一个节点,包含了一个数据项和指针值。一个特殊的空值(或nil),表示指针值是一个空链接。我们并不使用数组来构建不连续的内存,而是直接向计算机请求一个指针指向一个新的节点,这个节点来自于名为对象堆的一个内建的不连续内存区域。然后,我们在该节点中设置了指向另一个节点的指针,由此建立了到结构中的其他数据的一个链接。然而...原创 2018-07-02 19:03:01 · 8369 阅读 · 2 评论 -
python中的下划线"_"讲解
python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下。1, 单下划线 "_""_"原创 2018-07-28 16:31:30 · 7925 阅读 · 0 评论 -
python--闭包与装饰器简介
不管是闭包函数还是装饰器,都是基于函数的。我们知道,函数名其实就是指向一段内存空间的地址,既然是地址,那么我们可以利用这种特性。满足以下三点中的两点即称为高级函数:1,函数名可以作为一个值 函数名可以作为一个值即可以将一个函数名赋值给一个变量,此时该变量拥有和函数同样的功能,如下所示:In: abs(-1)Out: 1In: a = absIn: a(-1)Out: 1...转载 2018-07-28 18:17:24 · 286 阅读 · 0 评论 -
python直接赋值、浅拷贝与深拷贝的区别解析
直接赋值:其实就是对象的引用(别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。实例解析 a = {1: [1,2,3]} 1. b = a: 赋值引用,a 和 b 都指向同一个对象,如下图: 2. b = a.copy(): 浅拷贝, a 和 b 是一个独...原创 2018-07-28 18:44:21 · 5753 阅读 · 3 评论 -
python中列表list的常用操作
列表是python中最常用的数据结构之一,非常好用,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型,接下来简单的介绍一下python中列表这种数据类型的常用操作# -*- coding: utf-8 -*-"""pythonCreated on Sat Aug 18 20:37:43 2018@author: aoanng"""## 创建列表# 创...原创 2018-08-19 00:30:55 · 1499 阅读 · 0 评论 -
python中内置高阶函数map,reduce,filter以及sorted简介
1,map()与reduce()map()函数接收两个参数,一个是函数,一个是Iterabled对象,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。例子如下:a = list(map(int, '1234568'))print(a)#[1, 2, 3, 4, 5, 6, 8]reduce()把一个函数作用在一个序列[x1, x2, x3, …...原创 2018-08-19 01:39:26 · 323 阅读 · 0 评论 -
python中字符串常用操作
字符串是 Python 中最常用的数据类型。我们可以分别使用单引号'和双引号 ''来创建字符串。 字符串一旦创立之后,即不可更改,和python中的元组数据类型一样。 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。# -*- coding: utf-8 -*-"""Created on Sun Aug 19 01:00:51 2018@...原创 2018-08-19 03:36:02 · 536 阅读 · 0 评论 -
python实现随机森林
定义:随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。可回归可分类。 所以随机森林是基于多颗决策树的一种集成学习算法,常见的决策树算法主要有以下几种: 1. ID3:使用信息增益g(D,A)进行特征选择 2. C4.5:信息增益率 =g(D,A)/H(A) 3. CART:基尼系数 一个特征的信息增益(或信息增益率,或基尼系数)越大,表明特征对样本的熵的减少能力更...原创 2018-08-26 18:10:59 · 118943 阅读 · 34 评论 -
tensorflow实现一个简单的卷积神经网络实现手写数字识别
Tensorflow是一个采用数据流图(data flow graphs)用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。如下图: 借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU、GPU、TPU)和设备(桌面设备、服务器集群、移动设备、边缘设备等)。TensorFlow™ 最...原创 2018-08-27 00:16:31 · 1950 阅读 · 0 评论 -
python实现ID3决策树分类算法
所有的分类与回归算法中心思想大致是一样的,那就是根据现有带标签的数据集训练一个分类器模型,然后对待未知的样本,根据训练好的分类模型来判定它属于哪个类。分类与回归的区别在我看来就是标签连续与否的区别,若标签连续,则是回归,若标签离散,则是分类。数据集中的每个样本的特征都是相同维度的,生活中我们常遇到的是根据某个样本少量的特征就可以确定这个样本属于哪个类,比如可以根据一个人的长相、身高、文凭、收入...原创 2018-08-25 22:31:49 · 34089 阅读 · 21 评论 -
python中字典(dictionary)数据类型常用操作
创建字典字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1, key2 : value2 }键必须是唯一的,但值则不必。 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 一个简单的字典...转载 2018-09-09 17:22:25 · 37347 阅读 · 0 评论 -
python自省机制
什么是自省?在日常生活中,自省(introspection)是一种自我检查行为。自省是指对某人自身思想、情绪、动机和行为的检查。伟大的哲学家苏格拉底将生命中的大部分时间用于自我检查,并鼓励他的雅典朋友们也这样做。他甚至对自己作出了这样的要求:“未经自省的生命不值得存在。”无独有偶,在中国《论语》中,也有这样的名言:“吾日三省吾身”。显然,自省对个人成长多么重要呀。在计算机编程中,自省是指这...转载 2018-06-25 20:45:05 · 2195 阅读 · 0 评论 -
常见排序算法(附python代码)
1. 选择排序从待排序的数据元素(列表)中选出最小(或最大)的一个元素,存放在序列的起始位置,然后算法回到下一个位置重复这个过程,直到全部待排序的数据元素排完。def selectionSort(lyst): i = 0 while i < len(lyst) - 1: minIndex = i j = i+1 #...原创 2018-06-20 23:28:48 · 451 阅读 · 0 评论 -
CMC曲线(python代码实现)
在看人脸识别相关的paper时,常会遇到有的文献除了ROC曲线外,也会将CMC曲线作为他们的实验性能指标。那么,怎么理解CMC曲线呢?我在网上查阅了一些资料,为了方便理解,举例如下:假如我们训练好了一个3分类的模型,分别为类别c1,c2,c3。每个样本输入模型后会得到对应的3个匹配分数,匹配分数最高的那个类别即是预测的类别数。针对单样本: 现在我们手头仅有一个属于类别c1的样本,我们将...原创 2018-05-26 18:15:21 · 5448 阅读 · 4 评论 -
kNN分类原理以及python实现手写数字分类
kNN算法分类原理K最近邻(kNN,k-Nearest Neighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本原创 2017-05-29 17:38:50 · 2171 阅读 · 0 评论 -
Ubuntu16.04下安装Anaconda,tensorflow以及解决spyder中无法import tensorflow问题
第一步:下载anaconda 到Anaconda官网下载对应的linux anaconda版本。 我这里下载的是此刻的最新版本:Anaconda 4.4.0 for Linux,Python 3.6版本 第二步:安装anaconda 打开终端,cd 到anaconda的下载目录,按照上图左边提示的安装命令即可成功安装。即:bash Anaconda3-4.4.0-Linux-x86_64.sh原创 2017-06-27 21:33:11 · 15944 阅读 · 2 评论 -
Python中import, from...import,import...as的区别
在python中import或者from…import是用来导入相应的模块。举个例子:import datetimeprint(datetime.datetime.now())以上代码实现输出系统当前时间,是引入整个datetime包,然后再调用datetime这个类中的now()方法。以上代码实现功能也可以用以下代码实现:from datetime import datetimeprint(d原创 2017-07-26 10:01:51 · 43243 阅读 · 11 评论 -
使用tensorflow利用神经网络分类识别MNIST手写数字数据集
下载MNIST数据集 当我们开始学习编程的时候,第一件事往往是学习打印”Hello World”。就好比编程入门有Hello World,机器学习入门有MNIST。 MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片: 每张图片大小为28*28,展开成一维行向量就是784维,即每张图片就是784维空间中的一个点。 tensorflow提供一个input_data.py文件,原创 2017-07-26 16:41:38 · 6535 阅读 · 0 评论 -
matlab中 @文件夹名/+文件夹名 的含义
matlab中带“+”和“@”字符命名的文件夹是matlab中的一种文件包, 比如:+folder/Tata.m ,matlab就知道这是一个Tata类文件夹;如果你按照普通的命名方式,比如:someOtherFolder/Tata.m ,或者someOtherFolder/@Tata/Tata.m ,这样matlab只能知道这是一个Tata.m文件。 如果你要用classdef定义一些类,用@转载 2017-11-07 22:48:31 · 7168 阅读 · 0 评论 -
.tsv以及.csv格式文件
机器学习中,我们在使用一些经典的分类器对数据进行分类时,需要对数据进行一些必要的预处理。或者我们在使用别人提供的数据使用一些经典的机器学习算法进行学习时,一般常见的数据格式会是.tsv和.csv格式,那么这两种格式究竟是什么以及他们之间有什么区别呢?下面简单的介绍一下:TSV:tab separated values;即“制表符分隔值”,如:name age张三 20...原创 2018-03-11 20:16:05 · 30911 阅读 · 1 评论 -
python的模块查找路径
python中每一个 .py文件即为一个模块,当我们想使用第三方模块时,首先则是使用import将模块导入进来,但是import会在哪些路径里寻找模块呢,接下来总结一下: 简单的说我们可以使用一下代码查看模块所在路径:import sysprint(sys.path)返回的结果是一个列表,该列表中列出了寻找模块时的路径,列表中的内容基本上来自以下几个来源:当前文件夹路径PY...原创 2018-03-23 20:24:22 · 5740 阅读 · 0 评论 -
python中内置os模块总结
os模块在python中属于内置模块,即不需要额外安装。os模块提供了非常丰富的方法来处理文件和目录。我这里仅仅是列举其中常用的一些方法以供自己以后方便查阅。 使用os模块之前,先导入它,即:In: import os输出当前正在使用的平台In: os.nameOut: 'nt'#若是Windows则输出'nt',若是Linux/Unix,则是'posix'...原创 2018-05-01 22:11:51 · 9746 阅读 · 0 评论 -
如何使用pip安装特定版本的python第三方包
python的包管理器pip特别好用,我们可以使用它来方便的安装第三方包,但是怎样使用pip来安装特定版本的第三方包呢?安装好python后,包管理器pip就已经安装好了,在windows控制台cmd中输入pip就可以查阅到pip一些常用用法,如:pip install package#这里package即为第三方包的名称,如tensorflow,使用这种安装方式会安装最新版本的包...原创 2018-05-03 16:28:45 · 37312 阅读 · 0 评论 -
python中匿名函数lambda使用
在高阶函数中,会传入函数作为变量,有些时候,不需要显示地定义函数,直接传入匿名函数更方便。 下面简单的讲解python中匿名函数的使用方法:如我们要计算f(x)=x2f(x)=x2f(x)=x^2时,匿名函数为:In: a = lambda x: x * xIn: a(4)Out: 16通过对比可以看出,匿名函数lambda x: x * x实际上就是:def f(x...原创 2018-05-07 10:59:39 · 658 阅读 · 0 评论 -
python函数参数总结
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。Python中的函数定义虽然简单,但是灵活度却很大,这里来总结一下。python中函数传递的方式大致有以下四种方式:**位置参数(必选参数)****默认参数****可变参数...原创 2018-05-14 22:24:54 · 440 阅读 · 0 评论 -
python中argparse模块简介
Python解析命令行读取参数 – argparse模块前言:在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。argparse模块:argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optp...原创 2018-11-14 00:00:18 · 1090 阅读 · 0 评论