这是一个维护良好的和开发中的工具,包,库等的策展列表,内容
与使用Go语言做数据科学相关。
GopherDS,这个项目主要是与基于Go的数据科学的工具和学习相关。resources里面存放了
收集的基于Go做数据科学项目的相关资源。
运算(
Arithmetic
):
*
[math](https://golang.org/pkg/math/)
- Stdlib 数学函数。
*
[math/cmplx](https://golang.org/pkg/math/cmplx/)
-
cmplx 安装包为负数提供基本常数和运算功能。
*
[github.com/gonum/floats](https://github.com/gonum/floats)
- 一套处理
float64 切片的辅佐程序。
*
[github.com/gonum/optimize](https://github.com/gonum/optimize) - Go 语言的优化包。
分类(
Classification
):
*
[github.com/jbrukh/bayesian](https://github.com/jbrukh/bayesian)
-
Naive Bayes 分类。
*
[github.com/datastream/libsvm](https://github.com/datastream/libsvm)
- 基于
LIBSVM 3.14
派生出来的
libsvm golang。
集群(
Clustering
):
*
[github.com/salkj/kmeans](https://github.com/salkj/kmeans)
-
Go 的现用 Kmeans 算法包。
计算机系统验证(
CSV
):
*
[encoding/csv](https://golang.org/pkg/encoding/csv/)
-
Stdlib CS 功能。
*
[github.com/go-hep/csvutil](https://github.com/go-hep/csvutil) - 一组用便捷方式处理
CSV 数据文件的
s 和 funcs。
*
[github.com/go-hep/csvutil/tree/master/csvdriver](https://github.com/go-hep/csvutil/tree/master/csvdriver) -
databases/sql 的 CSV 文库。
分布式数据分析/传递方式(
Distributed Data Analysis/Pipelining
):
*
[github.com/pachyderm/pachyderm](https://github.com/pachyderm/pachyderm)
-
集装箱式数据分析
[http://pachyderm.io](http://pachyderm.io/) 。
*
[github.com/chrislusf/glow](https://github.com/chrislusf/glow) -
Glow 是 Go 的
易于使用的分布式计算系统,与
Hadoop Map Reduce, Spark, Flink, Storm 等相似。
*
[github.com/chrislusf/gleam](https://github.com/chrislusf/gleam)
-
另一个基于 Go 的
分布式执行系统。
*
[github.com/flowbase/flowbase](https://github.com/flowbase/flowbase)
-
基于
Flow 的 Go(
Golang
)编程微框架。[http://flowbase.org](http://flowbase.org/)
*
[github.com/scipipe/scipipe](https://github.com/scipipe/scipipe)
-
Go (Golang) 的工作流系统,受
Flow-based Programming 启示。[http://scipipe.org](http://scipipe.org/)
[](http://scipipe.org/)
通用数据整理(
General data munging
):
*
[github.com/kniren/gota](https://github.com/kniren/gota)
-
数据帧。
*
[github.com/gopherds/gophernotes](https://github.com/gopherds/gophernotes)
-
Jupyter 笔记本的 Go 内核。
通用目的性机器学习(
General purpose machine learning
):
*
[github.com/sjwhitworth/golearn](https://github.com/sjwhitworth/golearn)
-
GoLearn 是 Go 的“电池包含”的机械学习文库。
*
[github.com/cdipaolo/goml](https://github.com/cdipaolo/goml)
-
`goml`
是完全用
Golang 写的机器学习文库,
它可以让开发人员将机器学习安装到他们的应用中。
*
[github.com/xlvector/hector](https://github.com/xlvector/hector)
-
Golang 的机器学习文库。目前,
它可以用来解决二元分类问题。
图表(
Graphs
):
*
[github.com/gyuho/goraph](https://github.com/gyuho/goraph)
-
图表包能实现图形数据结构和算法。
*
[github.com/gonum/graph](https://github.com/gonum/graph)
-
这是 Go 语言的广义图形包。
*
[github.com/cayleygraph/cayley](https://github.com/cayleygraph/cayley)
-
Cayley 是一个开源图表,受 Freebase 和 Google's Knowledge Graph 后的图形数据库启发。
JavaScript对象符号(
JSON
):
*
[encoding/json](https://golang.org/pkg/encoding/json/)
-
Stdlib json 功能。
*
[github.com/tidwall/gjson](https://github.com/tidwall/gjson)
- 一个 Go
包,提供了非常快速和简单的方式来获得一个
JSON文档
的值。
*
[github.com/pquerna/ffjson](https://github.com/pquerna/ffjson)
-
ffjson 为 Go 结构产生
MarshalJSON 和
UnmarshalJSON 功能。
矩阵/线性代数
(
Matrices/Linear Algebra
):
*
[github.com/gonum/lapack](https://github.com/gonum/lapack)
-
安装包收集器,为 Go 语言提供
LAPACK 功能。
*
[github.com/gonum/blas](https://github.com/gonum/blas)
-
安装包收集器,为 Go 语言提供
BLAS
功能。
*
[github.com/gonum/matrix](https://github.com/gonum/matrix)
-
Go 语言的矩阵包。
神经网络(
Neural Networks
):
*
[github.com/tleyden/neurgo](https://github.com/tleyden/neurgo)
- Go 的神经网络。
*
[github.com/fxsjy/gonn](https://github.com/fxsjy/gonn)
-
GoNN 是 Go 的执行器,包括
BPNN, RBF, PCN。
*
[github.com/NOX73/go-neural](https://github.com/NOX73/go-neural)
-
golang 的神经网络执行。
自然语言处理(
NLP
):
*
[github.com/advancedlogic/go-freeling](https://github.com/advancedlogic/go-freeling)
-
Freeling 3.1 的局部端口。
(
[http://nlp.lsi.upc.edu/freeling/](http://nlp.lsi.upc.edu/freeling/)
)
*
[github.com/endeveit/enca](https://github.com/endeveit/enca)
-
libenca 的最小 cgo 绑定。
*
[github.com/Lazin/go-ngram](https://github.com/Lazin/go-ngram)
-
Go 的
N-gram index。
*
[github.com/reiver/go-porterstemmer](https://github.com/reiver/go-porterstemmer)
-
Porter Stemming Algorithm 的 Go 清理指令。
*
[github.com/blevesearch/segment](https://github.com/blevesearch/segment)
-
Unicode Text Segmentation 的Go 文库,
Unicode Standard Annex #29 中有描述。
*
[https://github.com/kljensen/snowball](https://github.com/kljensen/snowball)
-
Go 执行的
Snowball 词干 NLP。
*
[github.com/sajari/word2vec](https://github.com/sajari/word2vec)
-
word2vec 是 Go 包,提供
查询 word2vec 模式的功能。
Non-SQL
数据库交互(
Non-SQL Database Interactions
):
*
[gopkg.in/mgo.v2](https://labix.org/mgo)
-
mgo
是 Go 语言的
MongoDB 驱动器。
*
[github.com/gocql/gocql](https://github.com/gocql/gocql)
-
Go 编程语言最快最强大的
Cassandra 代理。
*
[github.com/go-redis/redis](https://github.com/go-redis/redis)
-
Golang 的
Redis 代理。
*
[github.com/garyburd/redigo](https://github.com/garyburd/redigo)
-
Redis 的 Go 代理。
*
[github.com/tsuna/gohbase](https://github.com/tsuna/gohbase)
-
Pure Go HBase 代理。
绘图/仪表板(
Plotting/dashboarding
):
*
[github.com/gonum/plot](https://github.com/gonum/plot)
-
建立
和绘制图的API。
*
[github.com/gigablah/dashing-go](https://github.com/gigablah/dashing-go)
-
实时仪表板的一个端口。
概率/统计/实验(
Probability/statistics/experiments
):
*
[github.com/gonum/stat](https://github.com/gonum/stat)
-
Go 的
数据包。
*
[github.com/montanaflynn/stats](https://github.com/montanaflynn/stats)
-
具常用功能的数据包,Golang 标准库缺失。
*
[github.com/URXtech/planout-golang](https://github.com/URXtech/planout-golang)
-
Go 中的
Planout 译码。
*
[github.com/peleteiro/bandit-server](https://github.com/peleteiro/bandit-server)
-
Bandit-server 是一个
Multi-Armed Bandit api 服务器,
它不需要配置也没有持久化存储。
回归(
Regression
):
*
[github.com/sajari/regression](https://github.com/sajari/regression)
-
多元线性回归。
*
[github.com/glycerine/zettalm](https://github.com/glycerine/zettalm)
-
在
zettabytes 数据中建立线性回归模型的 Go 编码。
SQL-like 数据交互(
SQL-like Database Interactions
):
*
[databases/sql](https://golang.org/pkg/database/sql/)
-
sql 包
围绕 SQL(或 SQL-like)数据提供通用接口。
*
[github.com/Boostport/avatica](https://github.com/Boostport/avatica)
-
Go `database/sql` package 的 Apache Phoenix/Avatica 驱动。
*
[github.com/lib/pq](https://github.com/lib/pq) - Go 的 `database/sql` 安装包的纯 Go postgres 驱动。
*
[github.com/go-pg/pg](https://github.com/go-pg/pg) - Fast PostgreSQL 代理 and ORM。
*
[github.com/jackc/pgx](https://github.com/jackc/pgx) - 纯Go PostgreSQL 驱动,
它提供
性能提升
和更多的功能,同时保持数据库
`database/sql` 兼容。
*
[github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) - Go's `database/sql` 安装包的
MySQL-Driver
。
*
[github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) - sqlite3 驱动,符合内置 `database/sql` 接口。
*
[github.com/lukasmartinelli/pgclimb](https://github.com/lukasmartinelli/pgclimb) -
从 PostgreSQL 的数据导出成不同的数据格式
(JSON, JSON Lines, CSV, XLSX, XML) 或使用 Golang 模板。
*
[github.com/lukasmartinelli/pgfutter](https://github.com/lukasmartinelli/pgfutter) - 将
CSV 和 JSON 导入 PostgreSQL 的简单方法。
*
[github.com/omniscale/imposm3](https://github.com/omniscale/imposm3) - 将 OpenStreetMap 数据导入 PostgreSQL/PostGIS 数据库。
网页抓取(Web Scraping):
*
[github.com/yhat/scrape](https://github.com/yhat/scrape) -
Go 网页抓取的简单高效接口。
*
[github.com/cathalgarvey/sqrape](https://github.com/cathalgarvey/sqrape) - 带有 CSS and Go 反射的简单
Query Scraping 。
建议(Proposed):
*
Go 自身的多为切片 ([Proposal](https://github.com/golang/proposal/blob/master/design/6282-table-data.md))。
*
一个强大的
(和并发
)安装包,
处理数据
缩小/压缩适宜 (gonum/optimize 会提供很好的基础)。
*
一个强大的
(
和并发
)安装包,
描述带有累赘参数的
统计模型
(Bayesian and frequentist) 等。
*
A/B 测试的 Go 安装包。
*
有数据记录查询的数据库。灵感可以从
Rich Hickey 的
[Datomic](http://www.datomic.com/)
数据库抽取,但以开源形式。
*
一个
分布式计算的
数据记录
查询系统
。类似于 [Cascalog](http://cascalog.org/) 的
Hadoop 系统
, 但取而代之以 Go 工具整合。
[](http://scipipe.org/)