自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 机器学习--集成学习(13)

一、基本概念1.1 定义在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。集成方法是将几种机器学习技术组合成一个预测模型的元算法,以达到减小方差(bagging)、偏差(boosting)或改进预测

2020-12-03 21:28:08 485

原创 机器学习--聚类(12)

一、基本概念聚类的概念:一种无监督的学习,事先不知道类别,自动将相似的对象归到同一个簇中。应用场景:文档分类器、客户分类、保险欺诈检测、 乘车数据分析二、距离计算对于有序距离其中P=1为曼哈顿距离P=2为欧氏距离对于无序距离使用VDM距离:其中 mu,a,i表示在第i个样本簇中属性u上取值为a的样本数mu,a表示属性u上取值为a的样本数k为样本簇数混合距离使用闵科夫斯基距离和VDM的混合其中nc为有序属性个数加权距离根据不同属性的重要性,可使用“加权”距离二、聚类算法

2020-12-03 21:27:51 750

原创 机器学习--人脸自动补齐(11)

随机树ExtraTreeRegressor(): 分列点随机选取、不考虑信息增益,减少过拟合获取一个对象所属的类名称: model.class.nameimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline# 导入人脸数据集from sklearn.datasets import fetch_olivetti_faces,fetch

2020-12-01 11:37:38 312

原创 机器学习--决策树(10)

一、基本概念1.1 是什么分类决策树模型是一种描述对实例进行分类的树形结构,相当于if-then结构。决策树由节点和有向边构成。节点有两种:一种是内部节点,表示一个特征或者属性;另一种是叶子节点,表示一个决策结果。1.2 优缺点优点:模型具有可读性、分类速度快缺点:容易产生过拟合1.3 决策过程从根节点开始,对实例的某一个属性进行分裂,根据分裂结果将实例分配到其子节点。这时,每一个子节点对应该特征的一个取值,如此递归的对实例进行测试分类,直至到达叶子节点。最后将实例分配到叶节点的类中。可以看

2020-11-28 16:23:41 2039 1

原创 机器学习--文本分析(jieba)(9)

一、jiebajieba分词有三种拆词模式:jieba.cut(cut_all=False) # 精确模式 适用于文本分析(建模)jieba.cut(cut_all=True) # 全模式 适合搜索引擎jieba.cut_for_search() # 搜索引擎模式cut方法拆完是一个生成器对象jieba.lcut(cut_all=False) # 精确模式 适用于文本分析(建模)jieba.lcut(cut_all=True) # 全模式 适合搜索引擎jieba.l

2020-11-26 17:21:56 580

原创 机器学习--模型评价和选择(8)

一、基本概念误差(误差期望):学习器的实际预测输出与样本真实输出之间的差异经验误差(训练误差):学习器在训练集上的误差泛化误差:学习器在新样本上的误差过拟合(过配):学习器学习能力过强,将训练集中自身的特点当做所有潜在样本都会由的一般性质,这会导致泛化能力下降。 无法避免,只能缓解欠拟合(欠配):学习器对训练样本的一般性质没有学好二、训练流程2.1 获取测试集测试集应该尽量与训练集互斥当我们只有一个包含m条记录的训练集,需要对训练集进行拆分,拆分方法如下:留出法:① 原理: 即将训练

2020-11-25 19:40:18 239

原创 机器学习--多分类任务(7)

一、思想多分类问题还是以二分类为基础,即将多分类任务拆解为多个二分类任务。具体来说就是先对问题进行拆分,然后对每个二分类任务训练一个分类学习器;测试时对这些分类器的预测结果进行汇总,然后得出最终分类结果。二、拆解策略2.1 一对一(OVO)①、流程将N个类别进行两两配对,产生N(N-1)/2 个二分类任务,然后为每一个二分类任务训练一个分类器。测试阶段,分类器将新样本进行预测,得到N(N-1)/2个预测结果,最终结果通过”投票”产生。2.2 一对其余(OVR)①、流程对于由N个类别的样本,

2020-11-25 19:39:39 489

原创 机器学习--贝叶斯模型(6)

一、概念及公式1.1 条件概率公式①、 设A、B是两个事件,且P(A)>0,称 P(B|A)=P(AB)/P(A) 为在事件A发生的条件下事件B发生的条件概率。其中P(A|B) = P(B|A)P(A) / P(B) 为贝叶斯公式如果事件B1、B2、B3…Bn 构成一个完备事件组,即它们两两互不相容,其和为全集;并且P(Bi)大于0,则对任一事件A有P(A)=P(A|B1)*P(B1) + P(A|B2)*P(B2) + … + P(A|Bn)*P(Bn).为全概率公式1.2 变形得

