自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 数据结构与算法——python希尔排序

希尔排序(Shell Sort) 是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序是对插入排序的一种升级,算法的最优复杂度可以通过步长来调节,而不需要像插入排序一样要求升序。希尔排序的分析按照指定的步长对其进行分组,再对分组后

2020-08-06 16:35:19 303

原创 数据结构与算法——python插入排序

插入排序(英语:Insertion Sort) 是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序代码实现:def insert_sort(alist): n = len(alist) # 插入排序将整个序列分成两部分,左边的有序序列和右边的无序序列 # 从右边的无序序列中取出多少个元素执行这样的过程

2020-08-06 14:42:08 287

原创 数据结构与算法——python选择排序

选择排序(Selection sort) 是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择

2020-08-06 11:46:50 237

原创 数据结构与算法——python排序算法(冒泡排序)

排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性稳定排序算法会让原本有相等键值的纪录维持相对次序。 也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。不稳定排序算法可能会在相等的键值中改变纪录的相对次序,但是稳定排序算法从来不会如此。不稳定排序算法可以被特别地实现为稳定。冒泡排序冒泡排序(英语:Bubble Sort) 是一种简单的排序算法。它重复地

2020-08-06 10:54:42 157

原创 数据结构与算法——python实现栈和队列

文章目录栈栈结构的实现栈的操作队列队列的实现队列的操作栈栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行操作,因而按照==后进先出(LIFO, Last In First Out)==的原理运作。栈结构的实现

2020-08-05 22:53:25 253 1

原创 数据结构与算法——python单向循环链表、双向链表

单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。单向循环列表的实现class Node(object): """节点""" def __init__(self, item): self.item = item self.next = Noneclass SinCycLinkedlist(object): """单向循环链表""" def __init__(self):

2020-08-05 22:23:58 189

原创 数据结构与算法——python单向链表

上一节我们介绍了线性表,线形表分为顺序表和链表,在python中封装好的顺序表就是列表,接下来我们来介绍链表。文章目录单向链表节点实现单链表的操作单链表的操作实现链表与顺序表的操作时间复杂度对比单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值(None)。表元素域elem用来存放具体的数据。链接域next用来存放下一个节点的位置(python中的标识)变量p指向

2020-08-05 21:34:45 381

原创 数据结构与算法——python顺序表

文章目录顺序表的概念顺序表的基本形式顺序表的结构与实现顺序表的结构顺序表的两种基本实现方式元素存储区替换元素存储区扩充顺序表的操作增加操作删除操作python中的顺序表list的基本实现技术顺序表的概念将一组元素当作一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某类元素的一个集合,还记录着元素之间的一种顺序关系。线性表是最基本的数据结构之一,在实际程序中应用非常广泛,它还经常被用作

2020-07-25 14:16:31 141

原创 数据结构与算法——python

文章目录算法的定义算法的五大特性对于这一部分的学习主要是跟着黑马数据结构与算法的系列视频课程的总结视频链接: https://pan.baidu.com/s/1j93AvCSiiMt2UWVGBCwMOg提取码: 8843算法的定义算法是独立存在的一种解决问题的方法和思想。算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。我们现在是在用Python语言进行描述实现。算法的五大特性输入: 算法具有0个或多个输入输出: 算法至少有1个或多

2020-07-24 17:29:23 208

原创 字节跳动——手撕代码系列(1)

1、链接:https://www.nowcoder.com/questionTerminal/42852fd7045c442192fa89404ab42e92来源:牛客网我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello两对一样的字母(AABB型)连在一起,一定是拼写

2020-07-09 10:46:32 1581

原创 阿里云Nodejs SDK——子设备接入物联网平台

文章目录概述网关和子设备的创建网关连接物联网平台设置网关与子设备之间的拓扑关系配置子设备的上线概述子设备其实就是自身不能连接到阿里云物联网平台,需要借助网关来完成连接,本文主要介绍使用nodejs实现子设备通过网关接入阿里云物联网平台。实现步骤:首先,需在物联网平台上创建网关和子设备开发网关设备端SDK,实现网关直连物联网平台再由网关向物联网平台上报网关与子设备的拓扑关系通过网关上报子设备证书(一机一密方式)或者子设备动态注册的认证方式,物联网平台校验子设备的身份和该子设备与网关的拓扑关系。

2020-07-04 21:38:53 884

原创 阿里云 Nodejs SDK——设备影子

