im钱包安卓版下载|sklearn和tensorflow

作者: im钱包安卓版下载
2024-03-17 03:04:13

sklearn 和tensorflow的区别 - 知乎

sklearn 和tensorflow的区别 - 知乎切换模式写文章登录/注册sklearn 和tensorflow的区别雾夜飞鹰​西安电子科技大学 计算机科学与技术博士转自:https://www.cnblogs.com/lixuejian/p/10562092.html1、功能不同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。从自由度角度来看,tf更高;从抽象化、封装程度来看,sklearn更高;从易用性角度来看,sklearn更高。3、针对的群体、项目不同sklearn主要适合中小型的、实用机器学习项目,尤其是那种数据量不大且需要使用者手动对数据进行处理,并选择合适模型的项目。这类项目往往在CPU上就可以完成,对硬件要求低。tf主要适合已经明确了解需要用深度学习,且数据处理需求不高的项目。这类项目往往数据量较大,且最终需要的精度更高,一般都需要GPU加速运算。对于深度学习做“小样”可以在采样的小数据集上用keras做快速的实验,没了解的过朋友看一下keras的示例代码,就可以了解为什么keras堪比深度学习上的sklearn了。model = Sequential() # 定义模型

model.add(Dense(units=64, activation='relu', input_dim=100)) # 定义网络结构

model.add(Dense(units=10, activation='softmax')) # 定义网络结构

model.compile(loss='categorical_crossentropy', # 定义loss函数、优化方法、评估标准

optimizer='sgd',

metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5, batch_size=32) # 训练模型

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) # 评估模型

classes = model.predict(x_test, batch_size=128) # 使用训练好的数据进行预测不难看出,sklearn和tf有很大区别。虽然sklearn中也有神经网络模块,但做严肃的、大型的深度学习是不可能依靠sklearn的。虽然tf也可以用于做传统的机器学习、包括清理数据,但往往事倍功半。4、scikit-learn&tensorflow结合使用更常见的情况下,可以把sklearn和tf,甚至keras结合起来使用。sklearn肩负基本的数据清理任务,keras用于对问题进行小规模实验验证想法,而tf用于在完整的的数据上进行严肃的调参(炼丹)任务。而单独把sklearn拿出来看的话,它的文档做的特别好,初学者跟着看一遍sklearn支持的功能大概就对机器学习包括的很多内容有了基本的了解。举个简单的例子,sklearn很多时候对单独的知识点有概述,比如简单的异常检测。因此,sklearn不仅仅是简单的工具库,它的文档更像是一份简单的新手入门指南。因此,以sklearn为代表的传统机器学习库(如瑞士军刀般的万能但高度抽象),和以tf为代表的自由灵活更具有针对性的深度学习库(如乐高般高度自由但使用繁琐)都是机器学习者必须要了解的工具。不过sklearn 还是很有 必要学习的理论上来说,深度学习技术也是机器学习的一个组成部分,学习其他传统机器学习方法对深入理解深度学习技术有很大帮助,知道模型凸的条件,才能更好的理解神 经网络的非凸。知道传统模型的优点,才能更好的理解深度学习并不是万能的,也有很多问题和场景直接使用深度学习方法会遇到瓶颈和问题,需要传统方法来解 决。从实践上来说,深度学习方法一般需要大量GPU机器,工业界哪怕大公司的GPU资源也是有限的,一般只有深度学习方法效果远好于传统方法并且 对业务提升很大的情况下,才会考虑使用深度学习方法,例如语音识别,图像识别等任务现在深度学习方法用的比较多,而NLP领域除了机器翻译以外,其他大部 分任务仍然更常使用传统方法。传统方法一般有着更好的可解释性,这对检查调试模型也是非常有帮助的。工业上一般喜欢招能解决问题的人,而不是掌握最火技术 的人,因此在了解深度学习技术的同时,学习一下传统方法是很有好处的。结尾说实话,即使现在深度学习大行其道,很多时候你还是要用传统机器学习方法解决问题的。首先不是每个人都有一个彪悍的电脑/服务器,其次,大多数问题真的不需要深度网络。最后,只会调用工具包的程序员不是好的机器学习者。编辑于 2020-03-27 22:24sklearnTensorFlow 学习TensorLayer(深度学习库)​赞同 55​​1 条评论​分享​喜欢​收藏​申请

机器学习框架的比较和选择:TensorFlow、PyTorch和Scikit-learn的优缺点和适用场景-腾讯云开发者社区-腾讯云

框架的比较和选择:TensorFlow、PyTorch和Scikit-learn的优缺点和适用场景-腾讯云开发者社区-腾讯云人类群星闪耀时机器学习框架的比较和选择:TensorFlow、PyTorch和Scikit-learn的优缺点和适用场景原创关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网人类群星闪耀时首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >机器学习框架的比较和选择:TensorFlow、PyTorch和Scikit-learn的优缺点和适用场景机器学习框架的比较和选择:TensorFlow、PyTorch和Scikit-learn的优缺点和适用场景原创人类群星闪耀时关注发布于 2024-02-02 13:02:062070发布于 2024-02-02 13:02:06引言在机器学习领域,选择合适的框架对于项目的成功至关重要。TensorFlow、PyTorch和Scikit-learn是三个备受欢迎的机器学习框架,本文将深入比较它们的优缺点,并为读者提供在不同场景下的选择建议。第一部分:TensorFlow1.1 TensorFlow简介TensorFlow是由Google开发的开源机器学习框架,广泛应用于深度学习和神经网络领域。1.2 TensorFlow的优缺点1.2.1 优点:广泛的社区支持: TensorFlow有庞大的社区,提供了丰富的文档和教程。强大的分布式计算支持: 适用于大规模模型的训练和推理。1.2.2 缺点:相对较陡峭的学习曲线: 对于初学者来说,TensorFlow的学习曲线可能相对陡峭。相对繁琐的代码结构: 在一些情况下,TensorFlow的代码结构相对繁琐。1.3 TensorFlow的适用场景适用于需要大规模深度学习和神经网络的项目,如图像识别、语音识别等。第二部分:PyTorch2.1 PyTorch简介PyTorch是由Facebook开发的开源机器学习框架,以其灵活性和直观性而受到欢迎。2.2 PyTorch的优缺点2.2.1 优点:直观的动态图计算: PyTorch使用动态图计算,更直观,有助于调试和理解模型。良好的社区支持: PyTorch拥有积极的社区,有很多高质量的扩展和工具。2.2.2 缺点:分布式计算相对不成熟: 相对于TensorFlow,PyTorch在分布式计算方面的支持较为不成熟。相对较小的生态系统: 虽然在增长,但相比于TensorFlow,PyTorch的生态系统相对较小。2.3 PyTorch的适用场景适用于需要直观性和灵活性,以及较小规模项目的机器学习任务。第三部分:Scikit-learn3.1 Scikit-learn简介Scikit-learn是一个简单而高效的机器学习库,适用于各种统计和机器学习任务。3.2 Scikit-learn的优缺点3.2.1 优点:易于学习和使用: Scikit-learn的API设计简单,容易上手。丰富的算法和工具: 提供了大量的经典机器学习算法和工具。3.2.2 缺点:不支持深度学习: 由于设计目标,Scikit-learn并不支持深度学习任务。适用于相对简单的任务: 对于复杂的深度学习任务,Scikit-learn可能显得力不从心。3.3 Scikit-learn的适用场景适用于传统的机器学习任务,如分类、回归和聚类等,对深度学习需求不高的项目。第四部分:如何选择?4.1 项目需求和规模大规模深度学习项目: TensorFlow可能是更好的选择。中小规模深度学习项目: PyTorch提供更灵活和直观的解决方案。传统机器学习任务: Scikit-learn是一个简单而高效的选择。4.2 学习曲线和团队经验学习曲线陡峭: 如果团队有深度学习经验,TensorFlow可能更合适。直观性和灵活性: 如果更注重直观性和灵活性,PyTorch可能更合适。结论在选择机器学习框架时,需要根据项目需求、规模、团队经验和学习曲线等多方面因素进行综合考虑。TensorFlow、PyTorch和Scikit-learn各有优劣,选择适合自己项目的框架将有助于提高开发效率和模型性能。希望本文对读者在选择机器学习框架时提供了一些建议和指导。我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。如有侵权,请联系 cloudcommunity@tencent.com 删除。2024腾讯·技术创作特训营 第五期原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。如有侵权,请联系 cloudcommunity@tencent.com 删除。2024腾讯·技术创作特训营 第五期评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0目录引言第一部分:TensorFlow1.1 TensorFlow简介1.2 TensorFlow的优缺点1.2.1 优点:1.2.2 缺点:1.3 TensorFlow的适用场景第二部分:PyTorch2.1 PyTorch简介2.2 PyTorch的优缺点2.2.1 优点:2.2.2 缺点:2.3 PyTorch的适用场景第三部分:Scikit-learn3.1 Scikit-learn简介3.2 Scikit-learn的优缺点3.2.1 优点:第四部分:如何选择?4.1 项目需求和规模4.2 学习曲线和团队经验结论相关产品与服务灰盒安全测试腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。产品介绍产品文档2024新春采购节领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 |  京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00

