Python
文章平均质量分 55
君只见独不见
这个作者很懒,什么都没留下…
展开
-
python笔记-排序函数
sort()sorted()numpy.sort()numpy.argsort()numpy.linalg.eig()原创 2019-12-26 16:19:19 · 524 阅读 · 0 评论 -
小试牛刀Matplotlib
1、plt.subplot()import matplotlib.pyplot as plt# Integer subplot specification must be a three digit number# 前两位代表横竖长度比# 左边的代表横,中间的代标纵坐标,右边的则表示绘图位置(当横纵比不是1:1时)ax1, ax2, ax3 = plt.subplot(231), plt...原创 2018-04-05 12:46:16 · 1710 阅读 · 0 评论 -
《机器学习实战》chapter05 Logistic回归
(1)收集数据:任意方法(2)准备数据:由于需要计算距离,因此要求数据类型为数值型,结构化数据格式则最佳(3)分析数据:任意方法(4)训练算法:大部分时间将用于训练,训练的目的是为了找到最佳的分类回归系数(5)测试算法:一旦训练完成,分类将会很快Logistic回归优点:计算代价不高,易于理解和实现缺点:容易欠拟合,分类精度可能不高适用数据类型:数值型和标称型对于回归函数的选择,我们想要的是能接受...原创 2018-04-17 22:50:50 · 297 阅读 · 0 评论 -
《机器学习实战》chapter03 决策树
分类生成决策树import operatorfrom math import logimport pickle# 计算香农熵def calcShannonEnt(dataSet): """1、计算每个类别的频数""" numEntries = len(dataSet) # 类别字典,保存不同类别的频数 labelCounts = {} for f...原创 2018-04-05 22:20:34 · 250 阅读 · 0 评论 -
《机器学习实战》chapter04 使用Python进行文本分类
一、使用朴素贝叶斯过滤垃圾邮件使用朴素贝叶斯计算每一封邮件是垃圾邮件的概率p1和非垃圾邮件的概率p0,如果p1 > p0,则是垃圾邮件,否则不是。首先,我们先介绍一个例子:对于任意一条评论是否带有侮辱性质?我们通常看这个评论中是否包含侮辱性词汇,对于人来说,侮辱性词汇我们一眼就能够看出来,可是计算机并不理解什么是侮辱性,而我们又不能直接告诉计算机哪些词是侮辱性的,因为我们也列举不全,我们应该...原创 2018-04-12 22:56:08 · 1310 阅读 · 0 评论 -
《机器学习实战》chapter06 支持向量机
转载请注明作者和出处:http://blog.csdn.net/c406495762机器学习知乎专栏: https://zhuanlan.zhihu.com/ml-jackCSDN博客专栏: http://blog.csdn.net/column/details/16415.htmlGithub代码获取: https://github.com/Jack-Cherish/Machine-Learni...转载 2018-04-25 16:07:12 · 339 阅读 · 0 评论 -
《机器学习实战》chapter 11 使用apriori算法进行关联分析
使用apriori算法进行关联分析apriori原理:1、一个项集是非频繁的,那么它的所有超集也是非频繁的2、一个项集是频繁的,那么它的所有子集也是频繁的一、支持度(support)-使用apriori发现频繁项集对于数据集(包含M个项集)1、求单个元素组成项集的集合C1(无重复)2、利用minsupport(最小支持度或非频繁)过滤掉非频繁的单元素项集,得L13、单个元素两两组合成2元素的项集的...原创 2018-05-12 11:22:08 · 620 阅读 · 1 评论 -
《机器学习实战》chapter 07利用AdaBoosting元算法提高分类性能
第一部分:集成方法介绍集成方法通过组合多个分类器的分类结果,获得了比简单分类器更好的分类结果1、bagging,通过随机抽样的替换方式,得到了与原始数据集规模一样的数据集。 在S个数据集建好以后,将某个学习算法分别作用于每个数据集就得到了S个分类器。当我们对新数据进行分类时,就可以应用这S个分类器进行分类。与此同时,选择分类投票结果中最多的类别作为最后的分类结果。2、boosting,在ba...原创 2018-04-28 22:32:21 · 421 阅读 · 1 评论 -
Python中的向量、矩阵(numpy)
1、向量、矩阵表示:numpy的向量表示是通过array数组来实现的一维向量(行、列):在numpy中一维向量用一位数组array([1, 1, 1])表示,既能表示行向量也能表示列向量,一维向量转置后还是原来的样子(因为存储结构是数组)from numpy import *v1 = array([0, 0, 0])v1t = v1.transpose()print(v1...原创 2018-07-23 14:51:50 · 41608 阅读 · 2 评论 -
Ubuntu 18.04 + Anaconda 5.2 + Pycharm
Anaconda安装step1:Anaconda下载:下载链接:https://www.continuum.io/downloads#linuxAnaconda和Python版本是对应的,所以需要选择安装对应Python2.7版本的还是Python3.6版本的,根据自己的需要下载合适的安装包。如果ubuntu系统是64bit,记得下载64bit的:step2:Anacond...原创 2018-07-21 17:10:55 · 3070 阅读 · 0 评论 -
Ubuntu 18.04下的Python和OpenCV的安装
最近在做深度学习和计算机视觉的有关内容,因此要在python中用到opencv。我的电脑装的是Ubuntu 18.04,python 3.6和OpenCV 3.4.2 。按照官网的安装方法出了个问题,找不到 cv2 module。因此把自己安装成功的过程和大家分享一下:1. 首先更新相关的package:sudo apt-get updatesudo apt-get install...原创 2018-08-06 12:47:50 · 5344 阅读 · 2 评论 -
在服务器搭建深度学习环境随笔
1、查看CUDA版本nvcc -V2、conda的使用创建envs#空环境conda create --name myenv#设置python版本conda create -n myenv python=3.6进入envssource activate myenv退出envssource deactivate安装packagespip in...原创 2018-10-11 14:33:41 · 764 阅读 · 0 评论 -
Miniconda3及pip换源(conda清华源关闭)
Miniconda3及pip换源一、更换miniconda3的源,以清华的源为例:清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/安装完miniconda3之后,执行下列命令即可conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anac...原创 2019-01-10 14:01:52 · 6813 阅读 · 1 评论 -
图像分割中mask的保存
在图像分割中,最后的输出结果mask结果是一个N x W x H的tensor,其中N表示有多少个类别,W是图像的宽度,H是图像的高度,每一个W x H都是一个二值矩阵第一步,转成numpy中的array第二步,N x W x H --> 1 x W x H(W x H),原理就是,对图像中的每一个像素,判断它在哪一类中的得分最高,然后把像素值置为得分最高类的序号。第三步,转成Im...原创 2019-06-22 20:17:06 · 5601 阅读 · 2 评论 -
Python中的遇到的错误(持续更新)
1、TypeError: 'dict_keys' object does not support indexing机器学习实战第三章决策树中遇到的,主要是Python的版本问题,下面这段是Python2的写法:firstStr = myTree.keys()[0] Python3:先转换成listfirstStr = list(myTree.keys(...原创 2018-04-04 15:54:58 · 2788 阅读 · 0 评论 -
Matplotlib图例中文乱码
环境:win10 + Python3.6(anaconda) + IDE(Pycharm)问题:在使用matplotlib绘制图表时中文字符出现乱码(已作配置, 出错截图就不展示了)解决办法:一、在Python文件中使用matplotlib绘图时加入以下两行(import matplotlib.pyplot as plt)plt.rcParams['font.sans-serif'...原创 2018-04-04 11:30:41 · 6535 阅读 · 1 评论 -
《Head First Python》第二章--共享你的代码
Python术语:使用“三重引号字符串”可以在代码中加入一个多行注释。PyPI,就是Python包索引,(Python Package Index),这个网站很值得访问Python内存中的名字就存在命名空间中。Python的主命名空间为__main__,(前后都是两个下划线)BULLET POTNTS模块是一个包含Python代码的文本文件发布工具允许将模块转化为可共享的包setup.py程序提供...原创 2018-03-17 22:18:29 · 271 阅读 · 0 评论 -
《Head First Python》第三章--文件与异常
Python 术语:“异常”(exception)因运行时错误而出现,会产生一个traceback。“traceback”是出现错误时的一个详细描述。BULLET POINTS:使用open()BIF打开一个磁盘文件,创建一个迭代器从文件读取数据,一次读取一个数据行。readline()方法从一个打开的文件读取一行数据。seek()方法可以用来将文件“退回”到起始位置。close()方法关闭一个之...原创 2018-03-18 21:01:35 · 251 阅读 · 0 评论 -
关于异常捕获和Checked Exception
最近在看Python,一个让我疑惑的地方,怎样确定Python的哪个库什么时候应该捕获哪种异常?用java习惯了之后,深深感动于java中Checked Exception的友好。 下面是在别的地方看到的一篇文章,虽然依然没能解决我遇到的问题,但出于对作者言论的认同,私自转载了这篇文章。Kotlin 和 Checked Exception最近 JetBrains 的 Kotlin 语...转载 2018-03-22 16:56:04 · 1852 阅读 · 0 评论 -
《Head First Python》第四章--持久存储
读文件man = []other = []try: data = open('sketch.txt') for each_line in data: try: (role, line_spoken) = each_line.split(':', 1) # 删除line_spoken中不需要的空白符 ...原创 2018-03-19 11:25:24 · 312 阅读 · 0 评论 -
LeetCode第一刷--leetcode提交格式介绍与273. Integer to English Words
第一次玩Leetcode,对代码提交格式不了解,提交了一上午,略尴尬leetcode确实有很多有意思的地方,不像以前做各个高校ACM练习,leetcode会给出错误信息(哪个数据的错了),也会提供测试用例自定义窗口,你可以自己设置测试样例对于输出结果会有个比较窗口,出现你的程序和源程序结果比对,帮你快速定位错误原因此外,leetcode只需要你写核心代码部分,读取输入函数,函数...原创 2018-03-23 13:37:29 · 15462 阅读 · 0 评论 -
聊一聊Python的变量类型判断type和isinstance
正常情况下不应该编写代码检查类型的,而应该直接假设被操作的instance具有你希望的属性,否则抛出异常。class Parrot: def fly(self): print("Parrot flying")class Airplane: def fly(self): print("Airplane flying")class Whale:...原创 2018-03-23 14:17:13 · 828 阅读 · 0 评论 -
Python获取控制台输入
Python获取控制台输入有两种方式:input()和raw_inputPython3之后raw_input()已经被删除了。Python2中有input和raw_input两个函数,其中raw_input将所有输入作为字符串看待,返回字符串类型。input函数支持表达式、数字类型、字符串类型,接受为表达式时,只返回其执行结果。在Python3中对input和raw_input函数进行了整合,仅保...原创 2018-03-23 15:38:09 · 13001 阅读 · 0 评论 -
《Head First Python》第五章--理解数据
先给个数据链接:Head First Python 数据集第五章的问题是帮助Kelly教练获得每个运动员跑得最快的三个时间数据集:首先,数据杂乱无章先进行初步处理按逗号分隔;把冒号、‘-’都换成‘.’,统一数据格式;排序# 时间格式化函数def sanitize(time_string): if '-' in time_string: splitter = '-' ...原创 2018-03-19 22:06:04 · 392 阅读 · 0 评论 -
Python中的eval--字符串解析
以前在C语言中常用占位符,来实现字符串解析,当然Python中也有这种用法:a = 10print("%s + 1" % a) 运行结果:10 + 1但是占位符只能做替换,其实跟字符串拼接没有什么区别,在替换变量少时比拼接更麻烦,所以现在用的比较少了,更多的时候是在数据库查询和需要替换变量个数较多时。这里我们要介绍一个更加强大的函数,不仅可以完成替换,还可以还可以把字符串转变成一个表达式进...原创 2018-03-23 16:27:33 · 4975 阅读 · 1 评论 -
《Head First Python》第六章--定制数据对象
先上数据集:Head First Python 数据集第六章的数据在第五章的基础上加了两个属性:姓名和出生日期james2.txtJames Lee,2002-3-14,2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22,2-01,2.01,2:16 上一章的思路依然没有问题,还是按照逗号拆分成列表,不过需要多出两个变量来保存姓名和出生日期。如果对每个运...原创 2018-03-20 19:59:18 · 299 阅读 · 0 评论 -
Python把数据存储到CSV
CSV(Comma-Separated Values,逗号分隔值)是存储表格数据的常用文件格式。MicrosoftExcel 和很多应用都支持 CSV 格式,因为它很简洁。例如:fruit,costapple,1.00banana,0.30pear,1.25和 Python 一样,CSV 里留白(whitespace)也是很重要的:每一行都用一个换行符分隔,列与列之间用逗号分隔(因此也叫“逗号分隔...原创 2018-03-26 22:24:10 · 7791 阅读 · 0 评论 -
《Python 网络数据采集》正则表达式
如果你用过 Python 2.x 里的 urllib2 库,可能会发现 urllib2 与 urllib 有些不同。在 Python 3.x 里,urllib2改名为 urllib,被分成一些子模块: urllib.request 、urllib.parse 和 urllib.error 。尽管函数名称大多和原来一样,但是在用新的 urllib 库时需要注意哪些函数被移动到子模块里了。 u...原创 2018-03-21 22:39:26 · 493 阅读 · 0 评论 -
Python中的三引号的用法
python中三引号可以将复杂的字符串进行复制:python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。跨多行、换行符、制表符:chat = """how are you?i'm fine, than you,and you? me too!"""print(chat)加注释:data = ...原创 2018-03-26 21:13:18 · 73329 阅读 · 10 评论 -
《机器学习实战》chapter02 K-近邻算法(KNN)
2.2 示例:使用K-近邻算法改进约会网站的配结果收集数据:提供文本文件准备数据:使用Python解析文本文件(文本转numpy矩阵、归一化数据等)分析数据:使用Matplotlib画二维扩散图训练算法:此步骤不适用于k-紧邻算法测试算法:使用海伦提供的部分数据作为测试样本。测试样本和非测试样本的区别在于:测试样本是已经完成分类的数据,如果预测分类与实际类别不同,则标记为一个错误使用算法:产生简单...原创 2018-04-03 22:29:06 · 329 阅读 · 1 评论 -
《Head First Python》第一章
标识符是指示数据对象的名字。标识符没有类型,不过标识符指示的对象有类型。print() BIF会在屏幕上显示一个信息。列表是一个数据集合,数据项之间用逗号分隔,整个列表用方括号包围。列表可以存放任意数据,而且数据可以是混合类型,列表还可以包含其他列表。列表可以随意伸缩,list_name.insert(i, value)表示在第i(从0开始计数)个位置前插入值value,list_name.app...原创 2018-03-17 16:30:18 · 228 阅读 · 0 评论