小编Ben*_*Ben的帖子

如何比较两个列表在同一顺序中的程度?

我有两个包含相同元素的数组,但顺序不同,我想知道它们的顺序不同的程度.

我试过的方法不起作用.它如下:

对于每个列表,我构建了一个矩阵,该矩阵为每对元素记录它们在列表中是高于还是低于对方.然后我计算了这两个矩阵的皮尔森相关系数.这非常糟糕.这是一个简单的例子:

list 1:
1
2
3
4

list 2:
1
3
2
4

我上面描述的方法产生了这样的矩阵(其中1表示行号高于列,0表示反之亦然):

list 1:
  1 2 3 4
1   1 1 1
2     1 1
3       1
4

list 2:
  1 2 3 4 
1   1 1 1
2     0 1 
3       1
4

由于唯一的区别是元素2和3的顺序,因此应视为非常相似.这两个矩阵的Pearson相关系数为0,表明它们根本没有相关性.我想问题是我正在寻找的不是真正的相关系数,而是一些其他类型的相似性度量.编辑距离,也许?

谁能提出更好的建议?

algorithm

7
推荐指数
1
解决办法
2719
查看次数

PHP中的矩阵艺术?

有谁知道处理矩阵乘法,反演等的PHP库?

php matrix

7
推荐指数
1
解决办法
1万
查看次数

我的程序可以访问超过4GB的内存吗?

如果我在64位操作系统的64位机器上运行python,我的程序能否访问全部内存?即我可以建立一个包含100亿条目的列表,假设我有足够的RAM吗?如果没有,是否有其他编程语言允许这样做?

python 64-bit

6
推荐指数
1
解决办法
1061
查看次数

在Word中将Word文档转换为可用的HTML

我有一组Word文档,我想使用我编写的PHP工具发布.我将Word文档复制并粘贴到文本框中,然后使用PHP程序将它们保存到MySQL中.我遇到的问题来自Word文档的所有非标准字符,如引号和省略号("...").我现在所做的是手动搜索并用纯文本或HTML实体替换这些东西(以及外部符号,如e-acute)(é等等)我是否可以调用PHP中的函数Word文档的输出,并将应该是实体的所有内容转换为实体,以及在Firefox中无法正确显示的其他符号转换为显示的符号.

谢谢!

php ms-word

5
推荐指数
2
解决办法
6365
查看次数

我应该使用哪种语言?

我即将为刚刚加入的技术创业公司制作原型,我正在尝试决定使用哪种语言.它将是一个简单的Web工具,后台有一个MySQL数据库,其间还有一些AI内容.我过去曾经使用过Ruby和PHP一个合理的数量,但是想知道我是否会更好地使用Python甚至是Perl.我的主要编程经验是使用C/C++/Java,但我觉得我想要的东西会让我的生活尽可能简单,因为我只是在开发原型.

我猜我正在寻找的是:

  • 发展速度
  • 现有的AI库(例如SVM,神经网络,贝叶斯分类器)
  • 易于与Web界面交互

有没有人对此有任何想法?

prototyping artificial-intelligence

5
推荐指数
5
解决办法
1522
查看次数

所有这些SQL连接在逻辑上是否相同?

我只是想知道以下所有连接是否在逻辑上等效,如果没有,为什么不呢?

SELECT t1.x, t2.y from t1, t2 where t1.a=t2.a and t1.b=t2.b and t1.c = t2.c;

SELECT t1.x, t2.y from t1 join t2 on t1.a=t2.a where t1.b=t2.b and t1.c = t2.c;

SELECT t1.x, t2.y from t1 join t2 on t1.a=t2.a and t1.b=t2.b where t1.c = t2.c;

SELECT t1.x, t2.y from t1 join t2 on t1.a=t2.a and t1.b=t2.b and t1.c = t2.c;
Run Code Online (Sandbox Code Playgroud)

我想我真正的问题是:将"where"与"on"结合起来做一些不同于仅仅具有多个条件的东西与"on"结合在一起?

我与MySQL合作,以防万一.

sql join

5
推荐指数
1
解决办法
527
查看次数

使用Flash构建Web用户界面是一个好主意吗?

我工作的公司有一个基于Web的用户界面,付费客户登录以访问数据和控制机制.

我们计划推出这个界面的全新版本,我们正在考虑的一个选项是是否在Flash中构建它.

使用Flash的理由是,它将使我们能够构建一个真正创新,引人入胜的界面.

