机器/深度学习tf.Transform、Faster R-CNN、Gensim、Sklearn-pandas介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:tf.Transform(TensorFlow 数据预处理库)、Faster R-CNN(深度学习目标检测框架)、Gensim(主题模型 Python 工具包)、Sklearn-pandas(通用型的机器学习工具包)。

1、tf.Transform(TensorFlow 数据预处理库)

机器/深度学习tf.Transform、Faster R-CNN、Gensim、Sklearn-pandas介绍

tf.Transform 是一个使用 TensorFlow 进行数据预处理的库。它允许用户结合各种数据处理框架(目前支持 Apache Beam,但是可以扩展 tf.Transform 以支持其他框架),使用 TensorFlow 来转换数据。因为 tf.Transform 是基于 TensorFlow 构建的,所以它允许用户导出一个计算图(graph),用户随后可以将导出的 TensorFlow 计算图(TensorFlow graph)合并到它们的服务模型中,从而避免服务模型和训练数据之间的偏差。

安装:

tensorflow-transform PyPI软件包是推荐的安装tf.Transform的方法:

pip install tensorflow-transform

下载地址:https://github.com/tensorflow/transform

2、Faster R-CNN(深度学习目标检测框架)

Faster R-CNN 可以简单地看做是 R-CNN 和 Fast R-CNN 的升级版,或者可以看成是“区域生成网络+Fast R-CNN”的系统,用区域生成网络代替 Fast R-CNN 中的 Selective Search 方法。

R-CNN 系列方法对比:

机器/深度学习tf.Transform、Faster R-CNN、Gensim、Sklearn-pandas介绍

Faster R-CNN(其中 R 对应于“Region(区域)” )是基于深度学习 R-CNN 系列目标检测最好的方法。使用 VOC2007+2012 训练集训练,VOC2007 测试集测试mAP达到73.2%,目标检测的速度可以达到每秒5帧。

技术上将 RPN 网络和 Fast R-CNN 网络结合到了一起,将 RPN 获取到的 proposal 直接连到 ROI pooling 层,是一个 CNN 网络实现端到端目标检测的框架。

Faster R-CNN 卷积阶段:

机器/深度学习tf.Transform、Faster R-CNN、Gensim、Sklearn-pandas介绍

下载地址:https://github.com/rbgirshick/py-faster-rcnn

3、Gensim(主题模型 Python 工具包)

Gensim是一个相当专业的主题模型Python工具包。在文本处理中,比如商品评论挖掘,有时需要了解每个评论分别和商品的描述之间的相似度,以此衡量评论的客观性。评论和商品描述的相似度越高,说明评论的用语比较官方,不带太多感情色彩,比较注重描述商品的属性和特性,角度更客观。gensim就是  Python 里面计算文本相似度的程序包。

示例代码:

机器/深度学习tf.Transform、Faster R-CNN、Gensim、Sklearn-pandas介绍

针对商品评论和商品描述之间的相似度,怎么使用gensim来计算?

原理:

1]、文本相似度计算的需求始于搜索引擎

搜索引擎需要计算“用户查询”和爬下来的众多”网页“之间的相似度,从而把最相似的排在最前返回给用户。

2]、主要使用的算法是tf-idf

tf:term frequency词频

idf:inverse document frequency倒文档频率

主要思想是:如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

第一步:把每个网页文本分词,成为词包(bag of words)。

第二步:统计网页(文档)总数M。

第三步:统计第一个网页词数N,计算第一个网页第一个词在该网页中出现的次数n,再找出该词在所有文档中出现的次数m。则该词的tf-idf 为:n/N * 1/(m/M) (还有其它的归一化公式,这里是最基本最直观的公式)

第四步:重复第三步,计算出一个网页所有词的tf-idf 值。

第五步:重复第四步,计算出所有网页每个词的tf-idf 值。

3]、处理用户查询

第一步:对用户查询进行分词。

第二步:根据网页库(文档)的数据,计算用户查询中每个词的tf-idf 值。

4]、相似度的计算

使用余弦相似度来计算用户查询和每个网页之间的夹角。夹角越小,越相似。

安装:

安装gensim的简单方法是运行以下命令:

pip install -U gensim

下载地址:https://github.com/RaRe-Technologies/gensim

4、Sklearn-pandas(通用型的机器学习工具包)

机器/深度学习tf.Transform、Faster R-CNN、Gensim、Sklearn-pandas介绍

Sklearn-pandas既可以视为一个通用型的机器学习工具包,也可是视为一些特定算法的实现。它在具体的机器学习任务中主要充当支持者的角色。

这里所谓支持者的角色,按照其官网的解释即是说:Sklearn-pandas在Scikit-Learn和pandas之间提供了一个互通的桥梁(这一点从项目的名称也能看出)。Scikit-Learn上文已经提过,这里pandas是指一个开源的基于Python实现的数据分析工具。

具体的说,Sklearn-pandas的桥梁作用主要体现在以下两个方面:

1]、提供将DataFrame列映射到transformations的方法,这些列此后还可以重新组合成特征(features)。

2]、以pandas DataFrame为输入,为scikit-learn旧版本的管道交叉验证(cross-validate a pipeline)提供兼容性支持。

Sklearn-pandas的版本更新活跃,也是一个非常值得关注的开源项目。

安装:

您可以使用pip安装sklearn-pandas:

# pip install sklearn-pandas

测验:

该文件中的示例兼作基本的健康测试,要运行它们,请使用python附带的doctest:

# python -m doctest README.rst

下载地址:https://github.com/scikit-learn-contrib/sklearn-pandas

注明

以上就是机器/深度学习tf.Transform、Faster R-CNN、Gensim、Sklearn-pandas的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章