Projects:
使用难度:★
Star数:4922
亮点:集合了各种常见项目以及每个项目的各种语言的代码实现
G哥说:
准确的说,Projects只是提出了常见项目,并没有具体代码。具体的代码在另一个库里,名字是“Projects-Solutions”。
最牛逼的是,代码实现包括多种语言,比如Python、JS、PHP、Ruby、C、Haskell、C++、C#、Java。
下次你再需要写算法或者基础项目的时候,不用从头开始了,直接找对应语言的代码实现来使用吧!
一些项目:
寻找素因子
二进制和十进制互相转换
排序
计算欧拉路径
计算字符串中的单词数
网页爬虫
FTP
PDF生成器
SQL查询分析
……
还有很多,我就不一一列举了,大家可以自己去看。
basiccoin:
使用难度:★★★★★
Star数:259
亮点:实现了数字货币基本算法,可以自行定制扩展
G哥说:
比特币现在已经无人不知无人不晓了。虽然不断有人唱衰比特币,偶尔也会爆出一些漏洞,但是总体来说比特币的前景还是比较光明的。
比特币的算法简单说就是随着时间增加,获得比特币的难度也会增加,这就导致比特币会越来越值钱,因为数量增加越来越缓慢。
basiccoin是一个非常简单的数字货币,包含基本的算法和界面。作者希望创造一个通用的数字货币基础,感兴趣的人可以根据自己的需要进行改进和定制。
basiccoin目前还处于社会主义初级阶段,一些高级属性还不具备,作者仍然在开发中。
Pattern:
使用难度:★★★★
Star数:2324
亮点:支持数据挖掘、自然语言处理、机器学习和网络分析
G哥说:
数据挖掘、机器学习也算是现在的大热门之一了。大数据概念越炒越热,加上深度学习算法的不断发展,数据挖掘和机器学习变得越来越重要。
Pattern是一个工具,提供了一些基础的算法实现并且封装了常用网站的数据获取操作(Google、Bing、Twitter、Wikipedia),大大简化了数据获取和分析的难度。
需要注意的是,Pattern不支持Python3,并且没有封装国人比较常用的网站比如Sina,感兴趣的朋友可以尝试一下贡献代码。
举个例子:
from pattern.web import Twitter
from pattern.en import tag
from pattern.vector import KNN, count
twitter, knn = Twitter(), KNN()
for i in range(1, 3):
for tweet in twitter.search('#win OR #fail', start=i, count=100):
s = tweet.text.lower()
p = '#win' in s and 'WIN' or 'FAIL'
v = tag(s)
v = [word for word, pos in v if pos == 'JJ'] # JJ = adjective
v = count(v) # {'sweet': 1}
if v:
knn.train(v, type=p)
print knn.classify('sweet potato burger')
print knn.classify('stupid autocorrect')
这段代码干了什么事呢?首先从Twitter上获取标签为 WIN 或者 FAIL 的推文,然后用这些推文构造一个分类器,最后用这个分类器来判断其他推文是 WIN 还是 FAIL。
十几行代码实现数据获取以及分类器的训练,真的是神器了。。。
如果大家觉得这篇文章还不错的话请动动手指分享一下吧~你们的支持就是我最大的动力!
欢迎扫描二维码关注我的微信号“GitHub不完全装B指南”,获取最新文章。
谢谢~