
Python学习
文章平均质量分 54
lzw2016
年轻出来浪!
展开
-
Scrapy入门学习初步总览
OK,因为数据分析的缘故需要采集一些数据,所以学了一段时间的爬虫,但都是利用urllib,requests,Beautifulsoup采取一些小规模的数据,感觉并不顺手,所以从今天开始进入scrapy框架的学习。 事先申明环境配置 win10 python3.6 Pycharm2017.3专业版(网上找秘钥或是使用edu邮箱) 另附我的上一篇文章Windows...原创 2018-02-09 02:22:31 · 882 阅读 · 0 评论 -
(180905)如何通过梯度下降法降低损失----Google机器学习速成课程笔记
Google机器学习速成课程第三天,如何降低损失,梯度下降法,SGD,小批量SGD理论,以及个人对此的理解、笔记通过迭代减少损失梯度下降法个人对减小损失的理解理想的步长 α随机梯度下降法(SGD)小批量随机梯度下降法(小批量 SGD)通过迭代减少损失如图所示,机器学习算法通过不断地通过模型得出预测值,再检验损失进而调整模型的参数(使得损失更小的参数)更...原创 2018-09-05 19:44:00 · 281 阅读 · 0 评论 -
(180903)如何将问题构建成机器学习问题----Google 机器学习速成课程笔记
问题提出 如何创建模型 如何结合输入的数据(信息)进行合理的预测 课程中是以垃圾邮件分类为案例展开的在训练垃圾分类模型时,我们会提供大量的有标签样本进行创建、学习、预测模型,然后通过无标签样本来预测该样本的标签所属。整个流程大概是这样,然后,什么是样本?标签?模型?术语标签 (label)和特征(feature)标签是训练模型时提供的,比如邮...原创 2018-09-03 19:42:57 · 300 阅读 · 0 评论 -
(180909)泛化及解决模型过拟合问题---Google机器学习速成课程笔记
泛化 (Generalization) 是什么先解释什么是泛化。Generalization,一般化,泛化。就是把训练所得模型应用于新的样本数据进行预测的过程。在模型的训练过程中,存在一种现象:模型与训练样本数据过于符合(匹配),但未必对于新的数据也有非常OJBK的预测性。这种现象称为 过拟合过拟合定义像上文所介绍的一样。课程中提到了垃圾邮件分类,和果树好坏分类的案例如图所...原创 2018-09-09 21:07:55 · 259 阅读 · 0 评论 -
数据分析中对numpy、pandas如何理解axis=0/1 行列定义
一直把axis 0为行 ,1为列来记的,今天再次使用时,对删除列drop中axis=1 和对行求均值时 axis=1,这里又有了些迷惑,所以特此记录。再次总结一下,axis=0 确保结果不更改列索引, axis=1 确保结果不变动行索引值(简写为axis行不变为1)。结合上面所提的,对行求平均值结果的行索引未改变,删除列结果行索引也没改变,所以axis=1。此记录适用于Numpy、Pa...原创 2018-09-10 20:30:07 · 809 阅读 · 0 评论 -
(180923)通过正则化降低特征组合过度 模型过于复杂---机器学习速成
问题提出及正则化的引入正则化的提出同样是解决模型过拟合问题,之前提出的特征组合来训练模型,当训练次数足够多时,损失会降低到非常的低,但却会出现过拟合问题。如图迭代次数足够多,模型的复杂度也越高。可见一个好的模型和损失、模型的复杂度都有关。所以,训练优化算法是一个由两项内容组成的函数:一个是损失项,用于衡量模型与数据的拟合度,另一个是正则化项,用于衡量模型复杂度。所以,什么是正则化? 降低...原创 2018-09-23 19:11:36 · 1261 阅读 · 0 评论 -
爬取大西洋月刊每日新闻
导读最近学英语中,想借助原汁原味的英文素材,浏览了下《经济学人》、《纽约时报》、《大西洋月刊》等,发现《大西洋月刊》(The Atlantic)比较合胃口,所以就写了个爬虫爬取每日新闻,保存markdown文件,便于推送到博客上。文章收纳:了解 lxml 的使用Xpath使用·【Python extensions for XPath and XSLT】问题:正则表达式忘得差不多了...原创 2018-10-06 12:21:34 · 1284 阅读 · 0 评论 -
(补充)爬取大西洋月刊并调用彩云小译翻译 API 脚本
导读上一篇文章写了如何爬取《The Atlantic》的新闻学习英语,这篇文章补充上一篇文章,在爬取文章段落时,同时调用翻译接口,到达如图所示的样子。如图,翻译的非常不错,借助的是彩云小译·程序猿都知道的翻译机。以下重点就是讲解如何抓包,使用彩云小译的第三方API问题 文章收纳回顾json库的使用字符串和json的相互转换python爬虫如何POST request payl...原创 2018-10-06 16:57:08 · 3175 阅读 · 4 评论 -
KNN分类和回归学习--sklearn
参考文章:《Python大战机器学习》(不好,就是官方文档的中文版再加上几个简单的例子)数据挖掘十大算法–K近邻算法机器学习笔记—KNN算法常用样本相似性和距离度量方法KNN(K近邻法)输入为实例的特征向量,计算新数据与训练数据之间的距离,选取K个距离最近的数据进行分类或回归判断对于分类问题:输出为实例的类别。分类时,对于新的实例,根据其k个最近邻的训练实例的类别,通过多数表决...原创 2018-10-14 17:02:13 · 5437 阅读 · 0 评论 -
sklearn之贝叶斯分类器使用
贝叶斯分类器原理:基于先验概率P(Y),利用贝叶斯公式计算后验概率P(Y/X)(该对象属于某一类的概率),选择具有最大后验概率的类作为该对象所属类特点:数据可离散可连续;对数据缺失、噪音不敏感;若属性相关性小,分类效果好,相关也不低于决策树朴素贝叶斯算法学习的内容是先验概率和条件概率(都使用极大似然估计这两种概率),公式很难敲,不敲了scikit-learn中根据条件概率不同的分布有多种...原创 2018-10-14 17:04:03 · 3942 阅读 · 0 评论 -
sklearn中的模型评估
文章目录1.介绍2. scoring参数2.1 预定义的值2.2 从metric函数定义你的scoring策略2.3 实现你自己的scoring对象3. 分类metrics3.1 二分类/多分类/多标签3.2 accuracy_score3.3 Cohen’s kappa3.4 混淆矩阵3.5 分类报告3.7 Jaccard相似度系数score3.8 准确率,召回率与F值3.8.1 二分类3.8....转载 2018-10-25 19:14:36 · 811 阅读 · 0 评论 -
sklearn之模型评估指标总结归纳
文章目录机器学习模型评估分类模型回归模型聚类模型交叉验证中指定scoring参数网格搜索中应用机器学习模型评估以下方法,sklearn中都在sklearn.metrics类下,务必记住哪些指标适合分类,那些适合回归,不能混着用分类的模型大多是Classifier结尾,回归是Regression分类模型accuracy_score(准确率得分)是模型分类正确的数据除以样本总数 【模型的s...原创 2018-11-01 17:07:08 · 3370 阅读 · 0 评论 -
利用pandas的to_sql将数据插入MySQL数据库和所踩过的坑
前言最近做一个Django web的项目要把爬取的一些数据存入MySQL中,数据保存为csv格式,想到pandas中有to_sql这个方法,就采用它了准备:连接MySQL数据库所需的第三方包pymysql、sqlalchemy(pip安装即可)实现from sqlalchemy import create_engineengine = create_engine("mysql+pymy...原创 2018-12-02 16:54:50 · 43079 阅读 · 15 评论 -
Python元组tuple到底能不能修改?
最近在看wtfPython——一些奇怪的python特性,发现了一些以前不曾意识到的问题(大概是自己太菜了吧,hhh),这里就列举了一个元组能不能修改。虽然元组的定义是不可改变的,但慢慢看完文章,你会有新发现的看下下面这个问题>>> some_tuple = ([1],[2],[3])>>> some_tuple[0] += [2]Traceback (...原创 2018-12-15 11:40:31 · 19042 阅读 · 0 评论 -
(180911)验证(validation):数据集的进一步划分 避免测试集过拟合---Google机器学习速成课程笔记
上次提到了通过划分数据集为训练集和测试集,并不断迭代训练模型,通过测试集对模型进行评估,进而不断调整超参数,来解决过拟合问题。但是还会出现问题 按数据集分成训练集和测试集不断迭代训练模型的方式,每次迭代时,我们都会对训练数据进行训练并评估测试数据,并以基于测试数据的评估结果为指导来选择和更改各种模型超参数。迭代次数越多,基于给定的该测试集的评估越多,可能会导致模型过拟合该测试集。...原创 2018-09-11 19:11:07 · 1969 阅读 · 0 评论 -
(180904)Descending into ML:线性回归 和 训练与损失---- Google 机器学习速成课程笔记
线性回归模型视频和文章中分别描述了两个例子:通过房屋面积来预测房价,通过虫鸣声来预测温度通过虫鸣声来预测温度,如图线性关系很简单, 不难理解,这里的 y’ 使我们预测的值,b 是偏差,W1 是特征1的权重,X1 是特征1对于多个特征 Xi 而言,我们的目的就是得到理想的权重和偏差,使得预测标签尽可能趋近实际观察标签 ,这就是接下来要说到的训练,损失训练...原创 2018-09-04 20:21:32 · 178 阅读 · 0 评论 -
Sklearn安装成功导入数据集报错 ImportError: cannot import name murmurhash3_32 解决记录
Sklearn的安装pip install -U scikit-learn前提是要安装好numpy、scipy安装很顺利,但是导入包时报错如下 错误提示:numpy、scipy版本不能太旧,有可能和最新的Sklearn包不兼容,导致报错 如import sklearn报错 RuntimeError: module compiled against API ...原创 2018-08-14 17:07:13 · 4956 阅读 · 0 评论 -
scrapy入门学习初步探索之数据保存
在上一篇文章中,谈及了如何使用scrapy取获取网页数据,可参考Scrapy入门学习之初步探索。在此继续谈一下数据保存和一些settings.py的配置。文中会继续上文的豆瓣读书小项目,并新增一个爬取简书所有用户信息的爬虫小项目,文章力求能够讲清学习时所遇到的坑,所以略显冗长。如若您没有耐心,就别往下翻了O(∩_∩)O~ 环境申明: Python3+Pycharm2017 ...原创 2018-02-09 23:54:19 · 672 阅读 · 1 评论 -
爬取通过ajax动态加载的页面(实时监控华尔街见闻资讯与快讯)
学习了几天如何使用scrapy去爬取静态网站,今天尝试去爬取动态加载的网站。选取的网站是华尔街见闻,文中不会像往常一样大篇幅讲解每一步该如何做,而是探讨如何爬取。 在源代码中无法获得全部数据(有的根本没数据),但是通过下拉滑条可以看到网址不变但有数据加载出来,毫无疑问这就是动态加载的网页。以下讲解如何去寻找api接口取获取数据。打开开发者工具,选择Network,刷新,选择XHR,如...原创 2018-02-15 02:06:10 · 6450 阅读 · 0 评论 -
Python之pandas学习(一)
pandas学习(两种数据结构DataFrame & Series)DataFrame(类似numpy的二维数组,是一种带标签的二维对象)有行索引&列索引(默认从0开始,可根据索引选值) 1. 创建方式:从另一个DataFrame创建从具有二维形状的Numpy数组(或类似的嵌套字典啦字典列表啦)来创建从另一类数据结构Series来创建从类似CSV文件来创建...原创 2018-03-10 15:31:34 · 856 阅读 · 0 评论 -
解决Windows下pip install scrapy 出错 及 pycharm使用安利
今天上手学习scrapy在建立虚拟环境后,pip安装scrapy出现如下报错: error: command ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe’ failed with exit status -1073741515先说明本人使用win10,Python3.6,py...原创 2018-01-26 16:44:59 · 3914 阅读 · 0 评论 -
安装pywin32后运行scrapy项目任然报错 ImportError: No module named win32api
今天在搭建一个虚拟环境过程中,遇到了点问题,在此记录一二。安装完scrapy后,再去安装pywin32,之后再通过命令行调试scrapy项目时,发现任然爆出了如下错误:。。。 import win32apiImportError: DLL load failed: 找不到指定的模块。按以往经验只要安装了pywin32就可以了,而且我也找到了\venv\Lib\site-pa...原创 2018-02-26 00:06:23 · 895 阅读 · 1 评论 -
pandas学习之DateFrame的拼接整合
更新:Pandas使用DateFrame串联及附加操作先通过字典创建一个DateFrameimport pandas as pdimport numpy as npdata=dict.fromkeys(['first','second','third'])for i in data: i=[]for i in range(20): data['first...原创 2018-03-31 16:02:30 · 7146 阅读 · 0 评论 -
Python爬虫:人人影视追剧脚本
[TOC] 最近追剧时发现找资源挺繁琐的,网页切换来切换去耗时也多,所以就想写个脚本代替。于是今下午花了点时间,先对人人影视进行了资源爬取。抓包分析搜索页面打开工作台,选择NETWORK,刷新之后,如图: 图中指出的就是搜索接口‘ http ://www.zimuzu.tv/search/index?keyword=西部世界&search_type=resource ’...原创 2018-05-20 18:46:23 · 12116 阅读 · 0 评论 -
使用Pandas分块处理大文件
使用Pandas分块处理大文件问题:今天在处理快手的用户数据时,遇到了一个差不多600M的txt文本,用sublime打开都蹦了,我用pandas.read_table()去读,差不多花了近2分钟,最后打开发现差不多3千万行数据。这仅仅是打开,如果要处理不知得多费劲。解决:我翻了一下文档,这一类读取文件的函数有两个参数:chunksize、iterator原理就是不一次性把文件数据读入...原创 2018-05-27 19:36:50 · 16355 阅读 · 0 评论 -
Python数据分析学习文章归纳
本文搜集我学习实战过程中看到的好文,和自己学习总结的一些文章,持续更新数据分析如何入门学习How do I learn data analysis with Python?虽然是英文的,不过看一遍很大收获(可以用百度翻译看一下)Numpy使用快速入门NumpyStack Overflow Numpy问题汇集书籍推荐NumPy Cookbook -第二版 by Ivan I...原创 2018-05-27 20:36:02 · 1929 阅读 · 0 评论 -
pandas中isin()函数及其逆函数使用
我使用这个函数就是用来清洗数据,删选过滤掉DataFrame中一些行。布尔索引这里你需要知道DateFrame中布尔索引这个东西,可以用满足布尔条件的列值来过滤数据,如下>>> df=pd.DataFrame(np.random.randn(4,4),columns=['A','B','C','D'])>>> df A原创 2018-05-27 21:11:57 · 186944 阅读 · 8 评论 -
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame警告处理
前言在删除和修改DataFrame中的数据时,IPython报出了这个警告。虽然不影响程序执行,而且记得原来在pycharm下也执行过对df的修改但是没有问题,抱着好奇心去查了一番。内容极其相似,以至于完全是复制粘贴的文章,到处都是,看了一下感觉没道理。报错代码:df = mealInfo.head(10)#增加df['pay'] = df['counts']*df['amount...原创 2018-08-04 19:52:36 · 3772 阅读 · 1 评论 -
【转】一道Python面试题:不用 Python 自带的 Dict 实现自己的 HashTable
引言:这个题目其实源于很久之前的一次 Uber 面试,码工换工作无非就是刷 leetcode ,研究如何翻转二叉树之类的算法问题,所以头一次在电话里听到这道题的时候还是挺耳目一新的。当时顺利写出来了,也通过了电面,但觉得还是有不完善的地方,比如说代码不够 “Pythonic” 等,所以趁着周天晚上闲着无事,又拿出来写了写HashTable 本身没啥好说的,中文叫”哈希表“或者”散列表“,这个...原创 2018-12-23 14:04:17 · 782 阅读 · 0 评论