[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
Clojure数据分析秘笈 笔记
时间:
2014-11-10 10:01:12
阅读:
419
评论:
0
收藏:
0
[点我收藏+]
Clojure数据分析秘笈
目录
1
导入分析数据
2
清洗和校验数据
3
使用并发编程管理复杂度
4
使用并行编程提高性能
5
Cascalog
6
使用Incanter数据集
7
使用Incanter准备并执行数据分析
8
使用Mathematica和R
9
聚类、分类和使用Weka
10
使用Incanter绘图
11
创建网页图表
导入分析数据
$ lein new getting-data
从CSV
从JSON
使用Incanter
从JDBC
从XML
利用zipper浏览XML结构?
->> 流水线处理
从网页
项目依赖:project.clj
:dependencies [[org.clojure/clojure "1.4.0"] [incanter/incanter-core "1.4.1"] [enlive "1.0.1"]]
(require ...)
(use ‘incanter.core)
(import [java.net URL]) #?这里的require、use、import 3条指令有什么区别?
(let [html ...
table (html/select html [:table#data])
headers (->> ...) rows (->> ...) (dataset headers rows)))
这里的主要html处理工作都在html/select调用上
读取RDF
使用SPARQL*
清洗和校验数据
正则表达式
(def regex1 #"(?x) (\d{3}) ... ")
if-let?
同义词
去重 (defn fuzzy= ...
<= 这个指令是干嘛用的?忘了
标准化数字格式
调整词频
标准化日期和时间
clj-time库?(对Joda的封装)
(defprotocol ToFormatter (->formatter [fmt]))
(extend-protocol ToFormatter ...)
大数据集的延迟处理
lazy ...
抽样
(defn range-from [x] (partial + x) (range)))
修正拼写错误
训练?编辑距离=1 or 2
correct选出频率最高的
解析自定义格式
(defn nl [] (chr-in #{\newline \return}))
<|函数?
Valip校验(DSL?)
使用并发编程管理复杂度
STM
(def total-hu (ref 0)) ;deref或@
(dosync ...
(doall (->> (lazy-read-csv data-file) with-header ... (float (/ @total-hu ...
agent
(def sums (agent 0)) --> (send sums + 4) --> @sums => 4
(defn force-val [a] (await a) @a)
commute
将更新操作加入队列,待引用未被占用时再执行:(dosync (
commute
total-hu #(+ sum-hu %)) ...
将agent和STM结合*
(defn get-thunk [data-ref] (dosync (when-let [[s & ss] (seq @data-ref)] (ref-set data-ref ss) s)))
ensure*
将安全的副作用引入STM*
(defn debug! [msg] (io! (print (str msg \newline)) (.flush *out*)))
validator:(set-validator! a v)
watcher:(add-watch a :counter w)
从agent中错误恢复:
set-error-mode! :fail/:continue
set-error-handler!
sized queue
(take 20 (
seque
5 (range Integer/MAX_VALUE)))
使用并行编程提高性能
pmap
Incanter
使用蒙特卡罗模拟划分使得pmap性能提升
使用模拟退火最优化分块大小
reducers
如果是Java1.6需要ForkJoin库:[org.codehaus.jsr166-mirror/jsr166y "1.7.0"]
(defn count-in-circle-r [n] (->>
(repeatedly n rand-input)
vec (r/map center-dist) (r/filter #(<= % 1.0)) (r/fold + count-items)))
OpenCL和Calx
编译C代码???
(defn -main [] ... (with-cl (with-program ... (let [out-seq (vec @(enqueue-read out))] ...
类型提示
(defn mc-pi-hint
(^double
[n] ...
Criterium基准
(use ‘criterium.core) --> time / bench
Cascalog
(?<- (stdout) (?name) (full-name _ ?name)) 基于实例的查询?IBQ
定义新操作符:defmapop defmapcatop deffilterop defbufferop defaggregateop ...
使用Pallet在EC2上执行查询*
使用Incanter数据集
$
选择列/行 ?
$where
$group-by
$join
使用Incanter准备并执行数据分析
$rollup
使用Zoo处理时间序列
bootstrapping
使用Mathematica和R
Clojuratica?怎么连接的(哦,Mathematica提供了Java接口!)
FindRoot[{Exp[x-2] == y, y^2==x}, {{x,1}, {y,1}}]
=> (math (FindRoot [(==(Exp (- x 2)) y) (== (Power y 2) x)] [[x 1] [y 1]]))
REngine/Rserve
聚类、分类和使用Weka
ARFF格式数据?
层次聚类
SOM聚类
决策树分类:(defanalysis j48 J48 buildClassifier [... options ...])
朴素贝叶斯
SVM
Apriori查找关联
使用Incanter绘图
创建网页图表
Ring和Compojure
Hiccup
ClojureScript
NVD3
力向布局(?)
D3
Clojure数据分析秘笈 笔记
原文:http://blog.csdn.net/cteng/article/details/40961741
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!