文章目录什么是设备影子?应用场景什么是设备影子?物联网平台提供设备影子功能,用于缓存设备状态。设备在线时,可以直接获取云端指令;设备离线后,再次上线可以主动拉取云端指令。设备影子是一个 JSON 文档,用于存储设备上报状态、应用程序期望状态信息。每个设备有且只有一个设备影子,设备可以通过MQTT获取和设置设备影子来同步状态,该同步可以是影子同步给设备,也可以是设备同步给影子。应用场景1、网络不稳定,设备频繁上下线使用设备影子机制存储设备最新状态,一旦设备状态产生变化,设备会将状态同步到设备影

2020-06-24 22:41:35 1183

原创 阿里云 Nodejs SDK——标签操作

文章目录什么是标签?设备上报和更新设备标签删除设备标签什么是标签?物联网平台的标签是给产品、设备或分组自定义的标识。可以使用标签功能来灵活管理产品、设备和分组。标签包括产品标签、设备标签和分组标签。标签的结构为Key:Value设备上报和更新设备标签device.postTags(params,[callback])params属性对象数组,array 类型,内容格式示例 [ {attrKey:’xxx’,attrValue:’xxx’},{}…]res 服务端 reply 消息内容co

2020-06-24 16:43:01 516

原创 NodeJS SDK物模型开发

这一篇接着上一篇继续根据阿里云提供的物模型开发文档往下讲。监听云端下发的服务调用消息1、首先需要在物联网平台设置一个功能为服务的自定义功能服务的调用方式分为两种:同步和异步同步指的是服务为同步调用时,云端会等待设备回复5秒;若设备没有回复,则调用超时。异步指的是服务为异步调用时,云端执行调用后直接返回结果,不会等待设备的回复消息。2、接下来是对云端服务的调用,我们使用的是python SDK来开发云端,使用的是调用设备服务的API:InvokeThingService,然后再github中找到

2020-06-24 15:19:49 664 2

原创 设备接入阿里云物联网平台——Nodejs SDK

文章目录环境的搭建与配置nodejs的安装使用npm安装Nodejs SDK认证与连接环境的搭建与配置nodejs的安装1、首先从官网下载编译好的nodejshttps://nodejs.org/en/选择符合自己电脑配置的安装2、解压文件并将其转移到创建好的目录中tar xvf node-v12.18.1-linux-x64.tar.xzmv node-v12.18.1-linux-x64 指定目录3、配置开发环境在~/.bashrc中写入然后运行source .bas

2020-06-22 18:05:10 2180 1

原创 VMware虚拟机 Linux系统 Ubuntu 16.04 硬盘/磁盘扩容(超详细图文详解!亲测有效!)

参考的这篇博客https://blog.csdn.net/m0_43403238/article/details/85480314

2020-06-22 16:12:15 334

原创 机器学习——NLP自然语言处理

本文主要来介绍使用NLP来进行文本相似度分析什么是NLP?NLP(Natural Language Processing,自然语言处理)是研究实现人与计算机之间用自然语言进行有效通信的各种理论和方法,也是AI领域中一个最重要、最艰难的方向。近些年,NLP在中文分词、词性标注、词汇语义、句法解析方面均获得了很大的突破。大量的技术都应用于商业实践,并在商业领域获得了良好的市场和经济效益。文本方面主要有:基于自然语言理解的智能搜索引擎和智能检索、智能机器翻译、自动摘要与文本综合、文本分类与文件整理、自动阅卷系

2020-06-07 22:32:07 658

原创 机器学习案例:验证码识别(Captcha)