2020-11-25 19:38:42 1754

原创 机器学习---logistic回归(5)

一、广义线性模型①、广义线性模型:将线性回归的假设函数作为自变量映射到另一个函数上即:这样的模型为广义线性回归,其中函数g 为联系函数。②、作用:将分类任务的真实标记y 与线性回归模型的预测值联系起来二、逻辑斯蒂回归虽然逻辑回归能够用于分类,不过其本质还是线性回归。它仅在线性回归的基础上,在特征到结果的映射中加入了一层sigmoid函数(非线性)映射,即先把特征线性求和,然后使用sigmoid函数来预测。2.1 sigmoid函数①、首先我想到了阶跃函数:但是阶跃函数在0处不连续,且无

2020-11-20 17:58:29 420

原创 机器学习--岭回归和Lasso回归(4)

任何数据都存在噪声和多重共线性如何解决多重共线性 ?1.算法角度(正则化)2.数据角度(最有效果)岭回归与Lasso回归的出现是为了解决线性回归出现的过拟合(数据间高度线性相关)以及在通过正规方程方法求解θ的过程中出现的x转置乘以x不可逆这两类问题的,这两种回归均通过在损失函数中引入正则化项来达到目的,具体三者的损失函数对比见下图:其中λ称为正则化参数,如果λ选取过大,会把所有参数θ均最小化,造成欠拟合,如果λ选取过小,会导致对过拟合问题解决不当,因此λ的选取是一个技术活。岭回归与Lasso回

2020-11-20 17:44:15 954

原创 机器学习---普通线性回归模型(3)

