Matplotlib库
将本文结合代码使用效果更佳哦❤️❤️ matplotlib is a desktop plotting package designed for creating (mostly twodimensional) publication-quality plots. The project was started by John Hunter in 2002 to enable a MATLAB-like plotting interface in Python. Over time, matplotlib has spawned a number of add-on toolkits for data visualization that use matplotlib for their underlying plotting. One of these is...
隐马尔可夫模型
与时间相关的变量在某一状态的取值StS_tSt往往与它周围其它的状态相关,为了简化问题,提出一种假设叫齐次马尔科夫性假设: 每一个时间状态的概率分布只与它的前一个状态相关 满足这个假设的随机过程叫做马尔科夫过程,也称为马尔科夫链。 若StS_tSt是不可被观察的,那么则称为隐马尔可夫模型。隐马尔可夫模型虽然不能观察到StS_tSt,但是会有一个输出OtO_tOt,对此我们作出以下假设: 观测独立性假设:OtO_tOt只与StS_tSt相关
python基础知识
迭代器和生成器 for element in [1, 2, 3]: print(element)for element in (1, 2, 3): print(element)for key in {'one':1, 'two':2}: print(key)for char in "123": print(char)for line in open("myfile.txt"): print(line, end='') 我们之所以能通过 for 方法如此轻松的打印这些内容,从本质上说是因为列表元组等这些东西是一个可迭代对象。而 for 方法则可以调用迭代器对象的方法来实现对整个迭代对象的遍历。for 驱动可迭代对象调用 iter()返回了一个有next()方法的迭代器对象(可以通过 next()访问),该方法可以逐一访问对象中的所有元素。 生成器则是用来为迭代器产生数据的,写法类似于标准的函数,但当他们要返回数据时要使用...
Numpy
numpy(numerical Python) 是 Python 数值计算最重要的基础包,大多数提供科学计算的包都是用 NumPy 的数组为构建基础。 NumPy 可以用于数值计算的一个重要原因是因为他能处理大数组的数据: 在连续的内存块储存数据,独立于其他 Python 内置对象(C 语言编写的算法库,在 C 的基础上封装) 可以在整个数组上执行复杂的计算,不需要 for loop 速查 图片对应pdf.pdf 介绍 基本用法 NumPy 最重要的一个特点就是 ndarray(n 维数组对象,一个快速而灵活的大数据集容器) Creating ndarray python 默认创建数组的数据类型是浮点数(方便科学计算) np.array(): 支持任何序列对象 np.zeros() np.empty()创建一个数组,值可能为 0 有些情况下为垃圾值 np.arrange():类似于内置的 range 返回一个 数组的数据类型 类型转换–np.astype 可以在创建数组时指定数值类型,也可以通过...
综合实例
本文主要记录在学习机器学习过程中做的一些简单的小项目,项目代码均来自于杨志晓老师的《Python机器学习一本通》一书,机缘巧合之下这本书也算是我接触Python机器学习的启蒙书籍,书本很厚,但是其实内容不多,至今犹记得去年年末封在宿舍独自一人啃这本书的心酸经历,一本书看来收获颇丰。 加载boston数据集、另存并重新访问 from sklearn import datasetsimport pandas as pdimport numpy as npimport seaborn as...
SQL
关系型数据库的命名是因为数据库展现了表单形式的不同类型数据之间的关系。 SQL 是结构化数据查询语言,是我们用来像数据管理系统(Data Management system)下达指令时用到的. Sqlite 是一个轻量的 DBMS。 SQL SQL 既不是一个 API 也不是一种协议,而是一种声明式语言,只需要告诉它做什么即可。 它是关系型数据库的通用语言。SQL 查询是客户端发送给数据库服务器的文本字符串,指明需要执行的具体操作。 SQL is everywhere SQL enables us to pull data from many sources SQL 语句的三种类型: DDL(Data Definition Language,数据定义语言):处理用户、数据库以及表单的创建、删除、约束和权限等 DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。 DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对...
统计机器学习理论
Statistical learning The frequentist approach views the model parameters as unknown constants and estimates them by matching the model to the available training data using an appropriate metric. 框架 泛化能力(generalization ability) 泛化能力是指该学习方法对未知数据的预测能力,是学习方法本质上重要的性质。依据测试数据集对模型的泛化能力加以评价是不可靠的,统计学习理论试图从理论上对学习方法的泛化能力进行分析。 泛化误差: Rexp(f^)=EP[L(Y,f^(X))]=∫X×YL(y,f^(x))P(x,y)dx dy\begin{aligned} R_{\exp }(\hat{f}) &=E_{P}[L(Y, \hat{f}(X))] \\ &=\int_{\mathcal{X} \times \mathcal{Y}} L(y,...
Working with APIs
An API is a collection of tools that allows different applications to interact. 与我们获取网页相似,我们对API发出请求数据的请求,然后服务器作出相应,返回我们请求的数据。这一过程在python中主要通过requests库实现 发起请求: get() post():post请求一般会包含数据,因为这个请求本身就是用来发送给服务器请求服务器创建一个object用的 post请求成功会返回一个201的状态码 For example, we use POST requests to send information (instead of retrieve it), and to create objects on the API’s server. With the GitHub API, we can use POST requests to create new repositories. Different API endpoints choose what types of...
代码规范
文件组织 python中模块的导入要用到import函数,若要导入自定的模块,若导入模块与运行文件在同一目录下,则直接输入导入模块的名字即可。若不在同一目录,则需要写出相对路径。模块可以看做是类和函数的集合。 查看模块搜索路径:sys.path 包 &库 一般认为一个’*.py’文件是一个module,为了python应用更具扩展性,我们可以多个模块(module)组织成文件层次,这就产生了包(package)。 一个文件夹是一个package,一个package下可以有多个module,但是一个module只能属于一个package。 包的出现使得在创建模块时名字的冲突问题得以解决。需要注意的是在每个文件夹下都要建立一个_init__.py文件以保证Python将该文件夹所在的路径当做一个存在的包来处理,该文件夹可以是空的,也可以用来执行一些初始化代码或者声明全局...
time模块
这一模块常用的是计时器函数,其次是时间戳函数。 time.sleep(sec):计时器函数,让工作暂停 time.time():返回当前时间的时间戳,计算自1970.1.1到现在的时间差(通常叫做纪元,是不同系统之间最简单的交换日期和时间的方法)。 time.ctime():将纪元值转化为字符串(“Mon Feb 3 22:31:03 2014”) time.localtime():默认返回一个struct_time,也可将一个时间参数传入该函数返回出对应的struct_time time.mktime():把stuct_time转化为纪元值(struct_time只能精确到秒) time.strftime(format, [t]): 把一个struct_time转换成格式化的时间字符串。格式由传入的format确定。支持的符号表如下: import...