我对此的担忧是:

  1. 目前没有开发人员对Flash有任何了解.
  2. 在我看来,这将使维护系统更加困难(目前的化身是使用PHP/HTML/JavaScript/AJAX构建的).
  3. 我不太了解Flash能够估计它对初始开发或维护会产生什么影响.
  4. 我担心它会恶化用户体验 - 下载时间慢,一方面,对于没有安装Flash的人来说,它根本不起作用.
  5. 感觉有点矫枉过正.我们想展示一些漂亮的图表,我认为我们应该使用像Fusion Charts这样的东西来构建,但除此之外它只是相当简单的文本和图形.感觉就像我们为了它而增加了一些魅力,因为我们可以.

有没有人对此有任何想法?我不是在询问公共网站,但Flash是一个在线用户界面的好主意吗?

顺便说一句,我对Flash知之甚少,所以如果我在这里做出任何可怕的假设,我会道歉!

flash user-interface

5
推荐指数
2
解决办法
963
查看次数

SQL查询以基于一个值排除项目

我正在从一个表中提取项目列表,基于它们被包含在另一个表中,如下所示:

select fruit.id, fruit.name from fruit, fruit_rating where fruit_rating.fruit_id=fruit.id group by fruit.name;
Run Code Online (Sandbox Code Playgroud)

这很好 - 它基本上产生了一个被某人评定的所有水果的清单.但现在,我想排除一个特定用户评价的所有水果,所以我尝试了这个:

select fruit.id, fruit.name from fruit, fruit_rating where fruit_rating.fruit_id=fruit.id and fruit_rating.user_id != 10 group by fruit.name;
Run Code Online (Sandbox Code Playgroud)

没关系,但不太对劲.它显示了所有被10岁以外的人评定的水果,但如果用户1和10都评价相同的水果,它仍然显示一个.任何人都可以告诉我如何构建一个查询,只显示用户10未评级的水果,无论其他人对它们进行了评分?

mysql sql

3
推荐指数
1
解决办法
2万
查看次数

使用Ruby Gem DBI

我想通过共享linux服务器上的ruby访问MySQL.我想我需要使用DBI模块,但我似乎无法访问它.我安装如下:

gem install -r dbi
Run Code Online (Sandbox Code Playgroud)

它无法在正常位置安装它,因为我在共享服务器上并且没有权限:

WARNING:  Installing to ~/.gem since /usr/lib/ruby/gems/1.8 and
          /usr/bin aren't both writable.
WARNING:  You don't have ~/.gem/ruby/1.8/bin in your PATH,
          gem executables will not run.
Run Code Online (Sandbox Code Playgroud)

它似乎确实安装成功.

但是,现在当我尝试要求它时,我只是得到一个错误.所以我的代码只是:

require 'dbi'
Run Code Online (Sandbox Code Playgroud)

这会给出以下错误:

dbi_test.rb:1:in `require': no such file to load -- dbi (LoadError)
    from dbi_test.rb:1
Run Code Online (Sandbox Code Playgroud)

我已经尝试将LOAD_PATH环境变量设置为dbi.rb所在的目录,但这没有任何区别.

ruby rubygems dbi

3
推荐指数
1
解决办法
8215
查看次数

匹配长字符串时,finditer挂起

我有一个复杂的正则表达式,我试图匹配一个长字符串(65,535个字符).我正在寻找字符串中多次出现的re,所以我正在使用finditer.它有效,但出于某种原因,它在识别出前几次出现后就会挂起.有谁知道为什么会这样?这是代码片段:

pattern = "(([ef]|([gh]d*(ad*[gh]d)*b))d*b([ef]d*b|d*)*c)"

matches = re.finditer(pattern, string)
for match in matches:
    print "(%d-%d): %s" % (match.start(), match.end(), match.group())
Run Code Online (Sandbox Code Playgroud)

它打印出前四次出现,但随后挂起.当我使用Ctrl-C杀死它时,它告诉我它在迭代器中被杀死了:

Traceback (most recent call last):
  File "code.py", line 133, in <module>
    main(sys.argv[1:])
  File "code.py", line 106, in main
    for match in matches:
KeyboardInterrupt
Run Code Online (Sandbox Code Playgroud)

如果我用更简单的方法尝试它,它工作正常.

我在运行在Windows XP上的Cygwin上的python 2.5.4上运行它.

我设法让它以一个非常短的字符串挂起.使用这个50个字符的字符串,大约5分钟后它就再也没有返回:

ddddddeddbedddbddddddddddddddddddddddddddddddddddd
Run Code Online (Sandbox Code Playgroud)

使用这个39个字符的字符串返回大约需要15秒(并且不显示匹配项):

ddddddeddbedddbdddddddddddddddddddddddd
Run Code Online (Sandbox Code Playgroud)

并使用此字符串立即返回:

ddddddeddbedddbdddddddddddddd
Run Code Online (Sandbox Code Playgroud)

python regex performance

3
推荐指数
2
解决办法
707
查看次数