Kaggle公司是由联合创始人兼首席执行官AnthonyGoldbloom2010年在墨尔本创立的,主要是为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台,Notebook主要支持Python和R。
就我个人来说,我非常喜欢这个平台,它不仅提供了大量的数据集和教程供我们学习,还为每人免费配备了一定的CPU、内存和磁盘资源,并且在交互界面上也非常的赏心悦目。
反观国内的几大平台,PAI需要购买计算资源,存储资源,DC一没有在线分析的资源,提交结果还需要实名认证更是反人类的设定;DC学院提供的课程9.9到699不等,并显得杂乱无章。
介绍
本文来自于Kaggle的官方教程翻译,由于图片不便于翻译,故需要读者略懂一些英文术语。
本文将介绍一个机器学习的模型是如何工作,以及如何使用它们来为我们服务,如果您已经具备这些知识,请跳过本文。
本次课程,我们将一起构建以下场景的模型:
您的堂兄花了数百万投资房地产;他您是所有亲戚里面的数据科学方面的专家,他希望与你一起合作,由他提供资金,而您需要预测各种房屋价格,为他的投资提供建议和决策。
通过餐桌上的交流,堂兄表示以前一直是靠直觉在预测房地产的价值,但睿智的你通过观察发现真相只有一个:他有一套通过旧房地产的价值数据预测新房价的潜在模型,只不过他自己没有意识到。
这就与机器学习的工作方式相似了,我们将从一个名为“决策树”的模型开始,虽然有更高级的模型可以提供更为准确的预测,但决策树相对简单、更容易理解,它是数据科学中一些优秀模型的基础结构。
简单决策树
下图是一颗倒过来的树,嗯,你可以伸出手指,比出剪刀手,然后翻过来,它表示通过一个决定,将产生两种结果。
它将房屋分为两类,而房屋的预测目标则是同一类型房屋的历史平均价。
模型训练
我们使用历史数据来决定如何对房屋进行分类,然后再确定每一类的价格。这一步我们称为拟合或训练模型,用于拟合模型的数据称为训练数据。在代码中通常以train
表示,而用于训练的变量为X_train
,目标变量为Y_train
。
模型训练的步骤比较复杂,我们通常是调用现有的科学计算库来完成,并在训练完成后保存它。
数据预测
根据上一步得到训练好的模型,我们将需要预测的新房数据输入,通过模型预测出新房的目标价格。
改进决策树
通过对历史数据的预测,我们的决策树将如何进行选择?
当然,只要不傻,我们肯定是选择左侧的树(谁说要选右侧的,请给我来10套这样的房子),因为现实是拥有更多房间的房子更贵。
但是,只通过房间数量来标定一个房价太过儿戏,我们买房通常还要考虑交通、房龄、位置、环境等因素。
这时候,我们要增加树的深度,以进行更多条件的判断:
上面这个树,在房间的基础上增加了对面积的判断,通过训练数据的特征,逐级选择相应的路径,最后达到底部的叶子节点,即是我们需要的预测结果。
原文链接
https://www.kaggle.com/dansbecker/how-models-work
PS: 打开此链接需要一些技术手段