前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习工具吐槽大会:回归模型连p值都不输出,文档描述惨不忍睹 | 你也来吐一波

机器学习工具吐槽大会:回归模型连p值都不输出,文档描述惨不忍睹 | 你也来吐一波

作者头像
量子位
发布2019-12-31 11:35:26
4590
发布2019-12-31 11:35:26
举报
文章被收录于专栏:量子位量子位

同学,你用过的那些机器学习工具/库,有没有什么让你绝望的地方?

不是我要问,是一个叫做@Train_Smart的网友,在Reddit论坛开帖发问了:

提问的同时,少年还举出自己的经历,抛了个砖:

Pandas里的稀疏矩阵 (sparse matrices) ,到scikit-learn里就不支持了。我弄了好几个小时才发现,sklearn会把稀疏矩阵inflate起来 (30Mb>>20Gb) ,还完全没有提示。

很快,直击灵魂的问题引发了强烈的共鸣,楼下的小伙伴们纷纷说起自己的伤痛。16小时便有130条回复,Reddit热度达到200点。

吐槽大会

槽点有不少,最先受到强烈轰炸的就是:

统计学功能太匮乏

名叫@timmaeus的网友说:

我是从统计学转到机器学习来的,常常很吃惊,因为Python库输出的并不是我期待/我需要的那些指标:比如回归模型,就不会输出系数p值置信区间这些东西。

楼下有人 (@AuspiciousApple) 提供了一个解释:

这可能和思维方式有关系,就好像statsmodels也不会有切分数据集 (train_test_split) 这种功能一样。确实很烦,我主要用sklearn,还得把statsmodels召唤出来,就为了那些最基本的统计学信息。

众人群起而附议,场面十分壮观:

开心,在sklearn和statsmodels之间跳来跳去的,不是我一个人。(@luhem007) 我从R过来的,也感觉在Python里面搞个回归表格怎么这么难。(@Bardy_Bard) 我也是先学的R,后来常常想问为什么会设计出numpy/pandas这样的产品。(@po-handz) 我也是从R来的,发现自己要先创建一波定制的库,才能高效地用好那些已经有的库。(@leogodin217)

文档太不走心

网友@colonel_farts说:

TensorFlow文档整体都很让人崩溃。

楼下有人 (@jalagl) 帮他扩大了打击面:

所有文档都算上吧。我用的是PyTorch,也有很多不够好的地方 (没用过TensorFlow,不知道哪个更差) 。

很快就有补刀侠 (@geodesic42) 赶到现场:

PyTorch文档比TensorFlow还烂。

既然都说文档烂,具体烂在哪?

大体可以总结出三条,第一是描述不清楚

有些东西是真的很怪,而且一点也不直观。比如有的函数,名字本身已经很奇怪,描述还是“it does the thing”一句话的这种。(@swegmesterflex)

随之,大家开始不断地补充各种飘逸的描述:

“Applies the function to the input”(@trashacount12345) “把函数应用在输入上。” “Can be called.”(@trashacount12345) “可以被调用。”

另一个缺点是不给示例

我小时候用TurboPascal 7编程,标准库里面每个函数都有示例,不是只有描述。 为啥PyTorch就不能给每个函数写个示例?(@visarga)

还有第三个缺点,加载慢

你们不觉得PyTorch文档加载巨慢么?手机上都看不了,因为加载时间太久了。(@fckoch)

所以,软件公司什么时候才能感受到,不给清晰文档、不给示例的东西没法用,继而开发出既有好文档又有示例搭配的产品呢?

有人并不抱太大希望 (@inigoskimmer) :

不会太快吧。今年还有个资深程序员跟我说,他没注释代码,因为代码很可能会改,加注释的话可能会误导别人。

写注释、写文档,原本就是开发者头疼的活动吧。

也有网友 (@real_kdbanman) 从另一个角度观察了这个问题:

请记得,所有主流库都是免费的,开源的!每个人都有责任把它们变好的。文档Pull Request真的很有帮助。

虽然,最初参与开发的人,对初始文档的质量负有责任。但如果后来的用户只在那里干等,也是不能期待文档自己变好。

机器学习这个领域,一直是背靠着高度开放的社区,才得到迅猛的发展。想让机器学习工具变得更好用,也要社区成员们一起努力才能实现吧。

不过,这也不是问题的全部:

同一个概念,不同的术语

上文只提到了“缺乏有效描述”的问题,却没有解释,用户为什么会需要详尽的描述,ML领域的沟通成本为什么这样高。

网友@luhem007是这样说的:

在统计和机器学习的社区里:同一个数学/统计概念能有无数个不同定义。这样交流起来就很困难,文档读起来也很困难。 好像不同的学科都发现了同一个规律,然后迅速给它起个名字占为己有,就跟插个旗子抢地盘一样。

楼下深有同感 (@seman_ticks) :

我想起之前上过的两门课,一门是数学系的,另一门是计算机系的,本质上讲的东西都一样,就是命名体系不一样。 可以开个像“thesaurus”那样的同义词库了吧。

你怎么看?

在机器学习库/工具身上,网友们找到的缺陷数不胜数,本文难以一一覆盖。

阁下也有不吐不快的槽点么?或者有解决问题的方案建议么?

可以留言在评论区,也可以去Reddit参与一下吐槽盛会,有益身心健康。

Reddit讨论区: https://www.reddit.com/r/MachineLearning/comments/eftv1o/d_what_frustrates_you_about_ml_tools_libraries/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 吐槽大会
    • 统计学功能太匮乏
      • 文档太不走心
        • 同一个概念,不同的术语
        • 你怎么看?
        相关产品与服务
        TI-ONE 训练平台
        TI-ONE 训练平台(以下简称TI-ONE)是为 AI 工程师打造的一站式机器学习平台,为用户提供从数据接入、模型训练、模型管理到模型服务的全流程开发支持。TI-ONE 支持多种训练方式和算法框架,满足不同 AI 应用场景的需求。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档