sklearn支持gpu_sklearn 和tensorflow的区别

本文对比了sklearn和TensorFlow在功能、使用自由度、适用项目和结合使用的情况。sklearn专注于传统机器学习,提供特征工程功能,适合中小型项目,而TensorFlow则更适合深度学习,具有更高的自由度,适用于需要GPU加速的大规模项目。两者在实际应用中常常结合使用,sklearn用于数据预处理,TensorFlow和keras用于深度学习模型构建和训练。
摘要由CSDN通过智能技术生成

1、功能不同

Scikit-learn(sklearn)的定位是通用机器学习库,而TensorFlow(tf)的定位主要是深度学习库。一个显而易见的不同:tf并未提供sklearn那种强大的特征工程,如维度压缩、特征选择等。究其根本,我认为是因为机器学习模型的两种不同的处理数据的方式:传统机器学习:利用特征工程(feature engineering),人为对数据进行提炼清洗

深度学习:利用表示学习(representation learning),机器学习模型自身对数据进行提炼

sklearn更倾向于使用者可以自行对数据进行处理,比如选择特征、压缩维度、转换格式,是传统机器学习库。而以tf为代表的深度学习库会自动从数据中抽取有效特征,而不需要人为的来做这件事情,因此并未提供类似的功能。

2、使用自由度不同

sklearn 中的模块都是高度抽象化的,所有的分类器基本都可以在3-5行内完成,所有的转换器(如scaler和transformer)也都有固定的格式。这种抽 象化限制了使用者的自由度,但增加了模型的效率,降低了批量化、标准化的的难度(通过使用pipeline)。

clf = svm.SVC() # 初始化一个分类器

clf.fit(X_train, y_train) # 训练分类器

y_predict = clf.predict(X_test) # 使用训练好的分类器进行预测

而tf不同,虽然是深度学习库,但它有很高的自由度。你依然可以用它做传统机器学习所做的事情,代价是你需要自己实现算法。因此用tf类比sklearn不适合,封装在tf等工具库上的keras[2]才更像深度学习界的sklearn。

从自由度角

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值