自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 资源 (3)
  • 收藏
  • 关注

原创 自然语言处理库—Gensim之Word2vec

1. gensim概述Gensim(http://pypi.python.org/pypi/gensim)是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。 主要用于主题建模和文档相似性处理,它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法。Gensim在诸如获取单词的词向量等任务中非常有用。使用Gensi...

2019-12-10 22:05:24 491

原创 Keras中Sequential模型及方法详细总结

Sequential 序贯模型序贯模型是函数式模型的简略版,为最简单的线性、从头到尾的结构顺序,不分叉,是多个网络层的线性堆叠。Keras实现了很多层,包括core核心层,Convolution卷积层、Pooling池化层等非常丰富有趣的网络结构。我们可以通过将层的列表传递给Sequential的构造函数,来创建一个Sequential模型。from keras.models import...

2019-12-10 21:11:17 9465

原创 矩形覆盖

矩形覆盖我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?class Solution {public: int rectCover(int number) { if ( number <= 0) return 0; else if (number ...

2019-12-09 22:56:40 167

原创 调整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数前面输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。class Solution {public: void reOrderArray(vector<int> &array) { vector<in...

2019-12-09 22:55:25 94

原创 NLTK包的常用总结

NLTKNLTK的全称是natural language toolkit,是一套基于python的自然语言处理工具集。NLTK是Python很强大的第三方库,可以很方便的完成很多自然语言处理(NLP)的任务,包括分词、词性标注、命名实体识别(NER)及句法分析。NLTK的安装nltk的安装十分便捷,只需要pip就可以。pip install nltk在nltk中集成了语料与模型等的包...

2019-12-09 21:32:59 1654

原创 变态跳台阶

变态跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。*/ C++ 解法class Solution {public: int jumpFloorII(int number) { if (number <= 0) return -1; else if (...

2019-12-08 11:58:45 91

原创 斐波那契数列

斐波那契数列大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39*/C++解法class Solution {public: int Fibonacci(int n) { if (n<=1) return n; return Fibonacci(n-1)...

2019-12-06 11:19:32 137

原创 跳台阶

跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。*/C++解法class Solution {public: int jumpFloor(int number) { if (number <= 0){ return 0; } i...

2019-12-06 11:17:48 79

原创 旋转数组的最小数字

旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。*/C++解法*/二分查找class Solution {public: int mi...

2019-12-04 21:55:15 132

原创 用两个栈实现队列

用两个栈实现队列用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。*/C++解法class Solution{public: void push(int node) { stack1.push(node); } int pop() { int a; ...

2019-12-04 21:52:08 86

原创 C++中stack用法

c++ stl栈容器stack用法介绍stack堆栈容器堆栈是一个线性表,插入和删除只在表的一端进行。这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom)。堆栈的元素插入称为入栈,元素的删除称为出栈。由于元素的入栈和出栈总在栈顶进行,因此,堆栈是一个后进先出(Last In First Out)表,即 LIFO 表。C++ STL 的堆栈泛化是直接通过现有的序列容...

2019-12-03 21:48:54 1385

原创 链表中的倒数第k个结点

链表中的倒数第k个结点输入一个链表,输出该链表中倒数第k个结点。# -*- coding:utf-8 -*-*/C++解法/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ...

2019-12-03 16:56:15 91

原创 从尾到头打印链表

从尾到头打印链表输入一个链表,按链表从尾到头的顺序返回一个ArrayList。'''输入一个链表,按链表从尾到头的顺序返回一个ArrayList。'''*/C++ 解法/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* ...

2019-12-02 22:05:57 133

原创 反转链表

反转链表输入一个链表,反转链表后,输出新链表的表头。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* pHead...

2019-12-02 22:03:23 110

原创 反向迭代器(rbegin,rend)

begin and endbegin和end操作产生指向容器内第一个元素和最后一个元素的下一个位置的迭代器,如下所示。这两个迭代器通常用于标记包含容器中所有元素的迭代范围。c.begin() 返回一个迭代器,它指向容器c的第一个元素c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置c.rbegin() 返回一个逆序迭代器,它指向容器c的最后一个元素c.rend() 返...

2019-12-02 21:58:47 1383

原创 C++ vector使用总结

一、vector的使用方法vector是C++标准模板库(STL)中的部分内容,是一个十分有用的容器,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。特别注意:使用vector需要注意以下几点:1、如果你要表示的向量长度较长(需要为向量内部保存很多数),容易导致...

2019-12-02 21:44:12 321

原创 python中时间、日期、时间戳的转换

python中时间、日期、时间戳的转换1 str类型的日期转换为时间戳# 引入模块import time, datetime# 字符类型的时间tss1 = '2013-10-10 23:40:00'# 转为时间数组timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")print timeArray # timeArray可...

2019-11-29 15:32:23 1645

原创 leetcode3(无重复字符的最长子串)

无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长...

2019-11-29 11:26:04 92

原创 替换空格

替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。两种方案:1:从前往后插入,这样移动·的次数多不建议2:从后往前插入从后往前,每个空格后面的字符只需要移动一次。从前往后,当遇到第一个空格时,要移动第一个空格后所有的字符一次;当遇到第二个空格时,要移动第二个空格后...

2019-11-29 11:18:01 105

原创 数据可视化库之Seaborn教程(catplot)

catplot(): 用分类型数据(categorical data)绘图在关系图教程中,我们了解了如何使用不同的可视化表示来显示数据集中多个变量之间的关系。在这些例子中,我们关注的主要关系是两个数值变量之间的情况。如果其中一个主要变量是“分类”(分为不同的组),那么使用更专业的可视化方法可能会有所帮助。下面所有函数的最高级别的整合接口:catplot()Categorical scatte...

2019-11-25 21:43:19 2193

原创 Python中的Counter.most_common()方法

问题怎样找出一个序列中出现次数最多的元素呢?解决方案collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案。为了演示,先假设你有一个单词列表并且想找出哪个单词出现频率最高。你可以这样做:words = [ 'look', 'into', 'my', 'eyes', 'look', 'into', ...

2019-11-25 20:59:05 20427

原创 python中eval和ast.literal_eval的区别

Python中,如果要将字符串型的list,tuple,dict转变成原有的类型呢?这个时候你自然会想到eval. eval函数在Python中做数据类型的转换还是很有用的。它的作用就是把数据还原成它本身或者是能够转化成的数据类型.string <=> listIn [1]: s = '[1, 2, 3, 4]'In [2]: l = eval(s)In [3]: sOu...

2019-11-25 12:00:24 333

原创 2019腾讯广告算法大赛

总参赛队伍1361, 77/1361, top 5%

2019-11-24 17:14:35 519

原创 情感分析(Emotion Detector)

1 概述情感分析是自然语言处理中常见的场景,比如淘宝商品评价,饿了么外卖评价等,对于指导产品更新迭代具有关键性作用。通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外卖服务。情感分析可以采用基于情感词典的传统方法,也可以采用基于深度学习的方法,下面详细讲解2 基于情...

2019-11-20 19:03:40 2254

原创 词向量(Word Embedding)

一、词的表示在自然语言处理任务中,首先需要考虑词如何在计算机中表示。通常,有两种表示方式:one-hot representation和distribution representation。简而言之,词向量技术是将词转化成为稠密向量,并且对于相似的词,其对应的词向量也相近。1.1 离散表示(one-hot representation)传统的基于规则或基于统计的自然语义处理方法将单词看作一...

2019-11-20 18:49:14 3835 1

原创 词性标注实战(Part-Of-Speech tagging, POS tagging)

定义词性标注(Part-Of-Speech tagging, POS tagging)也被称为语法标注(grammatical tagging)或词类消疑(word-category disambiguation),是语料库语言学(corpus linguistics)中将语料库内单词的词性按其含义和上下文内容进行标记的文本数据处理技术 。词性标注可以由人工或特定算法完成,使用机器学习(ma...

2019-11-20 10:16:03 3875

原创 拼写纠错原理以及模型(Spelling Correction model)

拼写纠错(Spelling Correction)1 任务定义拼写纠错(Spelling Correction),又称拼写检查(Spelling Checker),往往被用于字处理软件、输入法和搜索引擎中,如下所示:2 类型拼写纠错一般可以拆分成两个子任务:Spelling Error Detection:按照错误类型不同,分为Non-word Errors和Real-word E...

2019-11-19 17:20:30 5181

原创 拼写纠错实战(spell_correction)

最终效果对测试文本中的每一句话,逐个单词检测是否有拼写错误,检测拼写错误的标准是衡量该单词是否在词典库中出现一、构造词典库读取本地存储词典库文本# 词典库# 转换成集合复杂度O(logn),列表复杂度为O(n)vocab = set([line.rstrip() for line in open('vocab.txt')])print(vocab){'Change', 'pain...

2019-11-19 15:27:20 1479

原创 语言模型(language model)

一、统计语言模型1、什么是统计语言模型?统计语言模型是一个单词序列上的概率分布,对于一个给定长度为m的序列,它可以为整个序列产生一个概率 P(w_1,w_2,…,w_m) 。其实就是想办法找到一个概率分布,它可以表示任意一个句子或序列出现的概率。目前在自然语言处理相关应用非常广泛,如语音识别(speech recognition) , 机器翻译(machine translation), 词...

2019-11-18 17:46:26 5345

原创 词袋模型(BOW,bag of words)和词向量模型(Word Embedding)理解

Word2vec向量空间模型在信息检索中是众所周知的,其中每个文档被表示为向量。矢量分量表示文档中每个单词的权重或重要性。使用余弦相似性度量计算两个文档之间的相似性。尽管对单词使用矢量表示的想法也已经存在了一段时间,但是对于嵌入单词的技术,将单词映射到向量的技术,最近一直在飙升。其中一个驱动因素是TomášMikolov的Word2vec算法,该算法使用大量文本来创建高维(50到300维)的单...

2019-11-18 10:02:37 3808

原创 viterbi算法

简介viterbi算法其实就是多步骤每步多选择模型的最优选择问题,其在每一步的所有选择都保存了前续所有步骤到当前步骤当前选择的最小总代价(或者最大价值)以及当前代价的情况下前继步骤的选择。依次计算完所有步骤后,通过回溯的方法找到最优选择路径。符合这个模型的都可以用viterbi算法解决。最优路径理解在理解viterbi算法之前,我们先来跟随步骤计算一下下面这幅图从左到右的最大路径下面我们...

2019-11-14 20:10:49 518 1

原创 朴素贝叶斯的三个常用模型:高斯(GaussianNB)、多项式(multinomial model)、伯努利(Bernoulli model)

文本分类在文本分类中,假设我们有一个文档d∈X,X是文档向量空间(document space),和一个固定的类集合C={c1,c2,…,cj},类别又称为标签。显然,文档向量空间是一个高维度空间。我们把一堆打了标签的文档集合<d,c>作为训练样本,<d,c>∈X×C。例如:<d,c>={Beijing joins the World Trade Organ...

2019-11-14 12:13:41 6634 1

原创 朴素贝叶斯分类器(Naive Bayes classifier)

朴素贝叶斯生活中很多场合需要用到分类,比如新闻分类、病人分类等等。本文介绍朴素贝叶斯分类器(Naive Bayes classifier),它是一种简单有效的常用分类算法。病人分类让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难。某个医院早上收了六个门诊病人,如下表。症状  职业   疾病打喷嚏 护士   感冒打喷嚏 农夫   过敏头痛  建筑工人 脑震荡头痛  建...

2019-11-14 11:57:18 2065

原创 利用贝叶斯分类器对fetch_20newsgroups数据集进行分类

步骤1 数据采集2 特征提取3 模型训练4 模型评估20 Newsgroups数据集介绍20newsgroups数据集是用于文本分类、文本挖据和信息检索研究的国际标准数据集之一。数据集收集了大约20,000左右的新闻组文档,均匀分为20个不同主题的新闻组集合。一些新闻组的主题特别相似(e.g. comp.sys.ibm.pc.hardware/ comp.sys.mac.hardwar...

2019-11-14 11:28:43 3977

原创 sklearn中使用CountVectorizer和TfidfTransformer计算TF-IDF

CountVectorizeCountVectorizer是属于常见的特征数值计算类,是一个文本特征提取方法。对于每一个训练文本,它只考虑每种词汇在该训练文本中出现的频率。CountVectorizer会将文本中的词语转换为词频矩阵,它通过fit_transform函数计算各个词语出现的次数。CountVectorizer(input='content', encoding='utf-8',...

2019-11-13 21:51:21 3769

原创 TF-IDF算法实现

Python实现TF-IDF算法# -*- coding: utf-8 -*-from collections import defaultdictimport mathimport operator """函数说明:创建数据样本Returns: dataset - 实验样本切分的词条 classVec - 类别标签向量"""def loadDataSet():...

2019-11-13 21:25:58 582

原创 python模块operator对排序的辅助功能

operator 介绍operator模块导出一组与Python的内部运算符相对应的高效函数。例如,等同于表达式,函数名称是用于特殊类方法的函数名称 operator.add(x,y)这些函数属于执行对象比较,逻辑运算,数学运算,序列运算和抽象类型测试的类别。模块特殊函数:都返回一个可调用对象,可以用于 map(), sorted(), itertools.groupby() 等接受一个函...

2019-11-13 17:19:23 224

原创 from collections import defaultdict 的用法

defaultdict:当我使用普通的字典时,用法一般是dict={},添加元素的只需要dict[element] =value即,调用的时候也是如此,dict[element] = xxx,但前提是element字典里,如果不在字典里就会报错,如:这时defaultdict就能排上用场了,defaultdict的作用是在于,当字典里的key不存在但被查找时,返回的不是keyError而是一个...

2019-11-13 17:00:45 7510

原创 TF-IDF原理介绍

TF-IDF定义TF-IDF(Term Frequency-Inverse DocumentFrequency, 词频-逆文件频率),一种用于资讯检索和资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被...

2019-11-13 16:31:23 240

原创 中文分词包jieba的使用总结

安装 jieba 包pip install jiebahttps://github.com/fxsjy/jieba特点:支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。支持繁体分词支持自定义词典M...

2019-11-13 16:04:35 893

DeepLearning-500-questions-master.rar

包含深度学习的常见详细基础知识体系框架,适合入门深度学习的coder

2019-09-27

李宏毅.rar台湾大学李宏毅机器学习课后习题代码

台湾大学李宏毅机器学习课后习题代码,每一个作业题的答案

2019-09-27

Data_Structure_with_Python-master.zip

Python 版数据结构与算法,Python语言实现常见的数据结构

2019-09-27

空空如也

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

TA关注的人

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