我已经阅读了许多使用min-hash实现LSH(局部敏感哈希)的教程,文档和代码片段.
LSH试图通过散列随机子集并在这些子集上进行聚合来找到两组的Jaccard系数.我查看了code.google.com中的实现,但也无法理解他们的方法.我理解Google新闻个性化的文章:可扩展的在线协同过滤,但我无法理解那里的任何实现.
有人可以用简单的话来解释我如何用MinHash实现LSH吗?
鉴于array @A我们想要检查element $B它是否在其中.一种方法是这样说:
Foreach $element (@A){
if($element eq $B){
print "$B is in array A";
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当它到达Perl时,我总是在思考最优雅的方式.这就是我的想法:如果我们将A转换为变量字符串并使用,有没有办法找出数组A是否包含B
index(@A,$B)=>0
Run Code Online (Sandbox Code Playgroud)
那可能吗?
在Perl中使用regex尝试N + 1次后:我遇到以下问题:我需要检索这个:
232310..1.3 3213 2.4 "$250 For My jacket" (2012)
Run Code Online (Sandbox Code Playgroud)
我试图通过以下方式检索它:
if ( $line=~m/^\s+(\d+|\.+)\s+(\d+)\s+(\d+|\.+)\s+(\^"&(\w*|\s*|\D*)"$)\s*\((\d+)\s*/){
$ID=$1;
$Amount=$2;
$Size=$3;
$Item=$4;
$Year=$5;
Run Code Online (Sandbox Code Playgroud)
这是行不通的
我一直在与Codeigniter建立关系数据库,发现DataMapper对于严肃的项目来说是无用的.Codeigniter的活动记录是无用的,因为它不提供多对多或一对多的方法.DataMapper速度慢且不可配置!
这似乎是社区的共识.你建议在php中使用纯mysql来执行多对多和一对多的操作吗?或者你认为我错了!请随时告诉我.我的问题是,作为专业的网页设计师,您使用什么来建立数据库?