2019年初,应该选择scikit-learn还是pytorch还是tensorflow2.0入门? - 知乎

2019年初,应该选择scikit-learn还是pytorch还是tensorflow2.0入门? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册机器学习深度学习(Deep Learning)TensorFlow 学习PyTorch2019年初,应该选择scikit-learn还是pytorch还是tensorflow2.0入门?关注者27被浏览94,252关注问题​写回答​邀请回答​好问题 1​添加评论​分享​5 个回答默认排序懒懒懒算法工程师一枚​ 关注sklearn是机器学习算法包,有很多数据处理方法,目前在使用tf或者pytorch的过程中都会结合sklearn进行数据处理的,所以不冲突。在工业界用tf的比较多,学术界基本都是pytorch,入门的话,肯定pytorch简单好用,如果只是服务端部署,建议pytorch,移动端部署tflite还是支持的比较好一些编辑于 2019-04-10 10:17​赞同 32​​添加评论​分享​收藏​喜欢收起​落落小方地发卡​ 关注sklearn是机器学习的包,pytorch和TensorFlow是深度学习的包。并不清楚你是问什么。但我可以说的是,即便是你用pytorch撸深度学习算法,前面的预处理部分有时候还是要用sklearn的。编辑于 2019-03-12 00:01​赞同 20​​添加评论​分享​收藏​喜欢

Scikit-learn 与 TensorFlow不是一回事:详细对比 - 知乎

Scikit-learn 与 TensorFlow不是一回事:详细对比 - 知乎切换模式写文章登录/注册Scikit-learn 与 TensorFlow不是一回事:详细对比圣普伦数字技术课程 Simplilearn中国数字技术教育,美好未来!什么是 Scikit-Learn?Scikit-learn 是一个开源 Python 库,包括各种无监督和监督学习技术。它基于 Matplotlib、Pandas 和 NumPy 等技术和库,有助于简化编码任务。Scikit-learn 的功能包括:分类(包括 K-Nearest Neighbors)预处理(包括最小最大归一化)聚类(包括 K-Means++ 和 K-Means)回归(包括逻辑回归和线性回归)Scikit-learn是使用最广泛的Python机器学习库之一。它拥有标准简单的界面,可用于预处理数据以及模型的训练、优化和评估。该项目最初始自David Cournapeau在Google Summer of Code活动中开发的项目,并于2010年首次公开发布。自创建以来,该库已发展成为了一个丰富的生态系统,可用于开发机器学习模型。Scikit-learn的优点想要将算法连接到他们的平台的用户可以在 scikit-learn 网站上找到详细的 API 文档。社区用户量大,有很多贡献者、提供大型国际在线社区支持。使用起来很简单。只需最基本的许可和法律限制即可免费使用。scikit-learn 包具有极强的适应性和实用性,可用于各种现实世界的任务,例如开发神经图像、预测消费者行为等。Scikit-learn的缺点如果你更喜欢深度学习,scikit-learn就不是那么合适你学习。因为它使用起来比较简单,所以可能会导致一些初级数据科学家懒得去学习基础知识而蛮干。什么是 TensorFlow?TensorFlow 是一个由 Google 维护的开源框架,用于对机器学习模型(主要是神经网络)进行原型设计和评估。TensorFlow 采用用多种语言编写,包括 Swift、Python、Go、Javascript、Java 和 C++等,并包括对各种其他语言的社区构建支持。TensorFlow允许应用程序在无需修改的前提下也能够在标准 CPU 上运行的库。Linux、Android、macOS 和 Windows 是 TensorFlow 支持的系统。谷歌云机器学习引擎也可以在不使用传统计算平台的情况下运TensorFlow 模型。TensorFlow 通常与神经网络相关联,它的吸引力源于其速度和神经网络优化。很少有框架能够与 TensorFlow 在 GPU、CPU、GPU 和 TPU 上运行模型的能力相匹敌。TensorFlow的优点它可以快速轻松地计算数学表达式。TensorFlow 可以生成大量序列模型并训练用于数字分类的深度神经网络。TensorFlow 提供了一项独特的功能,可以同时提高内存和数据的使用率。它有谷歌的支持。它提供定期的新功能发布、快速升级和流畅的性能。TensorFlow 旨在与各种后端软件(ASIC、GPU 等)一起使用,并且具有极高的并行性。TensorFlow 背后有一个强大的社区。与 Theano 和 Torch 等内在库相比,TensorFlow 的计算图可视化更加出色。它使用了一种新颖的方法,使我们能够跟踪许多指标并监控模型的训练进度。它的性能非常出色,与行业中的佼佼者不相上下。TensorFlow的缺点目前,NVIDIA 是唯一支持TensorFlow的 GPU,而 Python 是唯一支持的完整语言,这是一个劣势,因为有越来越多的其他深度学习语言。有很多用户更喜欢在 Windows 环境中工作而不是在 Linux 上工作,很遗憾TensorFlow 并不能满足他们的需求。如果实在想装,Windows 用户也可以通过 Python 包库 (pip) 或 conda 安装它。不支持 OpenCL。由于 TensorFlow 的独特结构,很难发现和排除错误。要求学习者拥有扎实的高等数学和线性代数基础,对机器学习有透彻的了解,学习门槛高。总的来说,Scikit-learn 和 TensorFlow 旨在帮助开发人员创建和基准测试新模型,因此它们的功能实现非常相似,不同之处在于 Scikit-learn 在实践中用于更广泛的模型,而 TensorFlow 更适用于神经网络。TensorFlow深度学习Simplilearn圣普伦的TensorFlow认证培训计划由行业领军人物开发的,并与最前沿的优质实践保持一致性。在这份学习计划中,你将掌握Deep Learning、TensorFlow,卷积网络、循环神经网络、PyTorch以及图像分类等多项技能。编辑于 2022-05-01 19:34Python深度学习(Deep Learning)TensorFlow 学习​赞同 1​​添加评论​分享​喜欢​收藏​申请

