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