验证码(CAPTCHA,全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人工智能的全自动程序。实验步骤:1、创建验证码2、对验证码进行01值化3、降噪4、对验证码进行切分5、对切分后的验证码进行图片转数字化6、使用逻辑回归建模7、对新输入的图片进行预测验证码的创建1、随机生成验证码的颜色2、随机生成验证码数字3、使用PIL进行画图import osfrom PIL import Imagefrom PIL import ImageDrawfrom PI

2020-06-07 16:07:07 2287 2

原创 python自动化运维——Docker基础

文章目录1、Docker简介1.1什么是虚拟化?1.2 什么是Docker容器和虚拟化的比较1.4 Docker组件1.4.1 Docker服务器与客户端1.4.2 Docker镜像与容器1.4.3 Registry(注册中心)2 Docker的安装与启动2.1 安装Docker2.2 设置ustc的镜像2.3 Docker的启动与停止3 常用命令3.1 镜像相关命令3.1.1 查看镜像3.1.2 搜索镜像3.1.3 拉取镜像3.1.4 删除镜像3.2 容器相关命令3.2.1 查看容器3.2.2 创建与启动

2020-05-27 22:28:43 497

原创 机器学习——多变量线性回归

在上一篇文章我们提到过的线性回归中,我们只有一个单一特征量(变量)——房屋面积x。我们希望使用这个特征量来预测房子的价格。不妨思考一下,如果我们不仅仅知道房屋面积(作为预测房屋价格的特征量(变量)),我们还知道卧室的数量、楼层的数量以及房屋的使用年限,那么这就给了我们更多可以用来预测房屋价格的信息。因此,模型发生了变化:损失函数改变如下:我们依然用梯度下降法来获取损失函数的最小值画出损失函数关于θ0与θ1的图形Jθ (x) – 损失函数特征缩放(归一化)左图的梯度下降算法直接走向最

2020-05-21 20:45:37 588

原创 机器学习——线性回归

单变量线性回归线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值。线性回归中最常见的就是房价的问题。一直存在很多房屋面积和房价的数据,如下图所示:在这种情况下,就可以利用线性回归构造出一条直线来近似地描述放假与房屋面积之间的关系,从而就可以根据房屋面积推测出房价:线性回归的函数模型线形回归的基本框架:通过线性回归构造出来的函数一般称之为了线性回归模型。线性回归模型的函数一般写作为:fθ(x) = θ0 + θ1x1线性回归实际上要做的

2020-05-21 17:00:51 1014

原创 机器学习——统计学习方法概述

学习机器学习的一些入门概念,以下内容出自《统计学习方法》这本书第一章的内容。1 统计学习统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计机器学习(statistical machine learning)。1.1统计学习的主要特点(1)统计学习以计算机及网络为平台,是建立在计算机及网络之上的;(2)统计学习以数据为研究对象,是数据驱动的学科;(3)统计学习的目的是对数据进行预测与分析;(4)统计

2020-05-21 12:17:48 1622

转载 完美解决Python下matplotlib绘图中文乱码问题(亲测有效)

1、查看matplotlib配置文件的位置import matplotlibprint(matplotlib.matplotlib_fname())/hom...

2020-05-19 22:31:53 571

原创 K近邻算法分析

K近邻算法分类可视化分析K近邻算法: 近朱者赤,近墨者黑。新的数据点离谁(一个或多个近邻点)最近, 就和谁属于同一类。在skilit-learn中内置了若干个数据集(Toy Datasets), 还有一些API可以自己动手生成数据集,代码如下:from sklearn.datasets import make_blobsfrom sklearn.neighbors import KNeighborsClassifierimport matplotlib.pyplot as plt# 生成

2020-05-19 22:28:14 468

原创 数据分析绘图库matplotlib

文章目录简介绘图的基础知识常用图形绘图步骤属性详解多图绘制简介matplotlib是python比较底层的可视化库,可定制性强、图表资源丰富、简单易用、达到出版质量级别。Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。绘图的基础知识图例Legend 代表图形里的内容网格Grid,图形中的虚线,True显示网格点 Markers:表示点的形状。常用图形

2020-05-19 19:51:20 283

原创 python数据分析——pandas使用方法

Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。pandas中常见的数据类型:- 一维: Series- 二维: DataFrame- 三维: Panel …- 四维: Panel4D …- N维: PanelND …但在Pandas 中的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。利

2020-05-16 09:49:48 638

转载 python----datetime模块

一、datetime模块介绍(一)、datetime模块中包含如下类: 类名 功能说明 date ...

2020-05-13 14:16:40 334

原创 numpy中的random的使用

文章目录randrandnrandintchoiceshufflerandomuniformrandrand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1括号参数为生成随机数的维度import numpy as npnp.random.rand(4, 2)Out[66]:array([[0.84397828, 0.39929488],[0.66913164, 0.33996681],[0.70253518, 0.36046703],[0.21090572, 0.7952

2020-05-13 13:40:37 998

原创 基于numpy的股票分析

1、股票分析股票信息的获取1、网络爬虫2、网站下载,专门的股票网站,Kaggle(数据分析和机器学习交流的网站)3、使用已经开发好的股票API接口:tusharedata.csv文件中存储了股票的信息, 其中第4-8列,即EXCEL表格中的D-H列,分别为股票的开盘价,最高价,最低价,收盘价,成交量。分析角度:1. 计算成交量加权平均价格概念:成交量加权平均价格,英文名VWAP(Volume-Weighted Average Price,成交量加权平均价格)是一个非常重要的经济学量,代表

2020-05-12 17:34:16 2740 1

原创 python数据分析——numpy使用方法

文章目录

2020-05-12 14:27:11 467

原创 python深拷贝与浅拷贝

浅拷贝,指的是重新分配一块内存,创建一个新的对象,但里面的元素是原对象中各个子对象的引用。赋值就是浅拷贝,对数据采用浅拷贝的方式时,如果原对象中的元素不可变,那倒无所谓;但如果元素可变,浅拷贝通常会出现一些问题所谓深拷贝,是指重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中。因此,新对象和原对象没有任何关联。Python 中以 copy.d...

2020-05-06 11:04:49 230

原创 scrapy爬虫框架——item

文章目录什么是Item?Item的声明什么是Item?爬虫的主要目标是从非结构化的数据源(通常是web页面)中提取结构化数据。Scrapy spider可以以Python字典的形式返回提取的数据。虽然很方便和熟悉,但Python字典缺乏结构:很容易在字段名中出现拼写错误或返回不一致的数据,特别是在有许多爬行器的大型项目中。为了定义通用的输出数据格式,Scrapy提供了Item类。Item对象...

2020-05-06 10:27:06 1095

原创 Ajax爬虫

文章目录什么是Ajax爬虫?什么是Ajax?Ajax如何分析页面?什么是Ajax爬虫?1. 浏览器中可看到正常显示的数据,但使用requests得到的结果并没有。 这是什么原因呢?requests获取的是原始的HTML文档,而浏览器中的页面是经过JS处理数据后生成的结果。2. 这些数据的来源有哪些情况呢?Ajax加载、包含在HTML文档中、经过JavaScript和特定算法计算后生成什...

2020-04-30 22:27:25 545

原创 多线程执行爬虫

1、多线程爬虫改写猫眼电影爬虫:import jsonimport reimport timeimport requestsfrom colorama import Forefrom fake_useragent import UserAgentfrom requests import HTTPErrorimport lxmlfrom lxml import etreed...

2020-04-30 20:02:02 168

原创 Scrapy爬虫框架

文章目录Scrapy架构流程优势Scrapy爬虫步骤Scrapy架构流程• Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。• Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。...

2020-04-29 10:20:07 547

原创 网络爬虫数据解析——BS4解析库

文章目录简介基本用法BeautifulSoup选择器节点选择器方法选择器CSS选择器项目案例:基于requests和bs4的三国演义定向爬虫简介Beautiful Soup就是Python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据。Beautiful Soup在解析时实际上依赖解析器, 可以选择的解析器如下表所示:常用前两种基本用法from bs4 import...

2020-04-24 17:47:47 690

原创 网络爬虫——网络数据解析

文章目录正则表达式正则模块re的使用re模块常量项目案例XPath解析库什么是XPath?XPath如何实现文档解析?XPath常用规则练一练项目案例爬虫的四个主要步骤:实际上爬虫一共就四个主要步骤:明确目标 (要知道你准备在哪个范围或者网站去搜索)爬 (将所有的网站的内容全部爬下来)取 (去掉对我们没用处的数据)处理数据(按照我们想要的方式存储和使用)网路数据解析就是将爬取到的...

2020-04-23 22:32:16 1037

原创 网络爬虫基础之数据采集

文章目录简介01 网络数据采集之urllib库网络数据采集之requests库简介Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib、requests这两个模块。01 网络数据采集之urllib库官方文档地址urllib库是python的内置HTTP请求库,包含以下各个模块内容:(1)urllib.request:请求模块(2)urllib.e...

2020-04-21 20:49:44 967

原创 网络爬虫基础之入门

文章目录网络爬虫分类1、通用爬虫2、聚焦爬虫HTTP与HTTPS1、HTTP2、HTTPS网络爬虫分类1、通用爬虫通用网络爬虫:是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的:是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。(百度快照)通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着 整...

2020-04-20 21:59:27 362

原创 基于Flask的任务清单管理系统(一):大型项目管理

文章目录Flask开发大型项目的结构Flask开发大型项目的结构app:所有的项目功能,核心代码,如果要给项目添加功能就更方便auth:用户认证模块todo:任务清单操作模块view.py:视图函数,路由处理models.py:数据库处理模块email.py:邮箱处理模块error:异常处理模块requirements.txt 列出了所有依赖包,便于在其他电脑中重新生成相同的...

2020-03-23 21:17:53 993

空空如也

空空如也

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

TA关注的人

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