有TensorFlow了还需要学习sklearn吗? - 知乎

有TensorFlow了还需要学习sklearn吗? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册机器学习深度学习(Deep Learning)TensorFlow 学习sklearn有TensorFlow了还需要学习sklearn吗?如题。两者的功能是否有重合。有工作经验的人能不能聊聊你们工作的时候一般是怎样用的显示全部 ​关注者57被浏览77,402关注问题​写回答​邀请回答​好问题 2​添加评论​分享​12 个回答默认排序半个冯博士机器学习和数学​ 关注如果是实际应用看具体需求,如果是为了提升竞争力为了毕业后就业自然是都学一学。问题是2019年的,而目前pytorch已经明显占了上风,并且也有不少人认为未来的趋势也是Pytorch占优,毕竟连Google自己的人写文章都用pytorch。说几句正经的:1、sklearn和tensorflow、Pytorch一类的框架本就大不相同首先tf,torch的定位是framework,意思有点类似脚手架。而sklearn的定位则更倾向于工具箱,这种东西拿着就用,入门的门槛相对较低。从功能上讲,二者差异巨大。sklearn主要还是传统的机器学习模型,比如knn、svm等等; 而tf,torch是则是针对深度学习的框架。二者有那么一点点的重叠就是在简单的神经网络上。2、工业界目前的应用小量级上用sklearn的还是挺多,但大量级、尤其图形图象、语音视频、nlp等用tf、pytorch的就更多了这个现象的主要原因还是在于sklearn对应的模型本身的适用场景的问题。从2006年之后,深度学习的技术突飞猛进,在诸多工业应用中获得了传统方法几乎无法企及的成绩。工业界使用传统机器学习模型来处理问题也不是一两天了,得到了不少好的效果,上限仍然肉眼可见。就个人的感受而言,目前在工业界都对深度学习的兴趣越高,最近几年成功的应用也越来越多。因此要想跟上前沿应用,掌握一个深度学习的框架是有必要的。3、尽管深度学习风头正劲,但传统机器学习模型的作用也难以被取代这一点在个人技术成长上犹为明显。如果不懂得机器学习中的基本模型,比如线性回归、knn,不了解这些思想,不明白这些算法本身,直接去上深度学习通常就真会有一种“炼丹”的感觉。在实际应用中,会出现无数的模型不适用、稀疏性不够、收敛性太差、鲁棒性不够等等奇怪的现象。而要想处理这些问题,就必须要了解背后的机理。试图去解释其中的原因,从而找到有效的改进方法。现实的工作中搭模型跑数据玩得飞起,但对置信区间、高斯分布等基础概念不清楚的新手大有人在。编辑于 2021-08-25 22:41​赞同 24​​2 条评论​分享​收藏​喜欢收起​BBuf​​ 关注从打机器比赛堆pipline来讲(不考虑cnn模型),sklearn比用tensorflow的速度快到不知道哪里去了。发布于 2019-11-22 14:28​赞同 6​​添加评论​分享​收藏​喜欢

机器学习库的比较 - 知乎

机器学习库的比较 - 知乎切换模式写文章登录/注册机器学习库的比较飞天游侠​​中国科学院计算技术研究所 计算机系统结构博士在读框架比较深度学习的库有很多,这里主要分析pytorch、tensorflow、keras、sklearn四个机器学习或深度学习框架。一个不同于其它框架的库对上述四个框架进行基本的分类,虽然他们都是可以进行数据的分析和预测,在我看来,sklearn并不属于框架的一种。严格说,一个深度学习框架应该是一种具有以计算图为语义模型的内部领域特定语言(DSL)。sklearn属于一个机器学习库,它没有语义模型,仅仅提供了对于统计机器学习任务(如:分类、回归等)的封装,使用者可以通过fit等函数去拟合实际数据。它建立在numpy和scipy基础上,提供了一系列可用的运算模型,比如SVM,线性回归模型。使用者在fit后使用predict方法就可以在拟合好的基础上对新的输入数据进行预测。然而,sklearn不支持gpu。最热门的深度学习框架最先兴起的深度学习框架tensorflow是谷歌在2015年发布的。tensorflow最大的优势就是在于文档全面,社区规模大。这对于初学者是很大的优势。我主要关注框架的科研和工程两方面。工程方面计算机工程主要看重的是运行速度。tensorflow的运行速度比pytorch要快一些。而且由于使用的人数多,生态环境也比较完善,出现bug时容易寻找原因。科研方面科研领域主要关注易用性,tensorflow 1.0的易用性和pytorch相比显然不高。对api 1.0而言,采用静态计算图,不能动态建图,运行时还要创建session十分不便。去年发布的tf 2.0版本改进了许多,使得tensorflow本身可以不用特别多的placeholder这些复杂概念就可以运行,也加入了动态图机制,但是要借助于内置的keras。抽象程度更高的框架最初的keras是一个易懂的多后端的框架,可以用tf为底层。后来谷歌为了完善tf,在tf中加入了keras,使得api 2.0更易用了一些。工程方面keras因为采用了tf作为后端,整体的性能要比pytorch好一些。科研方面在tf api 2.0中,由于引入了keras的易用后端,我相信科研工作者会慢慢喜欢上tf api 2.0 的。科研工作的常用框架pytorch是在2016年由facebook发布的,支持动态计算图,这是它最大的优势。工程方面虽然pytorch可以代替tf,然而tf的速度依然有优势。近几年tvm等一系列深度学习编译器的出现把深度学习框架的速度优势磨平了。tvm的前端可以是pytorch模型,也可以是tensorflow模型。所以部署时两者编译出的计算图如果都用tvm优化,速度基本等同。科研方面pytorch出现后,由于torch的api更加清晰,许多论文的实现都有pytorch版本,可以代替tensorflow。发布于 2020-08-03 20:52机器学习TensorFlow 学习TensorLayer(深度学习库)​赞同 3​​添加评论​分享​喜欢​收藏​申请

