初识机器学习(一):Kaggle下的测试学习

机器学习 专栏收录该内容
2 篇文章 0 订阅

新手上路,自然是横冲直撞。虽然英语不咋样,还是选择在Kaggle上面跟随学习。在对Python有一些基础的了解后,便开始直接从比赛中磨练自己。点开Kaggle里learn提供的一些教程,跟随教程迈出第一步。

  • 首先要具备的一些知识:
    除了Python的一些基础知识(至少也得能看懂代码),还需要Python里一些不错的包,在数据处理时用的最多的就是 numpypandas。(目前了解尚浅,只好先艾特大佬的博客了)

墨尔本房价预测

教程中提供了一个关于墨尔本房价预测的事例来辅助学习。
假设你家里要买房,目前某地正在建一些房子,手头也就那么多钞票,总要对房价有一个大概的估计。
而你手头只有一些这座城市里往年的一些房子信息(比如路段、房间数、房子大小、几个卧室、几个厕所…)这样子问题就来了,究竟该如何根据这些已知的数据进行有效的预测呢?这当然不能用简简单单的“我估摸着”这种话来敷衍,于是会了几行代码的你就找到了机器学习作为工具。
开始高大上的工作之前,我们得汇总这些信息,将它们汇集成一个表格,输出为csv文件。

  • csv文件的读取

这里我们就需要用到pandas里的read_csv方法了

import pandas as pd
data = './melb_data.csv'
home_data = pd.read_csv(data)
home_data.columns#显示所有的列

这里我的引入方法是由于放在当前工作目录下,所以直接使用相对地址,一般来说导入应用../input/

  • 数据可视化分析(仅pandas下)

这里常用的是pandas下的pd.head()pd.describe()方法
pd.head()默认显示数据的前五行,当然在括号里输入其他数字就可以显示头几行了。与之对应,有pd.tail()显示数据尾部几行,默认五行
pd.describe()则是显示数据和、平均值、标准差、最小值、25%、50%、75%、最大值的统计数据,是数据分析和缺失值处理时不错的工具

Y = home_data.Price
Use_columns = ['Rooms','Bedroom2','Bathroom','Landsize']
#采用这几列作为数据分析需要的列
X = home_data[Use_columns]#将需要的数据列名为X
X.describe()#统计选取列的信息

在这里插入图片描述

X.head()

在这里插入图片描述
刚刚入门,先不弄数据挖掘和缺失值处理的东西。
上面代码中我们已经定义了X和Y,就像函数里一样,X是输入,Y是输出,也就是我们现在需要的的预测值。

  • 模型的引入与训练(决策树)

在这里我们采用比较入门的决策树模型,这些机器学习模型都需要从一个库sklearn里引入。(这里给出官网

from sklearn.tree import DecisionTreeRegressor
model_1 = DecisionTreeRegressor(random_state = 1)
model_1.fit(X,Y)#训练模型

经过这一步的训练,我们建立的模型已经有它基本的智能了,接下来就可以进行结果的预测了。

predictions = model_1.predict(X.head())
print(predictions)

在这里插入图片描述
为了看看我们花了这么久搞定的第一个模型到底几斤几两,我们把正确的值输出对比一下

#输出正确的数据对比一下
print(Y.head())

在这里插入图片描述
然而,现实总是这样,当你希望的小火苗刚刚升腾,他就突然一盆凉水…
为什么会偏差这么大呢?显然,回想一下我们做了些什么,首先X就只选了部分数据,然后呢,铁着头就把数据往树里扔,没有做任何处理。那人家模型当然也不干了,好啊,扔一堆废品进来,那我也吐一堆废品出去好了。这就涉及到数据分析和处理的知识了,这也是机器学习问题里比较核心的问题,如何输入优秀的数据让自己的模型更加灵敏。

从实战中学习往往是最快的,接下来我将用我这半吊子(估计连半吊子都算不上)的能力去Kaggle上实战学习了,实战中才能暴露问题,找出更多细节
QAQ
欢迎大家加我微信:hxq_1254971884 来拍砖啊,本人萌新,急需大佬大腿orz

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页

打赏作者

寒雨丶微澜

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值