p****o 发帖数: 1340 | 1 看了板上大牛推荐的clojure,我打算来学学,随便也看了写functional programming
的东东,还是蛮有启发的。呵呵,这个纯属是自己的业余爱好。
现在我的问题是,不知道对各个问题用什么库比较好。几个方面,比如说:
1. 画图
2. 处理大一点的数据的数据结构的库
3. 统计分析
4. machine learning
最近我花了些时间,发现完全自己看,太容易走弯路。大牛上来说说吧。 |
n******7 发帖数: 12463 | 2 看看这里
https://www.clojure-toolbox.com/
感觉你就是找个可以代替R的库,基本上这个问题的答案就是Incanter
不过这是个半死不活的个人项目,劝你不要折腾了
选语言还是看库支持,根据库选语言
非要用某个语言,又要出东西的话,得有自己实现一堆东西的觉悟
其实很多公司就是这么做的 |
p****o 发帖数: 1340 | 3 是啊,我也是发现incanter最近都没有什么变化,但是实现还是不错的。除此之外,好
像也没有什么很好的选择。 |
n******7 发帖数: 12463 | 4 我yy过clojure好久
不过现在上C#了,估计我第一个正经用的FP语言是F# |
p****o 发帖数: 1340 | 5 哈哈,我也是同时在看F#,感觉非常不错。但是F#的package管理很奇葩,这一点
clojure就很好,简洁又好用。 |
O***b 发帖数: 104 | 6 Clojure 不太适合 number crunching 的任务,这个是很多人的共识,我也基本同意。
当然了,总是有人在各个方向上冲杀突击的 |
d******c 发帖数: 2407 | 7 这些任务可能不是很合适用clojure
R更合适一些。functional programming用其它语言也能做,比较费劲就是了。用函数
风格写其他语言,至少你的目标领域是被语言支持的,你只是改变写法。如果为了函数
选了不合适的语言,风格再好,没有库支持还是不行的。
programming
【在 p****o 的大作中提到】 : 看了板上大牛推荐的clojure,我打算来学学,随便也看了写functional programming : 的东东,还是蛮有启发的。呵呵,这个纯属是自己的业余爱好。 : 现在我的问题是,不知道对各个问题用什么库比较好。几个方面,比如说: : 1. 画图 : 2. 处理大一点的数据的数据结构的库 : 3. 统计分析 : 4. machine learning : 最近我花了些时间,发现完全自己看,太容易走弯路。大牛上来说说吧。
|
p****o 发帖数: 1340 | 8 原来大家都这样认为啊。因为clojure是寄生在java上的,那么有什么很好的java库可
以拿过来用呢?
【在 O***b 的大作中提到】 : Clojure 不太适合 number crunching 的任务,这个是很多人的共识,我也基本同意。 : 当然了,总是有人在各个方向上冲杀突击的
|
n******7 发帖数: 12463 | 9 我之前用java改写R代码,就是没找到像样的统计库
记得试过一个野鸡库,结果都不对
最后用了Apache Commons Math做基础,自己实现了很多东西
无比蛋疼
霸王硬上弓就得不怕蛋疼才行
【在 p****o 的大作中提到】 : 原来大家都这样认为啊。因为clojure是寄生在java上的,那么有什么很好的java库可 : 以拿过来用呢?
|
h*i 发帖数: 3446 | 10 JVM主要是用来做企业应用的,Clojure也是。你说的这些统计ML之类,如果是搞来玩,
学术用用的话,JVM基本没有什么可用的。因为这些玩意,老实说企业应用很少需要的
,听起来很火,其实没啥用。真要用到统计ML之类,基本上都是自己搞,作一些简单实
用的算法。大体上都是线下训练,用R, python之类来训练,线上用自己写的生产代码
。现在DL很火,其实企业用的地方也很少。
Clojure现在有一些原生线性代数的库,比如neanderthal,可以直接调BLAS和LAPACK,
也可以直接用GPU,所以性能和别的语言差不多。
DL也有Clojure的框架,比如有个小公司搞了个叫cortex的,可以看看。
programming
【在 p****o 的大作中提到】 : 看了板上大牛推荐的clojure,我打算来学学,随便也看了写functional programming : 的东东,还是蛮有启发的。呵呵,这个纯属是自己的业余爱好。 : 现在我的问题是,不知道对各个问题用什么库比较好。几个方面,比如说: : 1. 画图 : 2. 处理大一点的数据的数据结构的库 : 3. 统计分析 : 4. machine learning : 最近我花了些时间,发现完全自己看,太容易走弯路。大牛上来说说吧。
|
h*i 发帖数: 3446 | 11 number crunching其实不管用什么语言,底层的东西都是BLAS这类,或者用GPU,所以
没有什么Clojure不适合的道理。
Clojure非常适合处理数据,是所谓data oriented programming。
所以看你想干什么。
如果想要自己实现算法,Clojure很合适。我以前在这儿说过,用Clojure实现number
crunching算法非常方便,我自己实现过不少,基本就是按文章上的伪代码翻译。因为
人写的number crunching的伪代码,其实都是用FP的风格, 即使他自己实现的时候用的
C++,用imperative风格来实现的,但他描述这个算法的时候,不用FP风格的话,文章
的小篇幅是讲不清楚的。
如果你想用现成的东西,那Clojure是没有啥可用的(其实Java也没啥可用的),你不
如用R用python来得方便。
【在 O***b 的大作中提到】 : Clojure 不太适合 number crunching 的任务,这个是很多人的共识,我也基本同意。 : 当然了,总是有人在各个方向上冲杀突击的
|
O***b 发帖数: 104 | 12 对,其实说的就是没什么现成的东西用。
我自己也用 Clojure 做过一个塔防游戏的 prototype,计算部分写起来怪一点但是很
快也就弄出来了。
【在 h*i 的大作中提到】 : number crunching其实不管用什么语言,底层的东西都是BLAS这类,或者用GPU,所以 : 没有什么Clojure不适合的道理。 : Clojure非常适合处理数据,是所谓data oriented programming。 : 所以看你想干什么。 : 如果想要自己实现算法,Clojure很合适。我以前在这儿说过,用Clojure实现number : crunching算法非常方便,我自己实现过不少,基本就是按文章上的伪代码翻译。因为 : 人写的number crunching的伪代码,其实都是用FP的风格, 即使他自己实现的时候用的 : C++,用imperative风格来实现的,但他描述这个算法的时候,不用FP风格的话,文章 : 的小篇幅是讲不清楚的。 : 如果你想用现成的东西,那Clojure是没有啥可用的(其实Java也没啥可用的),你不
|
p****o 发帖数: 1340 | 13 那倒也是,建立模型和实现模型是两码事儿。
neanderthal写得很不错,一个教授一个人就把它给写出来了。
【在 h*i 的大作中提到】 : JVM主要是用来做企业应用的,Clojure也是。你说的这些统计ML之类,如果是搞来玩, : 学术用用的话,JVM基本没有什么可用的。因为这些玩意,老实说企业应用很少需要的 : ,听起来很火,其实没啥用。真要用到统计ML之类,基本上都是自己搞,作一些简单实 : 用的算法。大体上都是线下训练,用R, python之类来训练,线上用自己写的生产代码 : 。现在DL很火,其实企业用的地方也很少。 : Clojure现在有一些原生线性代数的库,比如neanderthal,可以直接调BLAS和LAPACK, : 也可以直接用GPU,所以性能和别的语言差不多。 : DL也有Clojure的框架,比如有个小公司搞了个叫cortex的,可以看看。 : : programming
|
n***p 发帖数: 110 | 14 所有java的库可以直接在clojure上用。
画图什么都不是问题,参看Rich Hickey's Ant Simulator
http://www.youtube.com/watch?v=dGVqrGmwOAw
programming
【在 p****o 的大作中提到】 : 看了板上大牛推荐的clojure,我打算来学学,随便也看了写functional programming : 的东东,还是蛮有启发的。呵呵,这个纯属是自己的业余爱好。 : 现在我的问题是,不知道对各个问题用什么库比较好。几个方面,比如说: : 1. 画图 : 2. 处理大一点的数据的数据结构的库 : 3. 统计分析 : 4. machine learning : 最近我花了些时间,发现完全自己看,太容易走弯路。大牛上来说说吧。
|