自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 统计文本中出现的数量最高的前5个单词

def read_file():with open(‘C:/Users/84785/PycharmProjects/pythonProject/3.txt’, ‘r’, encoding=‘utf-8’) as f:word = [] # 空列表用来存储文本中的单词# readlins为分行读取文本,且返回的是一个列表,每行的数据作为列表中的一个元素:for word_str in f.readlines():# 去除原文中的逗号 双引号word_str = word_str.replace(

2022-02-09 11:34:04 1531

原创 scrapy的使用以及crawl spider的使用导入数据到MySQL

scrapy框架使用scrapy的创建以及使用scapy startproject 项目名cd 项目名scrapy genspider 爬虫名 域名(爬取的地址)scrapy crawl 爬虫名 (运行)举例以电影天堂为例爬虫编写import scrapyfrom scrapy05_movie.items import Scrapy05MovieItemclass MvSpider(scrapy.Spider): name = 'mv' allowed_domain

2021-12-02 21:56:16 627

原创 数据库的事务ACID特性以及MySQL如何保持事物特性

数据库的ACID特性1、原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2、一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。  3、隔离性(Isolation)  隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其

2021-05-30 18:29:39 787

原创 解决多线程中资源竞争

并行:多个CPU同时执行多个任务,就好像有两个程序,这两个程序是真的在两个不同的CPU内同时被执行。并发:CPU交替处理多个任务,还是有两个程序,但是只有一个CPU,会交替处理这两个程序,而不是同时执行,只不过因为CPU执行的速度过快,而会使得人们感到是在“同时”执行,执行的先后取决于各个程序对于时间片资源的争夺。在多线程中利用互斥锁解决资源竞争多线程共享全局变量进程线程区别(把进程理解为流水线 线程就是流水线上的工人)进程是资源分配的单位 线程是操作系统调度的单位 线程不能独立运行 需依

2020-10-04 12:16:27 1684 1

原创 redis-crawlspider

1,建立项目Scrapy startproject bookcd bookscrapy genspider -t crawl amazon amazon.cn2, 与scrapy_redis不同的是继承的类不同from scrapy_redis.spiders import RedisCrawlSpider from scrapy.spiders import CrawlSpider, Rule class AmazonSpider(RedisCrawlSpider):

2020-10-02 23:19:50 160

原创 scrapy_redis分布式爬虫

scrapy_redis分布式爬虫首先安装redis 然后redis连接scrapy_redis 相对于scrapy效率更高,速度更快,代码区别在于1,继承的父类不一样(可以自己查看源码)2,增加redis_key3,在settings.py文件里增加上图四句功能代码DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"SCHEDULER = "scrapy_redis.scheduler.Scheduler"SCHEDU

2020-09-28 16:38:00 213

原创 python中*args与**kwargs

*args与**kwargs当函数的参数不确定时,可以使用*args和**kwargs。*args没有key值,**kwargs有key值一,*args是把参数打包成tuple对象,以方便调用,传入字典的值作为关键词参数时,那就要使用**kwargsdef function_01(x, y, *args): print(x, y, args, type(args))function_01(1, 2, 3, 4, 5, 6)kwargs是将关键字参数打包成字典dict 以便调用

2020-09-14 17:34:50 139

原创 selenium中click方法点击submit

