是否有理由更喜欢数据挖掘项目的函数式编程?

时间:2010-11-08 21:13:45

标签: java programming-languages functional-programming clojure data-mining

我正在研究启动数据挖掘项目的可能性,该项目将包括密集的计算和数据转换,并且应该相对容易扩展。

根据您的经验,选择对该项目至关重要的编程语言是什么?

例如,如果我已经在JVM环境中工作,我应该更喜欢Clojure而不是普通的Java吗?功能环境是否保证更容易扩展?更好的表现?

抛开其他因素,例如熟悉语言,工具链等。根据您的经验,语言的选择是否至关重要?

4 个答案:

答案 0 :(得分:16)

为数据挖掘项目选择函数式编程有几个很好的理由。

  1. 通常是数据挖掘项目 涉及算法和数学 (比其他类型的系统) 可以更容易表达出来 函数式编程
  2. 数据 采矿项目将涉及 聚合函数 - 功能更好 编程,Clojure说。
  3. 数据 采矿计划也会更多 适合并行 - 绝对 数据并行,甚至可以 任务并行,又是一个强项 函数式编程
  4. 和 像Clojure这样的函数式语言 无论如何都可以与Java接口进行I / O,文件读写
  5. 我 认为可以学习工具链 容易;它并没有那么不同,因此不应成为一个因素。
  6. 我自己也在问同样的问题,并为Clojure提出了一个很好的答案 - 我还在考虑如何将R加入其中。

答案 1 :(得分:3)

使用您最熟悉的语言。

在任何情况下,如果您想获得可扩展性,您需要有一个map-reduce实现,允许您并行化并收集结果。

答案 2 :(得分:2)

没有特别的原因。选择你最满意的语言。

查看我对similar question about natural language processing的回答。我认为人们认为模糊语言适合人工智能的一些功能实际上会适得其反。

答案 3 :(得分:0)

通常,函数式编程解决方案更具可扩展性。