自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 写个简单的汉语bigram tokenizer

写个简单的汉语bigram tokenizer,基本能够满足文本挖掘的原型实验的需要。 [code="ruby"] def bigram_tokenize(text) tokens = [] 0.upto(text.length-1) do |i| tokens ...

2011-01-23 23:29:01 395

Ruby简单实现K-means聚类算法

K-means是一个简单容易实现的聚类算法,我们以对一个图片的颜色的RGB值进行聚类为例, 实现这个算法。 K-means算法是一个EM的迭代过程: 1.随机选择k个作为聚类中心 2.E step: 对每一个点,计算它到每一个聚类中心的距离,把这个点分配到最近的聚类中心代表的 聚类中。 3.M step: 重新计算每个聚类的中心:每个聚类中心为该聚类所有点的均值。 重复2~3...

2011-01-23 21:06:21 146

写段代码看看别人都怎么称呼你网站的?

步骤很简单: 1)使用google的搜索inlink的语法link:url和num参数指定一页显示的结果数, 在这个结果中找到外链的页面url,排除网站内链接。 [code="ruby"] def search_inlinks_from_google(query,result_num) escaped_query = CGI.escape("link:#{query}")...

2011-01-23 20:49:34 226

原创 【zz】基于LDA的Topic Model变形

最近研究LDA挖掘隐含topic来对短文本分类,没想到师弟fandywang转载了一篇文章,可以作为一个很好的参考:     最近几年来,随着LDA的产生和发展,涌现出了一批搞Topic Model的牛人。我主要关注了下面这位大牛和他的学生: David M. Blei LDA的创始者,04年博士毕业。一篇关于Topic Model的博士论文充分体现其精深的数学概率功底;而其自己实现...

2011-01-11 23:48:46 218

原创 Ruby1.9 lambda操作符

Ruby1.9提供了lambda操作符,使得lambda表达式更像匿名函数。lambda表达式更像method,而block更像Proc,主要表现在:local return,break以及参数传递规则。 lambda更像method,所以支持默认参数: 1.8的lambda表达式: [code="ruby"] succ = lambda{|x| x+1} [/code] 1.9使用l...

2011-01-09 13:35:31 243

原创 Ruby 1.9 regex (named capture group)

Ruby 1.9正则增加了支持命名组,这样使得正则具有更好的可读行, 你可以定义每一部分的正则,然后命名成组,并且在后面加上 {0},表明不获取匹配内容,然后在使用\g引用对用的组,组成 大的正则,并且加上/x修饰。这样比较复杂的正则,会有更好的可读性。 [code="ruby"] users = %w{ alice:10.23.52.112:true bob:192.1...

2011-01-08 22:57:56 125

Spring绑定动态列表成员

最近遇到一个需求,使用Spring MVC 3,需要绑定动态列表成员。Google了好多文章,没有找到完美的解决方案,绑定到不成问题,主要是动态添加、删除导致绑定的列表下标,在提交之前需要进行normalize,使用js进行normalize可行,但是费劲而且如果有对表单新的修改导致已有的js出现错误,本文提供了一个简单可行的易于维护的方法: 在添加的时候,我们根据当前条目的数量,计算新添加...

2011-01-03 17:06:13 135

Ruby Enumerators

一个enumerator是一个用来枚举其他对象的Enumerable对象。在Ruby1.8,需要require 'enumerator',在Ruby1.9已经内建,不需要再require,并且进行了增强。 Enumerators是类Enumerable::Enumerator,所以你可以直接new出来实例,但是通常使用to_enum或者使用enum_for(Object的方法)。如果没有参数,t...

2011-01-02 21:13:56 148

原创 Ruby Coroutine

Ruby1.9提供了Fiber,提供了Coroutine的功能。 Fibers作为实现轻量级合作并发的基础设施,和线程很像,提供了创建一个可以pause和resume的代码块, 但Fibers是非抢占式的,必须由程序而不是VM来调度。每一个fiber提供了4kB的栈空间可以允许fiber的 block进行深层嵌套函数调用。这是rdoc对Fiber的描述。 Ruby的Fi...

2011-01-02 15:51:36 163

原创 Ruby Proc curry化

Ruby 1.9 Proc增加了curry方法,可以将Proc进行curry化: [code="ruby"] greeting_func = lambda { |name,greeting| puts "#{greeting} #{name}" }.curry happy_greeting = greeting_func["Happy"] happy_greeting["New year"...

2011-01-01 23:11:22 115

原创 Lazy evaluation in Ruby

1.使用||延迟初始化 [code="ruby"] def fib(n) @result ||= [] return n if (0..1).include? n @result[n] ||= fib(n-1) + fib(n-1) end [/code] 2.使用无穷大Inifinity Ruby可以使用无穷大: [code="ruby"] i...

2011-01-01 21:49:37 101

空空如也

空空如也

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

TA关注的人

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