scikit-learn和tensorflow的区别 - 简书

it-learn和tensorflow的区别 - 简书登录注册写文章首页下载APP会员IT技术scikit-learn和tensorflow的区别阿基米敬关注赞赏支持scikit-learn和tensorflow的区别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。

从自由度角度来看,tf更高;从抽象化、封装程度来看,sklearn更高;从易用性角度来看,sklearn更高。

3、针对的群体、项目不同

sklearn主要适合中小型的、实用机器学习项目,尤其是那种数据量不大且需要使用者手动对数据进行处理,并选择合适模型的项目。这类项目往往在CPU上就可以完成,对硬件要求低。

tf主要适合已经明确了解需要用深度学习,且数据处理需求不高的项目。这类项目往往数据量较大,且最终需要的精度更高,一般都需要GPU加速运算。对于深度学习做“小样”可以在采样的小数据集上用keras做快速的实验,没了解的过朋友看一下keras的示例代码,就可以了解为什么keras堪比深度学习上的sklearn了。

model = Sequential() # 定义模型

model.add(Dense(units=64, activation='relu', input_dim=100)) # 定义网络结构

model.add(Dense(units=10, activation='softmax')) # 定义网络结构

model.compile(loss='categorical_crossentropy', # 定义loss函数、优化方法、评估标准

optimizer='sgd',

metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5, batch_size=32) # 训练模型

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) # 评估模型

classes = model.predict(x_test, batch_size=128) # 使用训练好的数据进行预测

不难看出,sklearn和tf有很大区别。虽然sklearn中也有神经网络模块,但做严肃的、大型的深度学习是不可能依靠sklearn的。虽然tf也可以用于做传统的机器学习、包括清理数据,但往往事倍功半。

4、scikit-learn&tensorflow结合使用

更常见的情况下,可以把sklearn和tf,甚至keras结合起来使用。sklearn肩负基本的数据清理任务,keras用于对问题进行小规模实验验证想法,而tf用于在完整的的数据上进行严肃的调参(炼丹)任务。

而单独把sklearn拿出来看的话,它的文档做的特别好,初学者跟着看一遍sklearn支持的功能大概就对机器学习包括的很多内容有了基本的了解。举个简单的例子,sklearn很多时候对单独的知识点有概述,比如简单的异常检测。因此,sklearn不仅仅是简单的工具库,它的文档更像是一份简单的新手入门指南。

因此,以sklearn为代表的传统机器学习库(如瑞士军刀般的万能但高度抽象),和以tf为代表的自由灵活更具有针对性的深度学习库(如乐高般高度自由但使用繁琐)都是机器学习者必须要了解的工具。

不过sklearn 还是很有 必要学习的

理论上来说,深度学习技术也是机器学习的一个组成部分,学习其他传统机器学习方法对深入理解深度学习技术有很大帮助,知道模型凸的条件,才能更好的理解神 经网络的非凸。知道传统模型的优点,才能更好的理解深度学习并不是万能的,也有很多问题和场景直接使用深度学习方法会遇到瓶颈和问题,需要传统方法来解 决。

从实践上来说,深度学习方法一般需要大量GPU机器,工业界哪怕大公司的GPU资源也是有限的,一般只有深度学习方法效果远好于传统方法并且 对业务提升很大的情况下,才会考虑使用深度学习方法,例如语音识别,图像识别等任务现在深度学习方法用的比较多,而NLP领域除了机器翻译以外,其他大部 分任务仍然更常使用传统方法。传统方法一般有着更好的可解释性,这对检查调试模型也是非常有帮助的。工业上一般喜欢招能解决问题的人,而不是掌握最火技术 的人,因此在了解深度学习技术的同时,学习一下传统方法是很有好处的。

结尾

说实话,即使现在深度学习大行其道,很多时候你还是要用传统机器学习方法解决问题的。首先不是每个人都有一个彪悍的电脑/服务器,其次,大多数问题真的不需要深度网络。最后,只会调用工具包的程序员不是好的机器学习者。

最后编辑于 :2018.05.03 14:37:37©著作权归作者所有,转载或内容合作请联系作者人面猴序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...沈念sama阅读 148,057评论 1赞 315死咒序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...沈念sama阅读 63,232评论 1赞 263救了他两次的神仙让他今天三更去死文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...开封第一讲书人阅读 98,663评论 0赞 217道士缉凶录:失踪的卖姜人 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...开封第一讲书人阅读 41,992评论 0赞 188港岛之恋(遗憾婚礼)正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...茶点故事阅读 49,949评论 1赞 266恶毒庶女顶嫁案:这布局不是一般人想出来的文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...开封第一讲书人阅读 39,305评论 1赞 183城市分裂传说那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...沈念sama阅读 30,849评论 2赞 282双鸳鸯连环套:你想象不到人心有多黑文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...开封第一讲书人阅读 29,611评论 0赞 175万荣杀人案实录序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...沈念sama阅读 33,059评论 0赞 222护林员之死正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...茶点故事阅读 29,695评论 2赞 226白月光启示录正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...茶点故事阅读 31,056评论 1赞 236活死人序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...沈念sama阅读 27,495评论 2赞 220日本核电站爆炸内幕正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...茶点故事阅读 31,967评论 3赞 216男人毒药:我在死后第九天来索命文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...开封第一讲书人阅读 25,753评论 0赞 9一桩弑父案,背后竟有这般阴谋文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...开封第一讲书人阅读 26,255评论 0赞 175情欲美人皮我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...沈念sama阅读 34,086评论 2赞 239代替公主和亲正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...茶点故事阅读 34,227评论 2赞 241评论9赞7979赞80赞赞赏更

机器学习工具 sklearn与tensorflow优劣势_python sklearn 和tensor flow哪个更好-CSDN博客

>

机器学习工具 sklearn与tensorflow优劣势_python sklearn 和tensor flow哪个更好-CSDN博客

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

最新推荐文章于 2023-12-20 02:40:15 发布

SDRAG0N

最新推荐文章于 2023-12-20 02:40:15 发布

阅读量2.1k

收藏

8

点赞数

1

文章标签:

机器学习

深度学习

原文链接:http://www.elecfans.com/d/1204113.html

版权

什么是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在应用中,主要有四类算法:聚类,分类,回归,降维

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

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

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

优惠劵

SDRAG0N

关注

关注

1

点赞

8

收藏

觉得还不错?

一键收藏

知道了

0

评论

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

