Python专题①:常见项目代码库 | 创造你自己的“比特币” | 数据挖掘工具

Projects:

  • 使用难度:★

  • Star数:4922

  • 亮点:集合了各种常见项目以及每个项目的各种语言的代码实现

G哥说

准确的说,Projects只是提出了常见项目,并没有具体代码。具体的代码在另一个库里,名字是“Projects-Solutions”。

最牛逼的是,代码实现包括多种语言,比如Python、JS、PHP、Ruby、C、Haskell、C++、C#、Java。

下次你再需要写算法或者基础项目的时候,不用从头开始了,直接找对应语言的代码实现来使用吧!

一些项目:

  • 寻找素因子

  • 二进制和十进制互相转换

  • 排序

  • 计算欧拉路径

  • 计算字符串中的单词数

  • 网页爬虫

  • FTP

  • PDF生成器

  • SQL查询分析

  • ……

还有很多,我就不一一列举了,大家可以自己去看。

Projects项目首页

basiccoin:

  • 使用难度:★★★★★

  • Star数:259

  • 亮点:实现了数字货币基本算法,可以自行定制扩展

G哥说

比特币现在已经无人不知无人不晓了。虽然不断有人唱衰比特币,偶尔也会爆出一些漏洞,但是总体来说比特币的前景还是比较光明的。

比特币的算法简单说就是随着时间增加,获得比特币的难度也会增加,这就导致比特币会越来越值钱,因为数量增加越来越缓慢。

basiccoin是一个非常简单的数字货币,包含基本的算法和界面。作者希望创造一个通用的数字货币基础,感兴趣的人可以根据自己的需要进行改进和定制。

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。

十几行代码实现数据获取以及分类器的训练,真的是神器了。。。

Pattern项目首页

如果大家觉得这篇文章还不错的话请动动手指分享一下吧~你们的支持就是我最大的动力!

欢迎扫描二维码关注我的微信号“GitHub不完全装B指南”,获取最新文章。

谢谢~

    原文作者:梁杰_numbbbbb
    原文地址: https://www.jianshu.com/p/ad616ed03474
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