- 博客(64)
- 收藏
- 关注
原创 Scrapy框架
scrapy简介Scrapy是一个用于抓取web站点和提取结构化数据的应用框架,它可用于广泛的有用应用,如数据挖掘、信息处理或历史存档。可以参考scrapy的英文文档或者中文文档整体的架构大致如下:scrapy框架由scrapy引擎(scrapy engine)、调度器(scheduler)、下载器(downloader)、蜘蛛(spider)以及项目管道(item pipeline)组成。工作流程大致如下:首先scrapy引擎向调度器发送请求,调度器从url队列中取出一个url交给下载器,其
2020-08-29 11:12:28
1284
原创 上采样+下采样+分层抽样
数据生成import pandas as pdimport numpy as npdata = pd.DataFrame(np.random.random((50, 3)), columns=['a', 'b', 'c'])data['y'] = np.vstack((np.zeros((6, 1)), np.ones((44, 1))))过采样/上采样# 朴素随机过采样 过采样后样本类别的比列为1:1from imblearn.over_sampling import RandomOve
2020-08-21 20:01:29
1072
原创 中文分词工具
jiebaimport jiebaimport resentence = '叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉的流水,遮住了,不能见一些颜色。'sentence = re.sub('[,。?!、]', '', sentence)result = list(jieba.cut(sentence))print(result)# ['叶子', '本是', '肩并肩', '密密', '地', '挨着', '这', '便', '宛然', '有', '了', '一道',
2020-08-06 20:11:29
493
原创 selenium
selenium简介介绍Selenium是一个用于Web应用程序测试的工具,是一个自动化测试工具,用来模拟用户正常访问浏览器。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动
2020-07-25 15:39:41
826
转载 HTML协议
原文:https://www.cnblogs.com/an-wen/p/11180076.html有所删减HTTP协议简介超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端
2020-07-25 15:14:08
1264
原创 特征选择
过滤法单变量特征选择通过单变量统计检验选择特征SelectKBest只保留K个最高分的特征SelectPercentile只保留用户指定的百分比的最高得分的特征使用常见的单变量统计检验分类:使用chi2卡方f_classif方差分析mutual_info_classif互信息回归:使用f_regression相关系数mutual_info_regression互信息# 方差过滤from sklearn.feature_selection import VarianceThresh
2020-05-30 12:45:38
1475
原创 pandas时间序列
import pandas as pdimport numpy as npimport datetimedf = pd.DataFrame({'date': ['20200101', '20200201', '20200301'], 'num':[25,10,38]})df# 将时间序列转化为标准的年月日的形式df['date'] = pd.to_datetime(df['date'])df# 生成定频日期与时间段序列dt = pd.date_range('2020-03-01',
2020-05-09 10:04:01
1282
原创 numpy库
numpy库的使用创建数组x1 = np.array([1, 2, 3], dtype="int8")print(x1)print(x1.dtype) # 数据类型x2 = np.array(range(1, 10), dtype="int8")print(x2)print(x2.dtype)x3 = np.arange(1, 10, 2, dtype="int8")p...
2020-03-25 11:34:18
2395
原创 神经网络的前向传播和反向传播推导
神经网络的前向传播和反向传播推导x1x_{1}x1和x2x_{2}x2表示输入wijw_{ij}wij表示权重bijb_{ij}bij表示偏置σi\sigma_{i}σi表示激活函数,这里使用sigmoid激活函数outoutout表示输出yyy表示真实值η\etaη表示学习率前向传播h1=w11x1+w13x2+b11h_{1}=w_{11}x_{1}+w_{13}...
2020-03-24 10:39:32
3864
原创 B树和B+树
索引:用于快速查找行的数据结构B树所有的值都是按照顺序存储,没有重复的元素,并且每个叶子节点到根节点的距离相同,B树的中间节点会存储数据指针信息,B树索引能够加快访问速度,是因为存储引擎不再需要全表扫描来获取数据。B+树B+树有重复的元素,而且B+树只有叶子节点才存储数据指针信息,B+树的叶子节点有一个指针指向下一个叶子节点,把所有的叶子节点连起来。相比于B树,B+树的优点:1、由...
2020-03-20 17:34:51
2273
原创 python3正则表达式
re.match函数re.match函数尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。函数语法:re.match(pattern, string, flags=0)参数描述pattern匹配的正则表达式string要匹配的字符串flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配...
2020-02-17 11:25:00
1924
原创 Linux最常用的命令(2)
权限管理命令chmod功能:改变文件或目录的权限示例含义chmod u+x 文件或目录给所有者增加执行(x)权限chmod g+w,o-r 文件或目录给所属组增加w权限,其他人减少r权限chmod g=rwx 文件或目录给所属组的权限设置为rwxchmod 640 文件或目录把所有者的权限改成6(rw-),所属组的权限改为4(r–),其他人的权限...
2019-12-31 15:34:48
2082
1
原创 Linux最常用的命令(1)
Linux的目录目录作用/bin/存放系统命令的目录,普通用户和超级用户都可以执行/sbin/保存系统和环境设置相关的命令/usr/bin/存放系统命令的目录/boot/系统启动目录,保存系统启动相关的文件/dev/设备文件保存的位置/etc配置文件保存的位置/home/普通用户的家目录/lib/系统调用函数库保存的位...
2019-12-31 10:06:01
2703
翻译 初次使用BERT的可视化指南
初次使用BERT的可视化指南在过去几年里,处理语言的机器学习模型的进展一直在迅速加快。这一进步已经离开了研究实验室,开始为一些领先的数字产品提供动力。这方面的一个很好的例子是最近公布的BERT模型如何成为谷歌搜索背后的主要力量。谷歌认为,这一步(即自然语言理解在搜索领域的应用进展)代表了过去五年最大的飞跃,也是搜索历史上最大的飞跃之一。这篇文章是关于如何使用BERT的变体对句子进行分类的简单...
2019-12-25 20:39:27
3304
1
原创 jieba库的基本使用
分词import jieba# 朱自清散文节选text = '人生就是一种承受,一种压力,让我们在负重中前行,在逼迫中奋进。无论走到哪里,我们都要学会支撑自己,没有人陪你走一辈子,所以你要适应孤独,没有人会帮你一辈子,所以你要奋斗一生。'seg_text = jieba.cut(text, cut_all=False)print('/'.join(seg_text))人生/就是...
2019-12-23 10:19:12
2349
原创 文本转化为向量
假如有一句话"I am a student"。用向量来表示每个单词,采用one hot 编码表示方式:I -> [1,0,0,0]am -> [0,1,0,0]a -> [0,0,1,0]student -> [0,0,0,1]我们会发现两个缺点:(1)单词向量之间的内积为0,它们相互独立。这与实际情况是矛盾的,单词之间是有一定的联系,比如woman与girl,...
2019-11-23 21:00:54
11884
原创 python连接mysql
插入数据import pymysqlconn = pymysql.connect(host='127.0.0.1' ,user='root', passwd='123456', db='test', port=3306, charset='utf8')cur = conn.cursor()# cur.execute("drop table if EXISTS test") # 如果...
2019-11-11 11:19:53
4137
原创 中文分词工具
jieba分词import jiebatext = '林花谢了春红,太匆匆。无奈朝来寒雨晚来风。胭脂泪,相留醉,几时重。自是人生长恨水长东。'result = '/'.join(jieba.cut(text, cut_all=False))print(result)jieba分词结果:林花谢/了/春红/,/太/匆匆/。/无奈/朝来/寒雨晚/来风/。/胭脂/泪/,/相留/醉/,/...
2019-11-07 21:44:15
4395
原创 数据库
MySQL数据库的基本操作创建数据库create database 数据库名;查看数据库show databases;使用数据库use 数据库名;
2019-11-06 19:57:08
3611
原创 隐马尔可夫模型
马尔可夫模型对于某个系统包含了n个有限状态,某个状态随着时刻推移而转移到另一个状态。如果t时刻的状态与前面m个时刻相关,那么称为m阶马尔可夫链。马尔可夫过程是个随机过程,系统从一个状态转移到另一个状态存在转移概率,而转移概率可以通过前面m个时刻的状态来计算。马尔可夫过程是随机过程的典型代表,随机过程是指一个系统的状态随着时间随机的变化。这种模型可以计算出系统每一时刻处于各种状态之间的转移概率。...
2019-10-11 16:28:47
4950
原创 词性标注
对中文进行词性标注步骤:读取文本读取停用词分词、删除停用词词性标注统计词频# 中文、词性标记、统计词频import reimport jiebaimport jieba.posseg as psegimport pandas as pdclass WordsCounter(): def __init__(self, filepath, path):...
2019-10-10 10:26:20
6257
2
原创 推荐系统(3)
隐语义模型(LFM)从数据出发,进行个性化推荐用户和物品之间有着隐含关系计算机能够更好的理解隐含因子将用户和物品通过中介隐含因子联系起来隐语义模型是基于机器学习的思想,ItemCF和UserCF是基于统计建模的思想RUI=PUQI=∑k=1KPUkQkIR_{UI}=P_{U}Q_{I}=\sum_{k=1}^{K}P_{Uk}Q_{kI}RUI=PUQI=∑k=1KPUk...
2019-10-08 16:15:40
2595
原创 排序算法
1、直接插入排序def insert(alist): n = len(alist) for i in range(1, n): for j in range(i, 0, -1): if alist[j-1] > alist[j]: alist[j-1], alist[j] = alist[j], ali...
2019-09-05 17:39:25
3058
原创 推荐系统(2)
基于用户的协同过滤算法(UserCF)基于用户的协同过滤算法是通过用户的历史行为数据发现用户对物品的喜好,并对这些喜好进行度量和打分,根据不同用户对相同物品的偏好计算用户之间的相似度,在有相同喜好的用户间进行推荐。步骤:找到与目标用户兴趣相似的用户集合找到这个集合中用户喜欢的并且目标用户没有购买过的物品推荐给目标用户优点:能够在用户间相互协助,根据用户对物品的打分的相似性对用户...
2019-09-02 20:11:40
2894
原创 XGBoost的原生接口和xgboost库接口对比
1、XGBoost原生接口----分类import numpy as npfrom sklearn.datasets import load_irisfrom sklearn.metrics import accuracy_scorefrom sklearn.model_selection import train_test_splitimport xgboost as xgbdat...
2019-08-26 11:33:29
3195
1
原创 LightGBM的原生接口和lightgbm库接口对比
LightGBM原生接口----分类模型import lightgbm as lgbfrom sklearn.metrics import accuracy_scorefrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitimport numpy as npi...
2019-08-26 11:10:29
4774
原创 特征选择
1、去掉方差较小的特征删除方差不满足某个阈值的所有特征,默认情况下,它删除所有0方差特征,即在所有样本中具有相同值的特征。from sklearn.datasets import load_bostonfrom sklearn.feature_selection import VarianceThresholdboston = load_boston()x = boston.data...
2019-08-17 21:07:53
3610
转载 推荐系统(1)
有关推荐系统评测指标什么才是好的推荐系统?这是推荐系统评测的需要解决的首要问题。那怎么去判断一个系统的好坏呢?一个好的推荐系统不仅仅能够准确的预测用户的行为,而且还能够扩展用户的视野,帮助用户发现那些他们可能会感兴趣但却不那么容易发现的东西。评价一个推荐系统的好坏一般有几个不同的指标,这些指标包括:准确度、覆盖度、新颖度、惊喜度、信任度等。这些指标中,有些是可以离线计算,有的只能在线计算,有些...
2019-08-17 20:40:39
3684
原创 面试题
1、relu激活函数的好处relu激活函数计算简单,可以减少很多计算量。反向传播求误差梯度时,计算量较大,采用relu激活函数,可以节省很多计算量。避免梯度消失问题。对于深层网络,sigmoid函数反向传播时,很容易会出现梯度消失问题(sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况造成信息丢失),从而无法完成深层网络的训练。可以缓解过拟合的问题。relu会使一部分神经元的输出...
2019-08-11 23:29:14
3894
原创 Dropout vs BatchNormalization
DropoutDropout是神经网络中防止模型过拟合的重要正则化方式。2014年 Hinton 提出了一个神器,《Dropout: A Simple Way to Prevent Neural Networks from Overfitting 》。原文:(http://jmlr.org/papers/v15/srivastava14a.html)。dropout 是指在深度学习网络的训练...
2019-08-09 11:57:07
6225
原创 文本分类(5)-TextCNN实现文本分类
利用TetxCNN对IMDB Reviwe文本进行分类,数据集地址:https://pan.baidu.com/s/1EYoqAcW238saKy3uQCfC3w提取码:ilzeimport numpy as npimport loggingfrom keras import Inputfrom keras.layers import Conv1D, MaxPool1D, Dense,...
2019-07-14 11:20:39
11577
翻译 TextCNN
TextCNN在2014年,美国纽约大学的Yoon Kim提出了一种TextCNN模型,把卷积神经网络(CNN)用于文本分类,利用多个不同大小的卷积核来提取文本中的特征,从而能够更好地捕捉局部的相关性。论文地址:Convolutional Neural Networks for Sentence Classification1、网络结构TextCNN的详细原理TextCNN详细过程:...
2019-07-14 10:20:20
6965
原创 pandas分组聚合
基本操作import pandas as pdimport numpy as npdf = pd.DataFrame({'a':['one','two','one','two'], 'b':['key1', 'key1','key2','key2'], 'c':[2,3,4,5], ...
2019-07-11 21:20:10
14686
原创 matplotlib绘图2
from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltimport numpy as npfrom matplotlib import cmfig = plt.figure()ax = fig.add_subplot(111, projection='3d')u = np.linspace(-1,...
2019-07-09 21:25:47
11738
原创 多分类
from sklearn.datasets import load_irisfrom sklearn.linear_model import LogisticRegressionfrom sklearn.multiclass import OneVsRestClassifierfrom sklearn.metrics import roc_auc_score, roc_curve, f1_s...
2019-06-26 16:49:33
7363
原创 机器学习:朴素贝叶斯算法
正向概率:假设袋子里面有N个红球,M个黑球,取出一个球,此时摸出黑球的概率是多少。逆向概率:事先不知道袋子里面红球和黑球数量的比例,取出一个球或者多个球,观察这些取出的球的颜色,可以对袋子中红球和黑球的比例做出推断。朴素贝叶斯是为了解决逆向概率问题。...
2019-06-02 11:12:03
4216
原创 循环神经网络
循环神经网络(RNN)人工神经网络和卷积神经网络的前提假设是元素之间是相互独立的,输入和输出也是相互独立的。但在现实世界中,很多元素都是相互连接的,比如,我出生在中国,从小在这里长大,所以我能说一口流利的。这里填空,都知道填“中文”,是因为能够根据上下文的内容进行推断,所以就出现了循环神经网络,循环神经网络的本质是像人一样拥有记忆能力,它的输出依赖于当前的输入和记忆。循环神经网络(Recurr...
2019-05-24 10:55:34
7747
原创 卷积神经网络(CNN)
卷积神经网络(Convolutional Neural Network,CNN)的提出最初是为解决图像识别问题,但是随着技术的发展,现在CNN的应用也不仅局限于图像和视频,也可以用于音频和文本等时间序列数据。CNN作为一个深度学习架构被提出的最初目的是为了降低对图像数据预处理的要求,避免复杂的特征工程。CNN的最大特点在于卷积的权值共享结构,可以减少神经网络的参数量,防止过拟合的同时也减少了神经网...
2019-05-21 15:22:16
16825
原创 文本分类(4)-LSTM实现文本分类
利用LSTM对IMDB Reviwe文本进行分类,数据集可以在kaggle官网上获取,kaggle比赛import pandas as pdimport warningsimport reimport matplotlib.pyplot as pltfrom nltk.stem import WordNetLemmatizerfrom nltk.corpus import stopw...
2019-05-17 09:24:28
24284
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人