什么是sklearnSklearn原称是Scikit learn,是机器学习领域中最知名的python模块之一,是基于Python语言的机器学习的工具。他主要建立在NumPy,SciPy,matplotlib之上,提供简单高效,用于数据挖掘,数据分析等的工具,最重要的是,他是开源的,基于BSD许可证,可以商业使用。这样子,就给了我们无限的想象。sklearn与tensorflow优劣势目前,在社区中,tensorflow会比较火,很多同学会问,为什么不用tensorflow,这两个有什么区别,我想,主

复制链接

扫一扫

机器学习教程,本教程包含基于numpy、sklearn与tensorflow机器学习,也会包含利用spark、flink加快模型

01-07

机器学习教程,本教程包含基于numpy、sklearn与tensorflow机器学习,也会包含利用spark、flink加快模型训练等用法。本着能够较全的引导读者入门机器学习。

本项目将按照具体的类库、平台进行区分,当前主要包含如下目录。

cnn: 卷积神经网络相关算法

featureengineering: 特征工程相关

frequentltemsets: 频繁项集挖掘相关算法

raw:基于numpy实现的原始算法

sklearn:基于scikit-learn库快速实现

spark:基于Spark ML的机器学习实现

scipy: 基于SciPy的科学计算使用,具体说明

utils:项目额外补充的工具类

利用python、tensorflow、opencv实现人脸识别(包会)!

热门推荐

就是这个七昂的博客

07-25

21万+

 

一,前言

本人是机械专业在读硕士,在完成暑假实践的时候接触到了人脸识别,对这一实现很感兴趣,所以花了大概十天时间做出了自己的人脸识别。这篇文章应该是很详细的了所以帮你实现人脸识别应该没什么问题。

先说本博文的最终要达到的效果:通过一系列操作,在摄像头的视频流中识别特定人的人脸,并且予以标记。

本人通过网上资料的查询发现这类人脸识别,大多参考了一位日本程序员小哥的文章。

链接:http...

参与评论

您还未登录,请先

登录

后发表或查看评论

sklearn和tensorflow的理解

最新发布

影子

12-20

839

深度神经网络(DNN)是一种多层无监督神经网络,并且将上一层的输出特征作为下一层的输入进行特征学习,通过逐层特征映射后,将现有空间样本的特征映射到另一个特征空间,以此来学习对现有输入具有更好的特征表达。每一层之前是完全连接的,整体上看是复杂的,但从局部来看,实质上还是感知机模型。,比如选择特征、压缩维度、转换格式,是传统机器学习库,SKLearn中,因为做了上层的封装,分类模型、回归模型、聚类与降维模型、预处理器等等都叫做估计器(estimator)的训练机制,而不是采用传统神经网络的。

机器学习sklearn 和tensorflow 的资料总结

11-23

机器学习大佬总结的资料,其中包括sklearn 和tensorflow 框架的介绍,和常见算法的介绍,欢迎下载。

Python 机器学习工具包SKlearn的安装与使用

04-14

Python 机器学习工具包SKlearn的安装与使用

Sklearn 与 TensorFlow 机器学习实用指南_机器学习_

09-30

Sklearn 与 TensorFlow 机器学习实用指南

sklearn和tensorflow

qq_43544736的博客

01-08

786

sklearn是python中的一个机器学习库,封装了大量机器学习算法,同时也内置了数据集;tensorflow是一个编程系统,是一种计算图模型,即用图的形式来表示运算过程的一种模型,在Python语言中,返回的tensor是NumPy中的ndarray对象。

【转载】scikit-learn和tensorflow的区别

mxs1123的博客

10-18

1234

https://www.jianshu.com/p/0837b7c6ce10

1、功能不同

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

