技术
弓长壹次心
这个作者很懒,什么都没留下…
展开
-
StringBuilder与StringBuffer
当频繁操作字符串时,String类会额外产生很多临时变量,使用StringBuilder或StringBuffer就会避免这个问题,至于StringBuilder与StringBuffer,他们基本相似,不同之处在于,StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高。因此一般情况,如果需要创建一个内容可变的字符串,应有限考虑使用StringBu原创 2017-02-24 21:16:02 · 259 阅读 · 0 评论 -
朴素贝叶斯方法进行文本分类
1. 引言贝叶斯方法是一个历史悠久,有着坚实的理论基础的方法,同时处理很多问题时直接而又高效,很多高级自然语言处理模型也可以从它演化而来。因此,学习贝叶斯方法,是研究自然语言处理问题的一个非常好的切入口。2. 贝叶斯公式贝叶斯公式就一行:P(Y|X)=P(X|Y)P(Y)P(X)而它其实是由以下的联合概率公式推导出来:P(转载 2017-10-11 17:02:42 · 4339 阅读 · 1 评论 -
Bagging与随机森林算法原理小结
在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。本文就对集成学习中Bagging与随机森林算法做一个总结。 随机森林是集成学习中可以和梯度提升树GBDT分庭抗礼的算法,尤其是它可以很方便的并行训练,在如今大数据大样本的的时代很有诱惑力转载 2017-09-28 09:54:50 · 537 阅读 · 0 评论 -
机器学习中的交叉验证
交叉验证(Cross validation),交叉验证用于防止模型过于复杂而引起的过拟合.有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证是一种评估统计分析、机器学习算法对独立于训练数据的数据集的泛化能力(generalize转载 2017-09-28 09:53:28 · 2932 阅读 · 0 评论 -
准确率 召回率 F值
1、准确率与召回率(Precision & Recall)准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少转载 2017-06-26 16:29:53 · 725 阅读 · 0 评论 -
深度学习与自然语言处理
简介:1. Intro to NLP and Deep LearningNLP:Natural Language Processing (自然语言处理)的目的,就是让计算机能‘懂得’人类对它‘说’的话,然后去执行一些指定的任务。这些任务有什么呢?Easy: • Spell Checking--拼写检查 • Keyword Search--关键词提原创 2017-05-22 20:25:28 · 571 阅读 · 0 评论 -
范数与距离的关系
1 范数向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离。向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| >= 0,齐次性||cx|| = |c| ||x|| ,三角不等式||x+y|| 常用的向量的范数:L1范数: ||x|| 为x向量各个元素绝对值之和。L2范数: ||x||为x向量各个元素平方和的转载 2017-05-22 10:29:49 · 767 阅读 · 0 评论 -
XML的两种解析方法:DOM与SAX的比较分析
1 SAX解析 SAX:SimpleAPIfor XML。基于事件驱动的解析方法,逐行解析数据。 解析过程:开始标签->取值->结束标签->取值 为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或 结束等时,发送事件,程序员编写响应原创 2017-05-21 19:28:26 · 373 阅读 · 0 评论 -
模型评估的基本方法
介绍 “所有模型都是坏的,但有些模型是有用的”。我们建立模型之后,接下来就要去评估模型,确定这个模型是否‘有用’。当你费尽全力去建立完模型后,你会发现仅仅就是一些单个的数值或单个的曲线去告诉你你的模型到底是否能够派上用场。 在实际情况中,我们会用不同的度量去评估我们的模型,而度量的选择,完全取决于模型的类型和模型以后要做的事。下面我们就会学习到一些用转载 2017-04-19 20:51:44 · 17165 阅读 · 0 评论 -
数据预处理与特征选择
数据预处理和特征选择是数据挖掘与机器学习中关注的重要问题,坊间常说:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。特征工程就是将原始数据转化为有用的特征,更好的表示预测模型处理的实际问题,提升对于未知数据的预测准确性。下图给出了特征工程包含的内容: 本文数据预处理与特征选择的代码均采用sklearn所提供的方法,并使用sklearn中的IRIS(转载 2017-04-19 08:54:03 · 2204 阅读 · 0 评论 -
位运算的理解
昨天写了篇有关集合的东西,中间用到了位运算,看起来还是有点纠结的,今天在这里详细解释一下。(欢迎转载,转载请注明出处,谢谢。)一、有关位运算的基础知识总结位运算包括:&(与)、|(或)、^(异或)、~(取反)、>>(右移)、环境预设:32位机下面,int占2个字节,有符号int a = 11;int b = 1000;(a)2 = (00000000 000转载 2017-04-17 20:57:06 · 816 阅读 · 0 评论 -
Java中读入文档和写入文档
1.将文本中的文字按行读入程序进行处理: public List read(String dataPath) {List readlist = new ArrayList();try {File file = new File(dataPath);if (file.isFile() && file.exists()) {InputStreamReader isr = new原创 2017-03-12 15:50:30 · 481 阅读 · 0 评论 -
获取字符串中所有字符组合的子串
在面对文本处理时,我们经常需要获取一个字符串中所有字符不同组合而成的子串,这个问题是无法简单的通过substring()函数就能解决的。 为此,我们将该问题视为组合问题。求组合的问题,跟求排列的问题类似,很容易的想到递归的实现方式。 在求一个字符串中所有字符的组合的时候,针对一个字符,有两种情况,假设在长度为n的字符串中选择长度为m的组合字符串,原创 2017-03-20 20:44:00 · 5408 阅读 · 0 评论 -
机器学习方法
在机器学习(Machine learning)领域,主要有三类不同的学习方法:监督学习(Supervised learning)、非监督学习(Unsupervised learning)、半监督学习(Semi-supervised learning),监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。 非转载 2017-03-07 13:17:06 · 482 阅读 · 0 评论 -
Java中必须了解的常见类
1.Java中的包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int、float、double、boolean、char 等。基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。实例: public class He原创 2017-03-06 10:10:28 · 195 阅读 · 0 评论 -
Github Guides
Contributing to a projiect The Definition of Forking You may want to contribute to someone else's project. You would line to use someone's project as the starting point for your own.原创 2017-03-08 09:15:17 · 467 阅读 · 0 评论 -
Python NLTK结合stanford NLP工具包进行文本处理
【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理阅读目录目录1 NLTK和StandfordNLP简介2 安装配置过程中注意事项3 StandfordNLP必要工具包下载4 StandfordNLP相关核心操作5 参考文献和知识扩展干货!详述Python NLTK下如何使用stanford NLP工具包作者:白宁超转载 2017-11-28 09:06:15 · 3085 阅读 · 2 评论