前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么从复杂的机器学习模型开始并不是一个好主意

为什么从复杂的机器学习模型开始并不是一个好主意

作者头像
计算机与AI
发布2020-12-14 15:23:35
5110
发布2020-12-14 15:23:35
举报
文章被收录于专栏:计算机与AI计算机与AI

当我开始研究数据科学时,我着迷于神经网络及其在如此复杂的应用中的强大功能。例如,在计算机视觉和自然语言处理(NLP)中有应用。由于它们的强大功能,我只是想在每个问题中开始使用它们。但是我必须冷静下来!有时,简单的模型可以取得良好的成绩。

在这篇文章中,我将指导您以初学者的经验来应对我的第一个数据科学挑战,以及它如何帮助我成长为一名学生。我永远不会忘记简单的线性回归模型的强大功能!

挑战

Condenation是一个有时会组织挑战的网站,作为在不同领域加速发展的第一步,其中之一是关于数据科学。数据科学领域的最后一项挑战是如何预测ENEM(进入公立大学的巴西考试)学生的数学成绩。我开始很兴奋!但是我之所以失明只是因为我没有尝试任何其他模型,除非随机森林神经网络可以预测数学得分。我进行了预处理以替换一些NaN值,并选择了一些具有高相关性的特征。之后,我对RandomizedSearchCV进行了艰苦的工作,以选择最佳参数。尽管我做了很多辛苦的工作,但仍无法达到90%并加入Codenation。所以我感到沮丧,我放弃了我。

因祸得福..

最近,我在Kaggle遇到了相同的数据库。自从接受挑战以来已经有一段时间了,所以我再次尝试了。正如您在下面阅读的,我将展示一种应对挑战的新方法,以及如何甚至不使用简单模型就将其判断为弱模型。这是一个很大的错误,也是一个很好的学习经验。

一种新方法

在这里,我不会描述我所做的一切,例如与数据预处理有关。但是,如果您想查看我的笔记本,可以在kaggle中访问它。

首先,我检查了数据库,看是否已使用了一些NaN值。这些值被替换为0,因为当学生退学时,我不得不处理它。之后,我意识到这些功能之间存在一定的关联。我的想法是获得最高的功能并使用它们来预测数学分数。下面的热图使用皮尔森系数显示了这些相关性。

如我们所见,它们具有高度相关性。因此,我决定将它们用作简单的线性回归模型中的预测器功能,如下所示。

代码语言:javascript
复制
X = df_train_filled.drop(columns=['NU_NOTA_COMP5', 'NU_NOTA_MT'])
y = df_train_filled['NU_NOTA_MT']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)

lr = LinearRegression(normalize=True)
lr.fit(X_train, y_train)

lr.score(X_test, y_test)

使用简单的训练和测试拆分,我们可以达到90%的准确性。该准确性优于随机森林和神经网络模型。但是,也许您会感到奇怪:“您只是使用了数据库的一部分吗?为了全面理解,需要使用交叉验证!”。好吧好吧..你是对的!正如您在下面看到的,我也是这样做的。

代码语言:javascript
复制
# making scores
mae = make_scorer(mean_absolute_error)
r2 = make_scorer(r2_score) 

cvs = cross_validate(estimator=LinearRegression(normalize=True), X=X, y=y, cv=10, verbose=10, scoring={'mae': mae, 'r2':r2})

我用平均绝对误差 R ^ 2R2 分来评估模型。平均分数分别为50.027和0.902。也许该模型可以用测试数据库分数的90%预测数学分数。因此,我可以很乐意尝试提交!不,不..

不幸的是,不可能在Kaggle或原始网站上进行提交。规范联盟很久以前关闭了,所以我必须等待未来的新机会。

但是,我们可以从中学到什么呢?

重要的是要注意,即使使用随机森林和神经网络模型,我也可以进行更好的预处理或选择其他功能并获得良好的成绩。是的,它是正确的!但是这种经历对我很重要,因为我可以学习并成为一名更好的数据科学家。

即使您认为该模型对完成艰巨的任务是如此简单,您也应该给它一个机会。也许无法获得高分或结果。但是,它可以成为验证其他模型是否在帮助您改善得分手的起点。

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

本文分享自 计算机与AI 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一种新方法
  • 但是,我们可以从中学到什么呢?
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档