传统机器学习:利用特征工程(...

Tensorflow2项目实战课程

03-14

Tensorflow2.0介绍: tensorflow是GOOGLE在2015年底发布的一款深度学习框架,也是目前全世界用得最多,发展最好的深度学习框架。2019年3月8日,GOOGLE发布最新tensorflow2版本。新版本的tensorflow有很多新特征,更快更容易使用更人性化。但是老版的tensorflow程序在新版本中几乎都无法继续使用,所以我们有必要学习新版tensorflow2的新用法。课程介绍: 我们的这门课程适合小白学习,也适合有基础的同学学习。课程会从0开始学习,从python环境安装,python入门,numpy,pandas,matplotlib使用,深度学习基础,一直讲到tensorflow基础,进阶,项目实战。不管你是0基础小白,想进入AI行业,还是有一定基础,想学习最新的tensorflow2的使用,都适合我们这门课程。讲师介绍: 覃秉丰,物理系毕业转AI行业,想转行同学可以找我聊聊。机器学习、深度学习神经网络领域多年研究开发授课经验,精通算法原理与编程实践;曾完成过多项图像识别、目标识别、语音识别等企业项目,一线实战经验丰富;长期为多家包括世界五百强在内的大型企业总部做人工智能技术内训服务(中国移动、中国银行,华夏银行,中国太平洋,国家电网、中海油等)。上课特点:公式尽量一个一个符号推,代码尽量一行一行讲,希望所有人都能学有所得。

sklearn与TensorFlow区别

Kseven的笔记

12-22

1994

sklearn与TensorFlow

Scikit-learn的优点

weixin_35751412的博客

01-11

1323

Scikit-learn是一个基于Python的机器学习库,它有以下优点:

易于使用: scikit-learn提供了一个统一的界面,可以简化机器学习任务的实现。

高效: scikit-learn内部使用了大量优化过的算法, 它可以高效地处理大规模数据.

可扩展性: scikit-learn提供了大量的可扩展性选项,如并行计算, 可以满足大规模学习的需求.

丰富的文档和社区支持: scik...

机器学习笔记

kaku812814843的博客

05-03

3258

机器学习(machine learning):用已有的数据训练某种模型,利用模型预测未来

Python机器学习库官网https://scikit-learn.org/stable/

机器学习分为有监督的机器学习和无监督的机器学习

有监督的机器学习:回归、分类

无监督的机器学习:聚类、降维

numpy数学计算框架

scipy物理计算框架

pandas数据分析框架

matplotlib...

“机器学习与深度学习”简要介绍与深度学习Hello World

zcc450959507的博客

07-10

954

前言

博主也是自己从零开始自学的,因为感兴趣,所以使用工作外的零散时间坚持学了下来,大概一年时间了,博主主要工作是工程相关的。认为自己还是喽啰,整理这篇博客的目的是为了整理一下自己之前学的一些东西,也希望能对感兴趣想自学的同学们有一点点帮助,里面可能有谬误地方,也望指正。

机器学习定义

机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。简...

机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(一)

fjl_CSDN的博客

12-31

1万+

一、简介  Scikit-learn集成了很多机器学习需要使用的函数,学习Scikit-learn能简洁、快速写出机器学习程序。本文章主要是对真实数据进行实战,手把手带你走一遍使用机器学习对真实数据进行处理的全过程。并且通过代码更加深入的了解机器学习模型,学习如何处理数据,如何选择模型,如何选择和调整模型参数。

二、配置必要的环境1、推荐安装Anaconda(集成Python和很多有用的P

【翻译】Sklearn与TensorFlow机器学习实用指南 —— 第16章 强化学习(下)

weixin_33716941的博客

07-10

249

时间差分学习与 Q 学习

具有离散动作的强化学习问题通常可以被建模为马尔可夫决策过程,但是智能体最初不知道转移概率是什么(它不知道T),并且它不知道奖励会是什么(它不知道R)。它必须经历每一个状态和每一次转变并且至少知道一次奖励,并且如果要对转移概率进行合理的估计,就必须经历多次。

时间差分学习(TD 学习)算法与数值迭代算法非常类似,但考虑到智能体仅具...

#第18篇分享:python机器学习-sklearn简介(初识0)

weixin_46008828的博客

12-28

477

#python机器学习-sklearn学习笔记:

1.sklearn做什么的:

2.与其他模块的区别:

3.了解一下各个部分:

#持续更,,,,,,,

Sklearn 与 TensorFlow 机器学习实用指南——第七章总结

yanying1113的博客

01-12

680

Sklearn 与 TensorFlow 机器学习实用指南——第七章总结投票分类Bagging 和 Pasting在 sklearn 中的 Bagging 和 PastingOut-of-Bag 评价随机森林特征重要度提升(boosting)Adaboost梯度提升Stacking习题

本章主要讲解了几种集成方法,包括 bagging, boosting, stacking,和其他一些算法。参考地...

Python机器学习:Scikit-learn和TensorFlow的应用和模型设计

baidu_38876334的博客

05-14

1047

本文介绍了Python机器学习中的一些常用算法和技术,包括Scikit-learn和TensorFlow的应用、数据预处理、模型训练和评估、模型设计等。Scikit-learn和TensorFlow是Python中应用最广泛的两个机器学习库,它们提供了丰富的机器学习算法和工具,帮助开发人员轻松地构建和训练机器学习模型。数据增强是一种通过对原始数据进行一系列变换来生成新的训练数据的方法,它可以扩充数据集的规模,从而提高模型的性能。一个好的模型可以提高算法的性能,而一个不好的模型则会影响算法的表现。

TensorFlow2.0入门到进阶2.17 —— 超参数搜索sklearn封装keras模型及超参数搜索

caoyuan666的博客

05-05

969

文章目录1、理论原理2、sklearn封装keras模型3、sklearn超参数搜索4、结果显示

1、理论原理

超参数搜索:

https://blog.csdn.net/caoyuan666/article/details/105933836

2、sklearn封装keras模型

1、转化为sklearn的model

2、定义参数集合

3、搜索参数

def build_model(hidden...

python中的深度学习库sklearn、tensorflow、pytorch有什么关联和区别

04-29

sklearn、tensorflow、pytorch都是Python中的深度学习库,但是它们的职责和功能各不相同。

sklearn是Python中最常用的机器学习库之一,它提供了各种各样的机器学习算法,包括分类、回归、聚类、降维等,同时也提供了数据预处理、特征提取等功能,可以说是一个较为全面的机器学习库。

TensorFlow是由Google开发的一个开源的深度学习库,它的主要功能是搭建、训练和部署深度学习模型。TensorFlow的最大优势是它的计算图模型,可以高效地运行大规模的深度学习模型,也提供了各种各样的神经网络层和优化算法,可以帮助开发者轻松地构建深度学习模型。

PyTorch是由Facebook开发的深度学习框架,它的主要特点是动态图模型,在模型构建的过程中可以进行动态计算,这使得模型的构建和调试更加方便。PyTorch也提供了各种各样的神经网络层和优化算法,同时也支持分布式训练和部署。

总的来说,sklearn主要是机器学习方面的库,TensorFlow和PyTorch则是深度学习方面的库,它们的职责和功能各不相同,开发者需要根据自己的需求来选择合适的库。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

SDRAG0N

CSDN认证博客专家

CSDN认证企业博客

码龄6年

暂无认证

38

原创

11万+

周排名

160万+

总排名

5万+

访问

等级

504

积分

6

粉丝

59

获赞

16

评论

202

收藏

私信

关注

热门文章

安装 scikit-learn之先安装numpy、SciPy、joblib之各种跳坑

5420

Hadoop的三种运行模式(启动模式)

4288

matlab GUI设置背景图及添加logo

4203

解决pip安装scikit-learn 速度慢的问题

3939

JAVA实现接口创建对象时,为什么用接口来引用对象而不是类

3729

分类专栏

Python

2篇

matlab

3篇

LeetCode

11篇

JAVA

26篇

NOSQL

1篇

大数据

2篇

小妙招

1篇

Debug

1篇

人工智能

1篇

最新评论

idea new无Servlet 详解

qq_30513217:

安装新版idea的用这个办法解决不了的,需要在editor-》file and code templates里新增模板

JAVA实现接口创建对象时,为什么用接口来引用对象而不是类

MyY_DO:

接口对象 接受 实现方法

利于只调用接口方法

更换方法的时候可以直接修改 接口实现

利于复用

解决pip安装scikit-learn 速度慢的问题

Jan Ford:

pip install scikit-learn -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

idea new无Servlet 详解

张飞南昌分飞:

pom xml在哪里

安装 scikit-learn之先安装numpy、SciPy、joblib之各种跳坑

Any.952:

先安装sklearn然后再安装SciPy会怎么样啊

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

MATLAB 读取mysql中文乱码

JAVA翻转链表

移除链表元素

2022年14篇

2021年23篇

2020年4篇

目录

目录

分类专栏

Python

2篇

matlab

3篇

LeetCode

11篇

JAVA

26篇

NOSQL

1篇

大数据

2篇

小妙招

1篇

Debug

1篇

人工智能

1篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值

sklearn 和tensorflow的区别_tensorflow和sklearn区别-CSDN博客

>

sklearn 和tensorflow的区别_tensorflow和sklearn区别-CSDN博客

sklearn 和tensorflow的区别

最新推荐文章于 2023-12-20 02:40:15 发布

Mingsheng Zhang

最新推荐文章于 2023-12-20 02:40:15 发布

阅读量1.8w

收藏

95

点赞数

41

转自:https://www.cnblogs.com/lixuejian/p/10562092.html

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。 从自由度角度来看,tf更高;从抽象化、封装程度来看,sklearn更高;从易用性角度来看,sklearn更高。

3、针对的群体、项目不同

sklearn主要适合中小型的、实用机器学习项目,尤其是那种数据量不大且需要使用者手动对数据进行处理,并选择合适模型的项目。这类项目往往在CPU上就可以完成,对硬件要求低。tf主要适合已经明确了解需要用深度学习,且数据处理需求不高的项目。这类项目往往数据量较大,且最终需要的精度更高,一般都需要GPU加速运算。对于深度学习做“小样”可以在采样的小数据集上用keras做快速的实验,没了解的过朋友看一下keras的示例代码,就可以了解为什么keras堪比深度学习上的sklearn了。

model = Sequential() # 定义模型

model.add(Dense(units=64, activation='relu', input_dim=100)) # 定义网络结构

model.add(Dense(units=10, activation='softmax')) # 定义网络结构

model.compile(loss='categorical_crossentropy', # 定义loss函数、优化方法、评估标准

optimizer='sgd',

metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5, batch_size=32) # 训练模型

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) # 评估模型

classes = model.predict(x_test, batch_size=128) # 使用训练好的数据进行预测

 

不难看出,sklearn和tf有很大区别。虽然sklearn中也有神经网络模块,但做严肃的、大型的深度学习是不可能依靠sklearn的。虽然tf也可以用于做传统的机器学习、包括清理数据,但往往事倍功半。

4、scikit-learn&tensorflow结合使用

更常见的情况下,可以把sklearn和tf,甚至keras结合起来使用。sklearn肩负基本的数据清理任务,keras用于对问题进行小规模实验验证想法,而tf用于在完整的的数据上进行严肃的调参(炼丹)任务。 而单独把sklearn拿出来看的话,它的文档做的特别好,初学者跟着看一遍sklearn支持的功能大概就对机器学习包括的很多内容有了基本的了解。举个简单的例子,sklearn很多时候对单独的知识点有概述,比如简单的异常检测。因此,sklearn不仅仅是简单的工具库,它的文档更像是一份简单的新手入门指南。 因此,以sklearn为代表的传统机器学习库(如瑞士军刀般的万能但高度抽象),和以tf为代表的自由灵活更具有针对性的深度学习库(如乐高般高度自由但使用繁琐)都是机器学习者必须要了解的工具。

不过sklearn 还是很有 必要学习的

理论上来说,深度学习技术也是机器学习的一个组成部分,学习其他传统机器学习方法对深入理解深度学习技术有很大帮助,知道模型凸的条件,才能更好的理解神 经网络的非凸。知道传统模型的优点,才能更好的理解深度学习并不是万能的,也有很多问题和场景直接使用深度学习方法会遇到瓶颈和问题,需要传统方法来解 决。 从实践上来说,深度学习方法一般需要大量GPU机器,工业界哪怕大公司的GPU资源也是有限的,一般只有深度学习方法效果远好于传统方法并且 对业务提升很大的情况下,才会考虑使用深度学习方法,例如语音识别,图像识别等任务现在深度学习方法用的比较多,而NLP领域除了机器翻译以外,其他大部 分任务仍然更常使用传统方法。传统方法一般有着更好的可解释性,这对检查调试模型也是非常有帮助的。工业上一般喜欢招能解决问题的人,而不是掌握最火技术 的人,因此在了解深度学习技术的同时,学习一下传统方法是很有好处的。

结尾

说实话,即使现在深度学习大行其道,很多时候你还是要用传统机器学习方法解决问题的。首先不是每个人都有一个彪悍的电脑/服务器,其次,大多数问题真的不需要深度网络。最后,只会调用工具包的程序员不是好的机器学习者。

优惠劵

Mingsheng Zhang

关注

关注

41

点赞

95

收藏

觉得还不错?

一键收藏

知道了

2

评论

sklearn 和tensorflow的区别

转自:https://www.cnblogs.com/lixuejian/p/10562092.html1、功能不同Scikit-learn(sklearn)的定位是通用机器学习库,而TensorFlow(tf)的定位主要是深度学习库。一个显而易见的不同:tf并未提供sklearn那种强大的特征工程,如维度压缩、特征选择等。究其根本,我认为是因为机器学习模型的两种不同的处理数据的方式:...

复制链接

扫一扫

Sklearn 与 TensorFlow 机器学习实用指南_机器学习_

09-30

Sklearn 与 TensorFlow 机器学习实用指南

Python-数据科学笔记本分类任务使用sklearn和Tensorflow实现

08-10

数据科学笔记本分类任务,使用sklearn和Tensorflow实现

2 条评论

您还未登录,请先

登录

后发表或查看评论

sklearn和tensorflow的理解

最新发布

影子

12-20

839

深度神经网络(DNN)是一种多层无监督神经网络,并且将上一层的输出特征作为下一层的输入进行特征学习,通过逐层特征映射后,将现有空间样本的特征映射到另一个特征空间,以此来学习对现有输入具有更好的特征表达。每一层之前是完全连接的,整体上看是复杂的,但从局部来看,实质上还是感知机模型。,比如选择特征、压缩维度、转换格式,是传统机器学习库,SKLearn中,因为做了上层的封装,分类模型、回归模型、聚类与降维模型、预处理器等等都叫做估计器(estimator)的训练机制,而不是采用传统神经网络的。

机器学习sklearn 和tensorflow 的资料总结

11-23

机器学习大佬总结的资料,其中包括sklearn 和tensorflow 框架的介绍,和常见算法的介绍,欢迎下载。

hands on machine learning with sklearn and tensorflow

04-10

机器学习sklearn 与tensorflow使用的入门教程

机器学习sklearn 与tensorflow使用的入门教程机器学习sklearn 与tensorflow使用的入门教程机器学习sklearn 与tensorflow使用的入门教程

sklearn、TensorFlow以及自编函数(AnFany)的ML算法程序

01-02

sklearn、TensorFlow以及自编函数(AnFany)的ML算法程序

Tensorflow2项目实战课程

03-14

Tensorflow2.0介绍: tensorflow是GOOGLE在2015年底发布的一款深度学习框架,也是目前全世界用得最多,发展最好的深度学习框架。2019年3月8日,GOOGLE发布最新tensorflow2版本。新版本的tensorflow有很多新特征,更快更容易使用更人性化。但是老版的tensorflow程序在新版本中几乎都无法继续使用,所以我们有必要学习新版tensorflow2的新用法。课程介绍: 我们的这门课程适合小白学习,也适合有基础的同学学习。课程会从0开始学习,从python环境安装,python入门,numpy,pandas,matplotlib使用,深度学习基础,一直讲到tensorflow基础,进阶,项目实战。不管你是0基础小白,想进入AI行业,还是有一定基础,想学习最新的tensorflow2的使用,都适合我们这门课程。讲师介绍: 覃秉丰,物理系毕业转AI行业,想转行同学可以找我聊聊。机器学习、深度学习神经网络领域多年研究开发授课经验,精通算法原理与编程实践;曾完成过多项图像识别、目标识别、语音识别等企业项目,一线实战经验丰富;长期为多家包括世界五百强在内的大型企业总部做人工智能技术内训服务(中国移动、中国银行,华夏银行,中国太平洋,国家电网、中海油等)。上课特点:公式尽量一个一个符号推,代码尽量一行一行讲,希望所有人都能学有所得。

【转载】scikit-learn和tensorflow的区别

mxs1123的博客

10-18

1234

https://www.jianshu.com/p/0837b7c6ce10

1、功能不同

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

传统机器学习:利用特征工程(...

sklearn和tensorflow

qq_43544736的博客

01-08

786

sklearn是python中的一个机器学习库,封装了大量机器学习算法,同时也内置了数据集;tensorflow是一个编程系统,是一种计算图模型,即用图的形式来表示运算过程的一种模型,在Python语言中,返回的tensor是NumPy中的ndarray对象。

ML/DL科普向:从Sklearn到TensorFlow

木东居士

07-08

575

本文为数据茶水间群友原创,经授权在本公众号发表。关于作者:Japson,职场新人。某人工智能公司AI平台研发工程师,专注于AI工程化及场景落地。持续学习中,期望与大家多多...

sklearn与TensorFlow区别

Kseven的笔记

12-22

1994

sklearn与TensorFlow

caffe安装_深度框架比较TensorFlow,Theano,Caffe,Sklearn,Keras(少走弯路

weixin_39642998的博客

11-02

149

TheanoTheano在深度学习框架中是祖师级的存在。Theano基于Python语言开发的,是一个擅长处理多维数组的库,这一点和numpy很像。当与其他深度学习库结合起来,它十分适合数据探索。它为执行深度学习中大规模神经网络算法的运算所设计。其实,它可以被更好的理解为一个数学表达式的编辑器:用符号式语言定义你想要的结果,该框架会对你的程序进行编译,来高效运行于GPU或CPU。它与后来出现的Te...

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

qq_41359254的博客

03-27

2133

什么是sklearn

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

sklearn与tensorflow优劣势

目前,在社区中,tensorflow会比较火,很多同学会问,为什么不用tensorflow,这两个有什么区别,我想,主

Python机器学习:Scikit-learn和TensorFlow的应用和模型设计

baidu_38876334的博客

05-14

1047

本文介绍了Python机器学习中的一些常用算法和技术,包括Scikit-learn和TensorFlow的应用、数据预处理、模型训练和评估、模型设计等。Scikit-learn和TensorFlow是Python中应用最广泛的两个机器学习库,它们提供了丰富的机器学习算法和工具,帮助开发人员轻松地构建和训练机器学习模型。数据增强是一种通过对原始数据进行一系列变换来生成新的训练数据的方法,它可以扩充数据集的规模,从而提高模型的性能。一个好的模型可以提高算法的性能,而一个不好的模型则会影响算法的表现。

#第18篇分享:python机器学习-sklearn简介(初识0)

weixin_46008828的博客

12-28

477

#python机器学习-sklearn学习笔记:

1.sklearn做什么的:

2.与其他模块的区别:

3.了解一下各个部分:

#持续更,,,,,,,

机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(一)

热门推荐

fjl_CSDN的博客

12-31

1万+

一、简介  Scikit-learn集成了很多机器学习需要使用的函数,学习Scikit-learn能简洁、快速写出机器学习程序。本文章主要是对真实数据进行实战,手把手带你走一遍使用机器学习对真实数据进行处理的全过程。并且通过代码更加深入的了解机器学习模型,学习如何处理数据,如何选择模型,如何选择和调整模型参数。

二、配置必要的环境1、推荐安装Anaconda(集成Python和很多有用的P

Sklearn 与 TensorFlow 机器学习实用指南——第七章总结

yanying1113的博客

01-12

680

Sklearn 与 TensorFlow 机器学习实用指南——第七章总结投票分类Bagging 和 Pasting在 sklearn 中的 Bagging 和 PastingOut-of-Bag 评价随机森林特征重要度提升(boosting)Adaboost梯度提升Stacking习题

本章主要讲解了几种集成方法,包括 bagging, boosting, stacking,和其他一些算法。参考地...

【翻译】Sklearn与TensorFlow机器学习实用指南 —— 第16章 强化学习(下)

weixin_33716941的博客

07-10

249

时间差分学习与 Q 学习

具有离散动作的强化学习问题通常可以被建模为马尔可夫决策过程,但是智能体最初不知道转移概率是什么(它不知道T),并且它不知道奖励会是什么(它不知道R)。它必须经历每一个状态和每一次转变并且至少知道一次奖励,并且如果要对转移概率进行合理的估计,就必须经历多次。

时间差分学习(TD 学习)算法与数值迭代算法非常类似,但考虑到智能体仅具...

TensorFlow2.0入门到进阶2.17 —— 超参数搜索sklearn封装keras模型及超参数搜索

caoyuan666的博客

05-05

969

文章目录1、理论原理2、sklearn封装keras模型3、sklearn超参数搜索4、结果显示

1、理论原理

超参数搜索:

https://blog.csdn.net/caoyuan666/article/details/105933836

2、sklearn封装keras模型

1、转化为sklearn的model

2、定义参数集合

3、搜索参数

def build_model(hidden...

sklearn和tensorflow区别

03-16

scikit-learn(简称sklearn)和TensorFlow是两个不同的机器学习库。sklearn主要用于传统机器学习算法,如线性回归、逻辑回归、决策树、支持向量机等。而TensorFlow则主要用于深度学习算法,如卷积神经网络、循环神经网络、自编码器等。sklearn的API相对简单易用,适合初学者入门;而TensorFlow则需要一定的编程基础和数学知识,适合有一定经验的开发者。此外,TensorFlow还支持GPU加速,可以大大提高深度学习算法的训练速度。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

Mingsheng Zhang

CSDN认证博客专家

CSDN认证企业博客

码龄6年

暂无认证

80

原创

3万+

周排名

76万+

总排名

75万+

访问

等级

5739

积分

195

粉丝

596

获赞

102

评论

2242

收藏

私信

关注

分类专栏

进化算法

3篇

数学

5篇

python技术

6篇

SQL

7篇

机器学习算法

6篇

计算机操作基础

6篇

数据结构

2篇

离散优化

1篇

工具

7篇

大数据

25篇

Java

6篇

GO

最新评论

LSTM/GRU 出现预测值滞后现象

PersistWp:

可以试试多特征单步,单特征多步,递归预测

激活函数以0为中心的好处

勇敢牛牛,不怕困难801:

太清晰了

LSTM/GRU 出现预测值滞后现象

lo233:

大佬你好,受你启发我将数据先取对数ln之后预测曲线变“平滑”了,但是滞后现象依旧存在,是否说明滞后是由于数据本身的波动带来的,几乎不可避免呢

激活函数以0为中心的好处

Koi523:

太清晰了!

归并排序的非递归实现——python

妥妥滴137:

那如果要是他是奇数个值是不是就不能分组了呀?

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

通俗理解yield、yield from、async

蚁群算法原理及python实现

进化算法简单介绍

2022年2篇

2021年36篇

2020年32篇

2019年100篇

2018年22篇

目录

目录

分类专栏

进化算法

3篇

数学

5篇

python技术

6篇

SQL

7篇

机器学习算法

6篇

计算机操作基础

6篇

数据结构

2篇

离散优化

1篇

工具

7篇

大数据

25篇

Java

6篇

GO

目录

评论 2

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

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

余额充值