机器学习工具 sklearn与tensorflow优劣势

什么是sklearn

Sklearn原称是Scikit learn,是机器学习领域中最知名的python模块之一,是基于Python语言的机器学习的工具。他主要建立在NumPy,SciPy,matplotlib之上,提供简单高效,用于数据挖掘,数据分析等的工具,最重要的是,他是开源的,基于BSD许可证,可以商业使用。这样子,就给了我们无限的想象。

sklearn与tensorflow优劣势

目前,在社区中,tensorflow会比较火,很多同学会问,为什么不用tensorflow,这两个有什么区别,我想,主要从以下这方面来做对比

1、sklearn主要定位是一种通用的机器学习的学习库,tf主要定位还是深度学习。

2、特征工程上,sklearn提供了例如维度压缩、特征选择等,但是这样子并不代表这tf就比sklearn弱。在传统的机器学习中,sklearn需要使用者自行对数据进行数据处理,例如进行特征选择,维度压缩,转换格式等,但是tf可以在开始进行数据训练的过程中,自行从数据中提取有效的特征,从而减少人为的干预。

3、易用性及封装度上,sklearn更高,这点上,我想很多用过的人都清楚,不做累赘描述。

4、面对项目的不同,sklearn更适合中小型,特别是数据量不大的项目,此时更需要手动者对数据进行处理,并且选择合适模型的项目,这些计算是可以在CPU直接计算的,没有什么硬件要求。相对的,tf的应用领域上,往往更加注重数据量较大,一般情况下需要GPU进行加速运算。目前很多公司并没有很大量的数据,在选择上,可以作为参考。

机器学习有几种方式
针对sklearn来讲,经常用到的主要有:数据预处理、分类、回归、分监督分类(聚类),模型选择,数据降维

应用领域有哪些
机器学习工具 sklearn与tensorflow优劣势

目前,sklearn在应用中,主要有四类算法:聚类,分类,回归,降维

聚类:即非监督学习的方式,例如我有一堆人,这堆数据是没有男孩或者女孩这些标签的,此时我需要给这堆数据进行聚类,根据一些身体特征,分成两类,并标记为男孩,女孩。

分类/回归:监督学习的方式,还是那堆人,但是已经分好类了,男孩,女孩,此时来了一个新人,我根据这个新人的特征,给他归类。

降维:如果按照字面意思来理解,那就有问题,当数据集有很多属性的时候,我们此时需要把100个属性变成10个,并不是挑出10个,而是压缩成10个,这10个属性,就集合了100个属性特征,简单理解,就是重要的特征就拿起来,不重要的就吸收了。

上一篇:机器学习之逻辑回归实践


下一篇:task06_DW机器学习基础