
Python
CC_且听风吟
行百里者半九十
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初探监督学习:使用OpenCV实现 k-NN 机器学习算法(分类模型)
其实NumPy部分还是有一定要求的,已经大致看完了。本来打算先把NumPy数据分析的坑填完的。。结果最近几天一直在看机器学习,过两天争取发几篇文章把NumPy那里补完!问题背景(太长了。简要陈述):有两个队伍(蓝色正方形和红色三角形),他们都只喜欢和相同队伍的人做邻居,根据随机的数据集(一堆蓝色正方形和红色三角形的位置关系),预测在某一点如果有一个人住,这个人是蓝队还是红队--> 就...原创 2019-04-02 23:54:13 · 599 阅读 · 0 评论 -
初探监督学习2:使用线性回归预测波士顿房价(回归模型)
继续学习机器学习:监督模型中的回归模型书上使用的是scikit-learn中的fit函数来实现线性回归模型目标:根据训练数据来训练一个回归模型,从而预测测试数据,并且对预测对精准度进行分析step1:载入数据集感谢万能的sklearn,在datasets中有波士顿房价的数据import numpy as npfrom sklearn import datasetsfrom...原创 2019-04-03 15:29:51 · 3484 阅读 · 0 评论 -
数据预处理
数据预处理分为三种形式:数据格式化:数据可能并不是适合我们处理的那种格式 数据清理:数据中可能存在无效的或者丢失的条目,这些数据需要被清理或者移除 数据采样:数据可能对于特定的目的过于庞大,需要把数据使用巧妙的方式进行采样特征工程:缩放:某些机器学习算法常常要求数据在一个特定的范围内,比如需要拥有零均值和单位方差。缩放是将所有的特征(可能物理单位不同)变成特定范围内的值的一个过程。...原创 2019-04-18 10:13:54 · 365 阅读 · 0 评论 -
降维技术简要
opencv中主要有三种降维技术:主成分分析 独立成分分析 非负矩阵分解开始之前首先进行一些小准备:import numpy as npimport cv2import matplotlib.pyplot as pltplt.style.use('ggplot')# 导入数据mean = [20, 20]cov = [[5, 0], [25, 25]]x, y =...原创 2019-04-25 00:51:06 · 549 阅读 · 0 评论 -
使用opencv实现简单的单个感知器
part 1前面的神经元部分略。。简单的考虑只有两个输入参数的神经元:这两个参数都有不同的权重系数x0, x1则有净输入:为了训练一个神经网络,一般需要:训练数据 代价函数(损失函数):代价函数提供了评价当前权重系数效果的方法 学习规则:学习规则指明了如何在一次迭代之后来更新权重系数,学习规则常常依赖于在训练数据集上观测到的误差(使用代价函数来计算)part 2...原创 2019-04-25 01:19:40 · 368 阅读 · 0 评论 -
多层感知器MLP和梯度下降法
为了可以更好地研究非线性数据的决策边界,可以把多个感知器合并成为一个更大的网络,即多层感知器MLP一、了解MLPMLP至少由三层构成:第一层:数据集的每个输入特征都有一个节点(神经元) 中间隐藏层 最后一层:每个类标签的节点具体的结构可以如图所示:(来源:百度图片)MLP拥有一个显著的特性:如果网络足够大,就可以表示任意的数学函数,也称为万能逼近特性例如:只有一个...原创 2019-04-25 14:15:02 · 2622 阅读 · 0 评论 -
反向传播和多层感知器OpenCV实现
一、反向传播在梯度下降中有一个问题的关键:如何求得当前代价函数的梯度?简要地介绍反向传播,它是用于估计神经网络中的代价函数梯度的算法,本质上就是函数求导的链式法则,偏导数。首先回想代价函数,它的梯度取决于每个数据样本的真实输出和当前输出之前的差值。如果选择以均方误差作为代价函数,则对应的方程应为: ...原创 2019-04-25 17:18:48 · 569 阅读 · 0 评论 -
类别变量表示、文本特征表示、图像表示
一、类别变量表示首先准备数据集data = [ {'name':'dzzhyk111', 'born': 1912, 'died': 1954}, {'name':'dzzhyk222', 'born': 1916, 'died': 1959}, {'name':'dzzhyk333', 'born': 1922, 'died': 1964}, {'name':'dzzhyk...原创 2019-04-27 12:49:28 · 943 阅读 · 0 评论 -
Numpy基础(1)ndarray多维数组对象
1.多维数组对象ndarray是一个快读、灵活的大型数据集容器,允许使用类似于标量的操作语法在整块数据上进行数学计算import numpy as np# 创建一个简单的numpy数组data1 = [6.7, 5.5, 2.8, 9.1]arr1 = np.array(data1)print(arr1)# out:# [6.7 5.5 2.8 9.1]# 嵌套序列...原创 2019-03-29 00:25:38 · 745 阅读 · 0 评论 -
Numpy基础(2)通用函数ufunc和面向数组编程
填坑。二、通用函数:快速的逐元素数组函数通用函数,也成为ufunc是一种在ndarray中进行逐元素操作的函数。某些简单函数接收一个或者多个标量数值,并且 产生一个或者多个标量结果,通用函数ufunc是对这些函数的封装。一元通用函数:二元通用函数:转自:https://blog.youkuaiyun.com/xiaoleizhanghahaha/article/detail...原创 2019-04-17 19:58:37 · 418 阅读 · 0 评论 -
Numpy基础(3)使用数组进行文件输入和输出、线性代数
四、使用数组进行文件输入和输出Numpy可以在硬盘中将数据以文本或者二进制文件的形式进行存入硬盘或者由硬盘载入(1)主要使用的np.save和np.load,数组在默认情况下是以未压缩的格式进行存储的,后缀名是.npy>>> import numpy as np>>> arr = np.arange(10)>>> arr...原创 2019-04-17 20:27:23 · 351 阅读 · 0 评论 -
Numpy基础(4)伪随机数生成和随机漫步
六、伪随机数生成numpy.random模块填补了Python内奸的random模块的不足,可以高效地生成多种概率分布下的完整样本值数组。numpy.random中的部分函数列表 seed 向随机数生成器传递随机状态种子 permutation 返回一个序列的随机排列,或者返回一个乱序的整数范围序列 shuffle 随机排列一个序列 rand 从均...原创 2019-04-17 21:14:20 · 453 阅读 · 0 评论 -
Python爬虫与信息提取(一)requests库
这篇文章中简要提及了Requests库的背景:https://blog.youkuaiyun.com/weixin_43826242/article/details/866643001.Requests库的安装http://docs.python-requests.org/en/master/只需使用-pip install requests 即可安装2.检查Requests库是否安装成...原创 2019-01-27 19:53:09 · 952 阅读 · 0 评论 -
Python爬虫与信息提取(二)网络爬虫robots标准和简单的爬虫实例
1.robots协议由于网络爬虫的随意性,产生了robots标准来限制网络爬虫的一些作用例如:www.baidu.com地址栏打开:https://www.baidu.com/robots.txt就可以看到百度网页所不允许的网络爬虫列表和禁止爬取的范围或者优快云的:所有的爬虫都建议遵守协议的内容2.简单的爬虫(爬取未经过处理的信息)#爬取京东商品页面的信...原创 2019-01-27 22:13:08 · 302 阅读 · 0 评论 -
Python爬虫与信息提取(三)BeautifulSoup库简介
1.BeautifulSoup库下面的文章里面有简要的介绍:https://blog.youkuaiyun.com/weixin_43826242/article/details/86664300安装:-pip install beautifulsoup42.检查是否安装成功import requestsfrom bs4 import BeautifulSoupr = req...原创 2019-01-28 00:02:34 · 298 阅读 · 0 评论 -
Python爬虫与信息提取(四)内容检索
1.信息标记方法目前主要有三种:XML:<>...</>JSON:有类型 key:valueYAML:无类型 key:value2.信息提取的一般方法(bs4库)主要使用了find_all( )函数基本格式:<>.find_all(name, attrs, recursive, string, **kwargs)...原创 2019-01-28 17:18:12 · 1124 阅读 · 0 评论 -
Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名
经过一段时间的Python网络爬虫学习,今天自己摸索制作了一个能够爬取新浪微博实时热搜排名的小爬虫1.效果:2.制作过程中遇到的问题:(1)一开始研究微博热搜页面的源代码时忽略了<tbody>中还包括一个置顶热搜,它的标签包含结构和其他的50个不同,因此需要单独考虑(2)难点是标签中信息的获取,需要搞清楚 find_all( ) 函数返回的是列表,只能用于for遍历体系...原创 2019-01-28 21:25:30 · 6586 阅读 · 9 评论 -
Python爬虫与信息提取(六)Re正则表达式
1.正则表达式-正则表达式是用来简洁表达一组字符串的表达式-正则表达式的优势:使用特征来表达字符串,非常简洁-正则表达式可以用来判断某字符串的特征归属,在文本处理中十分常用,主要应用在字符串的匹配中2.正则表达式的使用编译:将符合正则表达式语法的字符串转换成正则表达式的特征import reregex = 'P(Y|YT|YTH|YTHO)?N'p = r...原创 2019-01-30 19:10:12 · 1844 阅读 · 0 评论 -
Python爬虫与信息提取(七)爬虫实例:爬取股票信息
学习了正则表达式后,就学习并制作了爬取股票信息的爬虫实例。1.出现的错误由于已经有了之前的经验和引入了正则表达式的使用,写这个爬虫的过程中出错就比较少了,然后代码也比较简短了一开始出现了find函数返回NoneType的情况:https://blog.youkuaiyun.com/qq_36525166/article/details/81258168看了这篇文章,解决了问题。后来...原创 2019-01-30 21:53:33 · 5304 阅读 · 3 评论 -
网络传输UDP与TCP模型(一)
一、网络相关1.1 网络通信概述网络就是一种辅助双方或者多方能够连接在一起的工具 使用网络能够把多方链接在一起,然后可以进行数据传递 所谓的网络编程就是,让在不同的电脑上的软件能够进行数据传递,即进程之间的通信1.2 IP地址(1)ip地址:用来在网络中标记一台电脑,比如192.168.1.1,在本地局域网上是唯一的(2)ip地址的分类:每一个IP地址包括两部分:...原创 2019-02-09 23:47:59 · 1889 阅读 · 0 评论 -
网络传输UDP与TCP模型(二)
三、TCP协议:传输控制协议3.1 TCP简介TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP通信需要经过创建连接、数据传送、终止连接三个步骤。TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"...原创 2019-02-10 00:26:31 · 336 阅读 · 1 评论 -
Python多任务(1)线程
1. 多任务概念什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的,那么,单核CPU是怎么...原创 2019-02-10 22:02:27 · 232 阅读 · 0 评论 -
Python多任务(2)进程
3. 进程3.1 进程程序:例如xxx.py这是程序,是一个静态的进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。不仅可以通过线程完成多任务,进程也是可以的3.2 进程的状态工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态就绪态:运行的条件都已经慢去...原创 2019-02-10 23:38:20 · 204 阅读 · 0 评论 -
Python多任务(3)协程
4. 协程4.1 迭代器(1)迭代器简介迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退我们已经知道可以对list、tuple、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。把可以通过for......原创 2019-02-11 00:59:37 · 186 阅读 · 0 评论 -
Python多任务(4)线程、进程和协程的区别
有一个老板想要开个工厂进行生产某件商品(例如剪子)很多的器件以及材料这些所有的为了能够生产剪子而准备的资源:系统资源他需要花一些财力物力制作一条生产线,这个生产线称之为:进程只有生产线是不能够进行生产的,所以老板的找个工人来进行生产,这个工人能够利用材料最终一步步的将剪子做出来,这个来做事情的工人称之为:线程这个老板为了提高生产率,想到3种办法:在这条生产线上多招些工人,一起来...原创 2019-02-11 01:02:49 · 288 阅读 · 0 评论 -
Python实现Web服务器——并发服务器(1)
主要使用了socket库1.显示固定的页面import socketdef client_server(client_socket): recv_data = client_socket.recv(1024).decode('utf-8') recv_info = recv_data.splitlines() for i in recv_info: ...原创 2019-02-22 15:56:42 · 520 阅读 · 1 评论 -
python实现四舍五入
链接:https://ac.nowcoder.com/acm/problem/20760来源:牛客网题目描述依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩。输入描述:学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。输出描述:学号,3科成绩,输出格式详见输出样例。示例1输入1714...原创 2019-04-10 00:30:08 · 2536 阅读 · 1 评论 -
类和对象、面向对象基本概念
在接触其他变成语言的时候其实就容易接触到了面向对象编程,例如C#这篇文章就先把类和对象、面向对象的基本概念再次熟悉一下:类和对象是面向对象编程的 两个 核心概念类:类是对一群具有相同 特征或者行为的事物的一个统称,是抽象的,不能直接使用 特征被称为属性 行为被称为方法 类就相当于制造飞机时的图纸,是一个模板,是负责创建对象的...原创 2019-02-07 12:08:21 · 988 阅读 · 0 评论 -
Python面向对象基础语法
1.dir内置函数(了解)在Python中对象几乎是无所不在的,我们之前学习的变量、数据、函数都是对象在Python中可以使用以下两个方法验证:在标识符/数据后输入一个.,然后按下TAB键,IDE会提示该对象能够调用的方法列表 使用内置函数dir传入标识符/数据,可以查看对象内的所有属性及方法注意:__方法名__格式的方法是P...原创 2019-02-07 12:30:04 · 216 阅读 · 0 评论 -
Python面向对象特点的具体实现1(私有属性和方法、继承)
1.私有属性和私有方法应用场景在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到 私有属性就是对象不希望公开的属性 私有方法就是对象不希望公开的方法定义方式在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法class Women: def __init__(s...原创 2019-02-08 15:51:38 · 540 阅读 · 0 评论 -
Python面向对象特点的具体实现2(多态、类属性和类方法)
1.多态复习面向对象的三大特性:封装:根据职责将属性和方法封装到一个抽象的类中 定义类的准则 继承:实现代码的重用,相同的代码不需要重复的编写 设计类的技巧 子类针对自己特有的需求,编写特定的代码 多态:不同的子类对象调用相同的父类方法,产生不同的执行结果 多态可以增加代码的灵活度 以继承和重写父类方法为前提...原创 2019-02-08 16:21:46 · 365 阅读 · 0 评论 -
Python中的单例模式
单例(1)单例设计模式 设计模式 设计模式是前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对某一特定问题的成熟的解决方案 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 单例设计模式 目的—— 让类创建的对象,在系统中只有唯一的一个实例 每一次执行类名()返回的对象,内存地址是相同的单例应用场景...原创 2019-02-08 16:29:54 · 287 阅读 · 0 评论 -
Python面向对象:异常处理和eval函数简介
一、异常处理和raise异常1.异常の概念程序在运行时,如果Python的解释器遇到一个错误,会停止程序的执行,并且提示一些错误信息,这就是异常程序停止执行并且提示错误信息这个动作,我们通常称之为:抛出(raise)异常2.异常处理直接上代码:1.异常捕获的语法try: #<正常执行的代码> passexcept: ...原创 2019-02-08 16:44:43 · 1803 阅读 · 0 评论 -
Python技巧:删除文件夹(包括文件夹)
https://www.cnblogs.com/dwtt/p/7772639.html使用了递归import osdef del_file(path): for i in os.listdir(path): path_file = os.path.join(path,i) // 取文件绝对路径 if os.path.isfile(path_fi...原创 2019-02-12 17:34:39 · 2039 阅读 · 0 评论 -
Python中的接口实现和抽象类
1.接口实现python中并没有提供专门的接口类型,只能自己定义一个接口类# python中没有接口,只能自己实现class Interface: def func1(self): pass def func2(self): passclass Test(Interface): def func1(self): ...原创 2019-02-23 11:37:42 · 1375 阅读 · 0 评论 -
Python个人快速入门学习(一)Python程序元素组成
凭借原先的语言基础,笔者计划用约两星期的时间快速入门Python的学习。一、Python程序元素组成1.变量变量采用标识符来表示,关联标识符的过程叫做命名。可以使用等号 = 向变量赋值或者修改值 , = 被称为赋值符号例如:TempStr = "72F"命名规则:大小写字母、数字、下划线和汉子等字符及组合注意事项:大小写敏感、首字符不能是数字,不与保留字相同保...原创 2019-01-13 11:04:37 · 309 阅读 · 0 评论 -
Python个人快速入门学习(二)Python基本图形的绘制
二、Python基本图形的绘制主要是使用了 turtle 库,是python语言的标准库的部分之一1.库的简单介绍python计算生态 = 标准库 + 第三方库-标准库:随解释器直接安装到操作系统中的功能模块-第三方库:需要经过安装才能使用的功能模块-库Library、包Package、模块Module,统称模块2.turtle 库的基本原理一个“海龟”在屏幕上游走...原创 2019-01-14 21:16:09 · 315 阅读 · 0 评论 -
Python个人快速入门学习(四)time 库的使用
四、time 库的使用time库是Python中处理时间的标准库-计算机时间的表达-提供获取系统时间并且格式化输出功能-提供系统级精确的计时功能,用于程序性能的分析#调用:import time1. 时间的获取import timeprint(time.time())print(time.ctime())print(time.gmtime())输出结...原创 2019-01-19 21:34:03 · 270 阅读 · 1 评论 -
Python个人快速入门学习(五)程序的控制结构
五、程序的控制结构程序的控制结构使老生常谈的问题1. 顺序结构 :不讲2. 分支结构:主要使用 if...else... 语句实现单分支:if <条件>: <语句>双分支:a = 98if a==99 : print("1")else : print("2")#或者是紧凑型写法:适用于简单表达式的二分支结构# ...原创 2019-01-23 22:07:59 · 414 阅读 · 0 评论 -
Python个人快速入门学习(六)Python中的函数
六、Python中的函数(重点)1.函数的理解和定义:一段具有特定功能的、可重用的语句组,降低了编码的难度定义方式:def <函数名> (<参数>) : <函数体> return <返回值>函数定义时,所指定的参数是一种占位符函数定义后,如果不调用不会执行函数定义时,参数是输入,函数体是处理,结果是输出(IP...原创 2019-01-24 23:46:22 · 615 阅读 · 0 评论