Data 采矿计划也会更多 适合并行性 - 绝对适合 数据并行性,甚至可以是 任务并行,又是一个强项 函数式编程
和 Clojure 等函数式语言 无论如何都可以与java接口进行I/O、文件读取和写入
I 认为可以学习工具链 容易地;它并没有那么不同,所以这不应该成为一个因素。
我自己也问过同样的问题,并对 Clojure 表示同意——我仍在思考如何将 R 纳入其中。
There are a few good reasons for choosing functional programming for data mining projects.
Usually data mining projects involve algorithmics and mathematics (than other types of systems) which can be more easily expressed in functional programming
Data mining projects would involve aggregate functions - which are better in functional programming, say Clojure
Data mining programs also would be more suitable to parallelism - definitely data parallelism and could even be task parallelism, again a forte of functional programming
And functional languages like Clojure can interface with java anyway for I/O, file read and write
I think one can learn the tool chain easily; it is not that different and so that shouldn't be a factor.
I was asking the same question myself and came with a big Yes for Clojure - am still thinking through how to include R in the mix.
发布评论
评论(4)
通常,函数式编程解决方案更具可扩展性。
Often, functional programming solutions are more scalable.
为数据挖掘项目选择函数式编程有几个很好的理由。
涉及算法和数学
(与其他类型的系统相比)
可以更容易地表达为
函数式编程
采矿项目将涉及
聚合函数——功能性更好
编程,比如 Clojure
采矿计划也会更多
适合并行性 - 绝对适合
数据并行性,甚至可以是
任务并行,又是一个强项
函数式编程
Clojure 等函数式语言
无论如何都可以与java接口进行I/O、文件读取和写入
认为可以学习工具链
容易地;它并没有那么不同,所以这不应该成为一个因素。
我自己也问过同样的问题,并对 Clojure 表示同意——我仍在思考如何将 R 纳入其中。
There are a few good reasons for choosing functional programming for data mining projects.
involve algorithmics and mathematics
(than other types of systems) which
can be more easily expressed in
functional programming
mining projects would involve
aggregate functions - which are better in functional
programming, say Clojure
mining programs also would be more
suitable to parallelism - definitely
data parallelism and could even be
task parallelism, again a forte of
functional programming
functional languages like Clojure
can interface with java anyway for I/O, file read and write
think one can learn the tool chain
easily; it is not that different and so that shouldn't be a factor.
I was asking the same question myself and came with a big Yes for Clojure - am still thinking through how to include R in the mix.
使用您熟悉的最强大的语言。
无论如何,如果您想获得可扩展性,您需要有一个 Map-Reduce 实现,它允许您并行化和收集结果。
Use the most powerful language you are comfortable with.
In any case, if you want to get scalability you need to have a map-reduce implementation which allow you to parallellize and collect the results.
没有什么特别的原因。选择您觉得最舒服的语言。
请参阅我对类似问题的回答关于自然语言处理的问题。我认为,人们认为晦涩的语言适合人工智能的一些功能实际上适得其反。
No particular reason. Pick whatever language you feel most comfortable with.
See my answer to a similar question about natural language processing. I think that some of the features people think obscure languages are suited to AI are really counterproductive.