线性回归一般分为单变量线性回归和多变量线性回归。对于单变量线性回归,我们要做的就是怎么样通过学习得到一个假设函数(h),从而能给出房子的估值??①、假设函数的一般形式:②、参数③、代价函数:拟合参数的标准,这边为均方误差④、求解代价函数为最小值时的参数而解决最小化问题时,我们引入了 梯度下降算法。梯度算法的思想:开始时我们随机选择一个参数的组合(ø0,ø1,…,øn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。持续这样做直到找到一个局部最小值(Local Mi

2020-11-20 17:43:51 1571

原创 机器学习--K近邻算法(KNN)(2)

一、简介K-Nearest-Neighbor 算法是一种常用的监督学习算法,它没有显式的训练过程,是‘懒惰学习’的显著代表,此类学习算法仅在训练阶段将训练集保存起来,训练时间开销为0,待收到测试样本后在进行处理二、工作机制给定测试样本,基于某种距离度量找出训练集种与其最靠近的k个训练样本,然后基于这k个‘邻居’的信息来进行预测。在分类任务中,可使用“投票法”,即选择这k个样本中出现类别最多的标记作为预测结果;在回归任务中使用“平均法”,将这k个样本的实值输出标记的平均值作为预测结果;还可以基于距离远

2020-11-18 09:13:23 951 1

原创 机器学习基本概念(1)

一、机器学习概念1.1 什么是机器学习机器学习是研究如何通过计算的手段,利用经验来改进系统的性能,而经验往往是指数据。机器学习本质上是一种复杂的算法,它通过在大量的数据中挖掘隐含的信息,从而达到预测输出和分类的目的。1.2 目标通过学习得到的模型,很好的适用于新的样本,这种能力也叫泛化能力。1.3 基本术语数据集:n条记录的集合示例(样本、特征向量):每条记录关于一个事件或者对象的描述 ,即一条记录属性(特征):反映事件或对象在某一方面的表现或者性质的事项,即一个字段属性值:属性的取值属

2020-11-13 09:49:50 437

原创 假设检验

import scipy一、卡方检验卡方验证可以解决两组离散变量的相关性, 常用于建模中,研究某个字段是否对离散型的预测目标有影响chi2, p, dof = stats.chi2_contingency(两组数据array)统计量 p值 自由度二、T检验t检验:–用于对各变量系数显著性检验–用于检查假设的期望和抽样的样本期望是否一致–用于小样本判断标准:一般用p值 0.05来衡量小于0.05 显著大于0.05不显著2.1 单样本T检验-ttest_1sampstats.tte

2020-11-12 21:57:23 877

原创 参数估计

一、参数估计的一般问题1.1 估计量与估计值估计量:用于估计总体参数的随机变量估计值:估计参数时计算出来的统计量的具体值1.2 点估计和区间估计∙\bullet∙ 点估计:用样本的估计值的某个取值直接作为总体参数的估计值无法给出估计值接近总体参数程度的信息∙\bullet∙ 区间估计:在点估计的基础上,给出总体参数估计的一个区间范围,该区间由样本统计量加减估计误差得到根据样本统计量的抽样分布能够对样本统计量与总体参数的接近程度给出一个概率度量∙\bullet∙ 置信水平:将构造置信区

2020-11-12 21:56:57 586

原创 统计量与抽样分布

一、统计量1.1 统计量统计量:由样本构造的一个函数,且不依赖于任何未知参数。统计量是统计推断的基础次序统计量:样本值有序中位数、分位数、四分位数都是次序统计量二、分布2.1 抽样分布样本统计量的概率分布,是一种理论分布重复选取样本容量为n的样本时,该统计量所有可能的取值形成的相对频数分布样本统计量是随机变量结果来自容量相同的所有可能样本2.2 正态分布∙\bullet∙ 分布函数的概念:函数F(X)= P(X<= x)为X的分布函数,表示随机变量X小于等于x的概率

2020-11-12 21:56:37 1486

原创 数据的描述性统计

一、集中趋势的度量集中趋势:1.一组数据向其中心值靠拢的倾向和程度2.测量集中趋势就是寻找数据水平的代表值和中心值3.不同数据类型用不同的集中趋势测量值4.低层次的测量值适用于高层次的测量数据;高层次的测量值不适用于低层次的测量数据1.1 分类数据:众数(M0)1.一组数据中出现次数最多的变量值2.适用于数据较多的情况3.不受极端值影响4.一组数据可能没有众数,也可以有多个众数5.主要用于分类数据,也可以用于数值数据和顺序数据1.2 顺序数据:中位数(Me)和分位数1.排

2020-11-12 21:56:11 20440

原创 python进阶--python操作excel(3)

一、xlsxwirter三方库优点写的快功能多缺点只能写问题内容并不是直接写入文件中只有在关闭的时候才会写入文件实例:# 创建excel文件wb = xlsxwriter.Workbook("cars.xlsx")# 在该文件下创建sheetws = self.wb.get_worksheet_by_name("Car") or self.wb.add_worksheet("Car")ws.write(row,col,*arg)wb.close()二、

2020-10-23 17:53:47 173

原创 python网络爬虫--爬虫性能分析(9)

多线程,多进程,协程提升性能硬件级别电脑组成的硬件网络加设备软件级别操作系统指定软件进行优化具体软件软件版本软件编程数据结构算法流程时间 空间 转换具体的小方案XXX多设备协作集群很多设备做完全一样的事情分布式做的是不一样的事共同完成了一件事情还是有做相同事情的机器的...

2020-10-23 17:44:34 292

原创 python网络爬虫--项目实战--scrapy爬取贝壳网(7)

一、完整代码bk.pyimport jsonimport scrapyfrom ScrapyAdvanced.items import HouseItemclass BkSpider(scrapy.Spider): name = 'bk' allowed_domains = ['bj.ke.com'] start_urls = ['https://bj.ke.com/ershoufang/'] def parse(self, response):

2020-10-23 08:42:48 684

原创 python网络爬虫--项目实战--scrapy嵌入selenium,芯片厂级联评论爬取(6)

一、目标爬取芯片厂电影级联页面的评论二、分析2.1 网页分析经过研究发现,该网页的评论是动态加载的。故我们本次采用selenium来解决。本次只拿数据不进行存储。三、完整代码xpc.pyimport scrapyclass XpcSpider(scrapy.Spider): name = 'xpc' allowed_domains = ['www.xinpianchang.com'] start_urls = ['https://www.xinpianchang.

2020-10-23 08:25:29 1531 2

原创 python网络爬虫--项目实战--scrapy爬取人人车(5)

一、目标爬取多页人人车的车辆信息二、分析2.1 网站分析在网页源代码中可以搜索到页面中的数据,所以可以判断该页面为静态加载的三、完整代码renrenche.pyimport scrapyfrom car.items import RrcItemclass RenrencheSpider(scrapy.Spider): name = 'renrenche' allowed_domains = ['www.renrenche.com'] start_urls =

2020-10-22 22:38:37 808

原创 python网络爬虫--项目实战--scrapy爬取前程无忧招聘信息(4)

网站分析:发现该网站是动态加载的完整代码:a51job.pyimport jsonimport scrapyfrom LearnScrapy1.items import CompanyItem, JobDescItemclass A51jobSpider(scrapy.Spider): name = '51job' allowed_domains = ['search.51job.com'] start_urls = [ 'https://sea

2020-10-21 20:25:48 882 1

原创 python网络爬虫--项目实战--用scrapy框架爬取王者荣耀英雄信息(3)

wzry.pyimport scrapyfrom LearnScrapy.items import HeroItemclass WzrySpider(scrapy.Spider): name = 'wzry' allowed_domains = ['pvp.qq.com'] start_urls = ['https://pvp.qq.com/web201605/herolist.shtml'] hero_detail_base_url = "https://pv

2020-10-20 19:02:24 700

原创 python网络爬虫--scrapy框架(8)

一、简介它是使用了纯python打造的爬虫框架,包含了数据获取、数据提取、数据存储等。1.1 框架框架:和其他三方库没什么本质的区别。框架的优点:1.可以简化开发,用少量的代码实现复杂的功能。2.架构设计3.代码的可维护性和可扩展性都比较强框架的缺点:1.入门门槛高1.2 知识点1.2.1 回调函数:在同步开发中没有回调函数的概念回调函数使用场景都是异步开发异步操作完成,主动通知给程序这个过程就叫回调1.2.2 同步和异步同步程序线性执行异步

2020-10-19 21:16:19 334 2

原创 Python网络爬虫--selenium使用(6)

一、软件安装使用selenium前需要下载对应浏览器的驱动,我使用的是谷歌下载地址:http://npm.taobao.org/mirrors/chromedriver/将解压后的chromedriver.exe文件放到python的工作目录下最后 终端 pip install selenium 即可二、导航到链接from selenium.webdriver.chrome.webdriver import WebDriverurl = 'https://www.csdn.net/'dri

2020-10-19 21:15:51 97

原创 Python网络爬虫--项目实战(2)--起点小说爬取

一、目标爬取起点小说一本免费小说,并将所有章节名称和内容都保存到本地我选择爬取“”我真的好想打球“”二、分析2.1 网页分析ctrl+U 进入网页的源代码,输入任意章节名称,可以在代码中找到,初步判定该网页为静态加载的2.2 反爬分析同样的IP爬取可能会被反爬,所有我选择 fake_useragent 三方库来生成随机的User-Agent三、注意点1.要将爬取的内容进行数据的清洗四、完整代码import requestsfrom fake_useragent import

2020-10-18 09:32:47 643

原创 python网络爬虫--项目实战(1)--500px图片爬取

一、目标爬取500px图片并保存目标网址:https://500px.com.cn/community/discover二、分析2.1 网站分析:经过研究发现该网站没有点击下一页的按钮,然后往下拖动下拉条直到最后,会自动刷新出新的内容,基本可以得出该网页是动态刷新的。或者ctrl+U 打开页面源码,复制粘贴一张图片的地址,在源码中找不到对应的地址,也可以判断该页面为动态加载的。2.2 反爬分析:相同的IP爬取大量的图片可能会被反爬(频率反爬),故需要采用UA池三、注意点:1.一定要选取

2020-10-17 15:46:40 512

原创 python网络爬虫--练习

一、爬取王者荣耀英雄信息import jsonimport pymysqlimport requestsfrom lxml import etreedef get_heros(url): response = requests.get(url) response.encoding = 'GBK' # 王者荣耀官网编码为gbk,pycharm默认utf-8,故中文乱码 html_etree = etree.HTML(response.text) return

2020-10-17 15:29:47 489

原创 python网络爬虫--反爬(7)

服务器常见反爬虫策略验证用户身份User-Agent应对方案爬虫在请求头中添加就可以了验证登陆身份Web浏览器中cookie专用终端 token其实就是名字不一样应对方案获取登陆后的cookie来使用频率反爬30秒之内搜索一次1分钟之内只能浏览10次应对方案降低频率,随机休眠频率统计策略ip切换ip代理代理池买cookie切换cookiecookie池买cookie账号根据设备信息自己

2020-10-17 09:54:09 139

原创 数据分析工具--matplotlib

一、简介Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。matplotlib.pyplot是一组命令样式函数,使Matplotlib的工作方式类似于MATLAB。每个pylot函数对图形进行一些更改:例如,创建图形、在图形中创建绘图区域、在绘图区域中绘制一些线、使用标签装饰绘图等。pyplot主要用于交互式绘图和程序化绘图生成的简单情况。...

2020-10-15 21:45:41 349

原创 数据分析工具--pandas

一、series对象1.1定义它是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。1.2 生成series对象格式: pd.Series(data=None,index=None,dtype=None,name=None,copy=False,fastpath=False) 参数描述:index默认从0开始也可以自定义,可以为非整型。 name为表的

2020-10-15 21:45:00 415

原创 python网络爬虫--selenium(6)--练习

一、打开网页获取页面源码from selenium.webdriver.chrome import webdriver# 初始化,需要加载浏览器驱动driver = webdriver.WebDriver(executable_path="chromedriver.exe")url='https://www.xinpianchang.com/channel/index/sort-like?from=navigator'driver.get(url) # 打开网页page_source = d

2020-10-15 21:44:12 166

原创 Python网络爬虫--数据持久化(5)

一、数据转换算法摘要,指纹算法,哈希算法,杂凑算法使用场景验证数据完整性所有人都需要提防的场景常见摘要算法md5sha特性单向不可逆不管输入多长,输出长度都是固定的输入如果一样,输出一定一样输入只要发生细微变化,输出会有非常明显的变化编码为了兼容性问题编码会对应解码编码是可逆的A->C C->A常见utf-8base64加密密钥对称加密加密和解密是同一把钥匙常见算法DES,AES非对称加密

2020-10-15 21:42:27 177

原创 python网络爬虫--数据提取xpath(4)

xpath使用:1.导入lxml.etree:from lxml import etree2.etree.parse() 解析本地文件html_tree = etree.parse(‘xx.heml’)3.etree.HTML() 服务器响应文件html_tree = etree.HTML(response.read().decode(‘utf-8’))4.html_tree.xpath(xpath路径)基本语法:1.路径查询//:查找所有的子孙结点,不考虑层级关系/: 找直接子

2020-10-14 10:11:47 783

原创 python网络爬虫--Requests库(3)

一、 requests.get(url, params=None, **kwargs)import requestsurl = 'https://www.csdn.net/'response = requests.get(url)print(response) # <Response [200]>,只打印状态码print(response.text) # 输出响应的内容二、response属性和方法1.1 属性属性描述cookies服务器返回给客户

2020-10-13 20:00:51 86

原创 数据分析工具--numpy

一、ndarray数组对象属性1.1内存布局:以下属性包含有关数组内存布局的信息:方法描述ndarray.flags有关数组内存布局的信息。ndarray.shape数组维度的元组。ndarray.strides遍历数组时每个维度中的字节元组。ndarray.ndim数组维数。ndarray.dataPython缓冲区对象指向数组的数据的开头。ndarray.size数组中的元素数。ndarray.itemsize一个数组元素的长度

2020-09-22 19:59:01 902

原创 jupyter note 的使用(1)

一、简介∙\bullet∙ 概念:Jupyter Notebook 是一款开放源代码的 Web 应用程序,可让我们创建并共享代码和文档。∙\bullet∙ 用途:它提供了一个环境,你可以在其中记录代码,运行代码,查看结果,可视化数据并在查看输出结果。这些特性使其成为一款执行端到端数据科学工作流程的便捷工具 ,可以用于数据清理,统计建模,构建和训练机器学习模型,可视化数据以及许多其他用途。∙\bullet∙ 语法规则:同python ,使用略有区别∙\bullet∙ 快捷键:Jupyter笔记本

2020-09-22 19:57:55 247 1

原创 python网络爬虫--urllib库的使用(2)

一、模拟浏览器向服务器发送请求url组成:import urllib.requesturl = 'http://www.baidu.com'# 模拟浏览器向服务器发送请求response = urllib.request.urlopen(url=url)# 读取响应的内容print(response.read(n)) 返回二进制的值,n代表读取的字节数二、response的类型和六个方法类型:HTTPResponse方法:1.read()2.readline() 读一行3.

2020-09-22 15:43:55 294

原创 python网络爬虫--基本概念(1)

一、爬虫简介1.1 爬虫的定义网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。1.2 爬虫的分类...

2020-09-22 15:43:16 259

色环电阻查询

色环电阻查询输入颜色,可以查询电阻阻值

2013-05-12

空空如也

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

TA关注的人

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