如图 需要点击注册按钮 观察右边 此按钮为submit按钮submit与button不同的是 :button就是一个单纯的点击,submit就不是单纯的单击,它会涉及到前后台的交互,如果是submit按钮,再进行往常click操作,则不会点击,因此可以使用以下方法 driver.find_element_by_xpath(".//div[@class='fixed_bot mar_phone_dis1']/input[@class='btn332 btn_reg_1 submit-step']

2020-09-08 18:27:13 3509

原创 百度翻译js加密逆向解析以及自动检测语言

js逆向解析需要了解chrome调试工具以及断点测试以及简单的js代码1,f12打开开发者工具,找到post请求的包v2transapi,找到post表单也就是from data2,再输入一个新的词语进行翻译,查看data的变化,可知只有query和sign变化,因此了解sign是通过js函数加密的 我们需要找到此函数进行解析3,搜索含有v2transapi的文件,找到index.js,搜索sign发现 sign是通过y函数生成,因此我们需要找到y函数4,使用断点测试 再输入一个词语 找到y

2020-08-17 10:19:16 1369

原创 K-means聚类

聚类假设有m个数据,把数据分为n个类别。1,随机抽取三个样本,把三个样本当作三个类别的中心点(k1,k2,k3)。2,计算其余数据到三个样本中心点的距离,选出最近的一个距离,作为标记,形成三个族群。3,分别计算三个族群的平均值(所有数据距离相加的平均值),与其三个样本中心点比较,如果相同结束聚类;如果不相同,把三个平均值作为新的中心点,重复第二步。K-means APIsklearn.cluster.KMeans性能评估指标APIsklearn.metrics.silhouette_s

2020-08-14 09:43:42 165

原创 分类算法-逻辑回归

分类算法-逻辑回归

2020-08-13 17:14:59 142

原创 sklearn模型的保存和加载

sklearn模型的保存和加载from sklearn.externals import joblib保存: joblib.dump(rf,‘test.pkl’)加载:estimator = joblib.load(‘test.pkl’) 格式pkl

2020-08-13 09:18:33 582

原创 线性回归中的过拟合以及欠拟合

过拟合以及欠拟合假如把天鹅的特征设置为 (嘴巴长,脖子长且弯曲,有翅膀),那么在预测时 就将黑天鹅区别为不是天鹅 此现象为过拟合假如把天鹅特征设置为(嘴巴长,有翅膀),那么预测时会将一些鸟类动物区分为天鹅,此现象为欠拟合根据结果现象判断过拟合还是欠拟合当对结果进行交叉验证时 训练集和测试集结果表现都不行 则为欠拟合 当训练集结果大于预测集,,推测可能是特征过于复杂,则为过拟合欠拟合原因以及解决办法原因:学习到数据的特征过少解决办法: 增加数据的特征量过拟合原因以及解决办法原因: 原

2020-08-13 08:50:37 1246

原创 朴素贝叶斯算法以及应用

朴素贝叶斯算法朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立朴素贝叶斯算法公式朴素贝叶斯之拉普拉斯平滑在很多次计算中,可能会出现概率为0因此这是不合理的 所以引入拉普拉斯平滑 P(C|F1F2F3) = P(F1F2F3|C)P(C)/P(F1F2F3) 相当于比较 P(F1F2F3|C)P(C)即可,还需添加拉普拉斯平滑系数 =((F1+a)/(C+am)) ((F2+a)/(C+am)) ((F3+a)/(C+a

2020-08-10 07:55:59 2204

原创 K近邻算法以及应用

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。缺点: 懒惰算法,当测试样本计算时的分类较大,内存开销大,必须选择k值,当k值选择不当则分类精度不能保证,容易受k值的影响 ,k值取很小 ,容易受异常点的影响,k值取很大,容易受k值数量波动。优点: 简单 易于理解 易于实现 无需估计参数 无需训练

2020-08-09 11:52:38 1703

原创 特征处理

特征处理from sklearn.feature_extraction import DictVectorizerfrom sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizerfrom sklearn.preprocessing import MinMaxScaler, StandardScalerfrom sklearn.impute import SimpleImputerimport pandas as

2020-08-05 12:08:51 113

原创 机器学习之文本特征抽取

文本特征抽取需要使用到jieba库from sklearn.feature_extraction.text import CountVectorizerimport jiebali = ['想变成天上忽明忽暗的云朵', '想吃掉世上最美味的一切', '一想到你呀,我这张脸,就泛起微笑', '爱你,就像爱生命', '当我跨过沉沦的一切,你是我的旗帜']# 利用jieba库对文本进行分隔jieba_data = []for i in li:

2020-08-04 16:21:42 215

原创 机器学习之字典特征抽取

字典特征抽取from sklearn.feature_extraction import DictVectorizerdef dictvec(): # 实例化 dict=DictVectorizer(sparse=False) # 调用fit_transform data=dict.fit_transform([{'city':'上海','temperature':60},{'city':'北京','temperature':100},{'city':'深圳','tem

2020-08-04 15:42:36 372

原创 Linux中vim编辑器显示行数

Linux下vim编辑器默认不显示行数 ,因此需要手动设置1,暂时显示在vim命令行模式下输入 :set nu取消显示:在vim命令行模式下输入: set nonu2,永久显示修改一个配置文件我们输入命令:vim ~/.vimrc打开之后添加 set nu,保存退出,再次进入vim编辑器,就会自动显示出行号...

2020-08-01 13:17:48 1248

原创 xshell连接虚拟机Linux以及连接失败解决方法

xshell6连接Ubuntu一, 官网下载xshell官网链接点击下载 --》 点击填写正确邮箱 在邮箱点击下载链接下载完成直接点击安装二 , 打开xshell6接下来可能会出现链接失败 大概有如下原因1,linux系统下通常不会自动开启ssh服务需要手动安装并且开启ssh服务 apt-get install openssh-client(安装ssh客户端程序) apt-get install openssh-server(安装ssh服务端程序) service

2020-07-27 21:05:12 4002

原创 使用python爬取淘宝商品信息

使用python爬虫爬取淘宝商品信息使用的模块主要有 selenium ,time , re,from selenium import webdriverimport timeimport csvimport redef search_product(key): driver.find_element_by_id('q').send_keys(key) # key为传的形参 driver.find_element_by_class_name("btn-search").cl

2020-07-24 14:53:16 1939

原创 关于如何在虚拟机里安装Linux系统以及遇到的错误

在虚拟机里安装Ubuntu系统教程以及安装时遇到的错误1,下载Ubuntu镜像软件 官网链接最新版本为20.04 以及vm虚拟机2,新建虚拟机3,点击下一步4,点击下一步5,点击下一步6,选择安装路径7,处理器配置8,分配内存9,然后选择虚拟机设置 手动添加iso镜像#到这里虚拟机安装完成 点击开启虚拟机 在安装过程中可能会报一些错误 因为我也是刚安装不久 第一次很快安装成功 不能联网 调试半天 没用 卸载重装之后遇到一系列错误 再此列举一下1, 遇到

2020-07-10 13:01:03 3576

原创 plotly的安装以及基本的绘图教程

众所周知 plotly是一个简易的数据可视化绘图工具 可以使用 jupyter(直接运行)或者pychram(需要生成html文件)等开发工具 因为我在学数据分析时先学习的matplotlib来作图,之后又学习plot发现plot相对更加简单效率 因此推荐plotlyplotly的安装 直接使用pip安装 pip install plotlyplotly的使用 可以用来绘制 折线图 条形图 比例条形图 饼图等常见图形可以使用pandas方法导入csv文件数据 此处不再介绍 如有需要可

2020-07-06 22:56:05 4302

原创 jupyter的安装以及使用

jupyter的安装以及使用此处选择简易的 pip安装方式 pip install jupyter启动jupyter jupyter notebook然后浏览器会自动弹出一个界面我在打开的时候 浏览器没有自动弹出 因此我复制的链接去浏览器打开然后 点击new选项在我的电脑上只安装了python 因此点击python3然后就可以编写代码了...

2020-07-06 16:46:32 1576

原创 使用爬虫的scrapy框架爬取百度贴吧某个贴吧每个帖子的数据

scrapy为爬虫框架 通过框架更加效率的提取数据 使用scrapy框架时 只需要 通过正则 或者xpath 提取想要爬取的数据首先安装 scrapy 模块 使用命令行 pip install scrapy 如果安装失败 则使用其他方法安装 在其他文章里面有详细介绍再创建一个 项目 先cd到所需文件夹 scrapy startproject teiba 再创建一个爬虫 先cd到所建项目 cd teiba scrapy genspider tb tieba.baidiu.com

2020-07-05 22:14:48 2048 2

原创 numpy以及pandas的具体使用

numpy方法的使用 numpy方法:快速,方便,科学计算的基础库,重在数值计算,多用于大型,多维数组上执行数值运算import numpy as npnp.arange方法np.array(range(10)) = np.arange(10)a=np.arange(24) #创建数组array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,17, 18, 19, 20, 21, 22, 23]) a

2020-07-04 17:49:15 422

原创 使用pandas处理数据

使用pandas处理大型数据方法来统计数据下图为使用爬虫爬取豆瓣美国英国中国的电视剧信息要求获得每一个国家的电视剧数量,因此需要数据分析,使用pandas方法进行处理,思路为构造一个全为0的数组,然后循环遍历,将属于每一个类别的电影设为1import pandas as pddf = pd.read_csv(.//douban.csv) #pandas方法读取csv文件也可是txt或别的temp_list = df[“country”].tolist() # 每个电影的国家列表countr

2020-07-03 18:20:46 307 1

原创 python中list(set(a))方法

list(set(a))方法之pythonlist(set(a))方法set方法是对元素进行去重,处理之后是一个字典形式,使用list是将其转化为列表a = ['j','k','f',2,5,3,6,4,7,8,9,6,7,3,2,'j','k']print(b=list(set(a)))[2, 3, 4, 5, 6, 7, 8, 9, 'k', 'j', 'f']...

2020-07-03 17:55:28 8931

原创 关于如何把文件导入mongodb及如何把mongodb的数据导出到某文件

把文件导入mongodb数据库导入方法为mongoimport 数据库连接成功后先返回bin目录 否则直接运行代码出错,输入以下代码 将txt文件导入到mongodb数据库,mydb是 要把txt文件导入的目标数据库,content是mydb数据库里面的集合(如何没有该集合则自动创建),–file为需要导入的文件路径e:\mongodb\bin>mongoimport -d mydb -c content --file c:/txt/TV.txt把mongodb数据库的数据导入到某文件方法如上

2020-06-27 19:53:02 1347

原创 关于python中pip安装各种包失败的解决方法

关于使用pip模块安装python包一直失败1,使用conda模块安装 类似与pip的模块 使用方法为conda install numpy(包的名字)当pip安装失败时 conda一般会成功2,更简便的安装方法使用pip清华园安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas pandas为包的名字 此方法也很好用...

2020-06-27 18:40:58 904 2

原创 关于mongodb 在终端启动时显示服务器无效的解决办法

关于mongodb 在终端启动时显示服务器无效的解决办法1,配置环境变量2,在mongodb目录下创建data文件夹,在data文件夹里创建db和log文件夹,然后在log文件夹里创建mongo.log文件3,再创建mongo.config文件 打开文件写入dbpath=E:\mongodb\data\dblogpath=E:\mongodb\data\log\mongo.log(路径写自己的路径)4,配置服务 以管理员身份运行cmd(电脑左下角搜索cmd,然后右键)5,输入以下代码m

2020-06-27 18:32:57 560

空空如也

空空如也

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

TA关注的人

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