Kaggle机器学习入门教程一

栏目: 数据库 · 发布时间: 7年前

内容简介:原文链接:这门课程将从机器学习模型本课程将让您为以下场景构建模型:

原文链接: https://www.kaggle.com/…

这门课程将从机器学习模型 如何工作 以及 如何使用 它们开始,如果您以前做过统计建模或机器学习,这可能会觉得很基础。别担心,我们很快就会建立强大的模型。

本课程将让您为以下场景构建模型:

房价预测 )你表弟在房地产投机上赚了数百万美元。由于你对数据科学的兴趣,他愿意和你成为商业伙伴。他提供钱,你提供模型来预测不同房子的价值。

你问你表弟他过去是如何预测房地产价值的。他说这只是直觉。但更多的问题表明,他已经从过去看到的房子中识别出了价格模式,并利用这些模式对他正在考虑的新房子做出了预测。

机器学习也是如此。我们将从一个叫做 决策树 的模型开始。用更漂亮的模型可以给出更准确的预测。但是决策树很容易理解,它们是数据科学中一些最佳模型的基本构建块。

为了简单起见,我们将从最简单的决策树开始。

Kaggle机器学习入门教程一

只把房子分为两类 。任何被考虑的房屋的预测价格是同一类别房屋的历史平均价格。

我们用数据来决定如何把房子分成两组,然后再确定每组的预测价格。从数据中获取模式的这一步称为模型 拟合训练 。用于 拟合模型 的数据称为 训练数据

模型如何拟合(例如如何分割数据)的细节非常复杂,我们将在以后进行详细讲解。模型拟合后,您可以将其应用于新的数据,以 预测 其他房屋的价格。

改进决策树

以下两种决策树中,哪一种更有可能通过拟合房地产训练数据而得到结果?

Kaggle机器学习入门教程一

左边的决策树(Decision Tree 1)可能更有意义,因为它捕捉到了这样一个事实: 卧室较多的房子往往比卧室较少的房子售价更高。这种模式最大的缺点是它没有捕捉到影响房价的其他的大部分因素,如浴室数量、面积、位置等。

您可以使用具有更多“分支”的树捕获更多的因子。这些树被称为“深”树。一个决策树,也考虑每个房子的面积大小,可能是这样的:

Kaggle机器学习入门教程一

可以通过追踪决策树来预测房子的价格,每次决策都选择与房子特征相对应的路径。这所房子的预测价格在树的底部。在底部的点叫做 叶子节点

叶节点的分割和值将由数据决定,所以现在是您检查将要处理的数据的时候了。

探索数据

使用pandas探索数据

任何机器学习项目的第一步都是熟悉数据。pandas库是科学家用来探索和操做数据的主要工具。大多数人在他们的代码中将pandas缩写为pd。我们用下面的命令导入pandas库:

import pandas as pd

pandas库最重要的部分是DataFrame。DataFrame保存您可能认为是表的数据类型。这类似于Excel中的工作表,或 SQL 数据库中的表。

pandas提供了强大的方法,可以处理您想要处理的大多数此类数据。

举个例子,我们来看看澳大利亚墨尔本的房价数据。在实践练习中,您将把相同的过程应用到一个新的数据集,该数据集包含衣阿华州的房价。

示例(墨尔本)数据位于文件路径 ../input/melbourne-housing-snapshot/melb_data.csv

我们使用以下命令加载和浏览数据:

# save filepath to variable for easier access
melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'
# read the data and store data in DataFrame titled melbourne_data
melbourne_data = pd.read_csv(melbourne_file_path) 
# print a summary of the data in Melbourne data
melbourne_data.describe()
Rooms Price Distance Postcode Bedroom2 Bathroom Car Landsize BuildingArea YearBuilt Lattitude Longtitude Propertycount
count 13580.000000 1.358000e+04 13580.000000 13580.000000 13580.000000 13580.000000 13518.000000 13580.000000 7130.000000 8205.000000 13580.000000 13580.000000 13580.000000
mean 2.937997 1.075684e+06 10.137776 3105.301915 2.914728 1.534242 1.610075 558.416127 151.967650 1964.684217 -37.809203 144.995216 7454.417378
std 0.955748 6.393107e+05 5.868725 90.676964 0.965921 0.691712 0.962634 3990.669241 541.014538 37.273762 0.079260 0.103916 4378.581772
min 1.000000 8.500000e+04 0.000000 3000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1196.000000 -38.182550 144.431810 249.000000
25% 2.000000 6.500000e+05 6.100000 3044.000000 2.000000 1.000000 1.000000 177.000000 93.000000 1940.000000 -37.856822 144.929600 4380.000000
50% 3.000000 9.030000e+05 9.200000 3084.000000 3.000000 1.000000 2.000000 440.000000 126.000000 1970.000000 -37.802355 145.000100 6555.000000
75% 3.000000 1.330000e+06 13.000000 3148.000000 3.000000 2.000000 2.000000 651.000000 174.000000 1999.000000 -37.756400 145.058305 10331.000000
max 10.000000 9.000000e+06 48.100000 3977.000000 20.000000 8.000000 10.000000 433014.000000 44515.000000 2018.000000 -37.408530 145.526350 21650.000000

解释Data Description

结果为原始数据集中的每一列显示8个数字。第一个数字是count,它显示有多少行没有缺失值。

缺失值的原因有很多。例如,在测量1居室的房子时,不会收集第2居室的大小。

第二个值是均值 mean ,也就是平均值。在这种情况下, std 是标准偏差,它度量数值的分布情况。

要解释最小值 min25%50%75% 和最大值 max ,请想像对每个列从最低值到最高值进行排序。第一个(最小的)值是最小值。如果您遍历列表的四分之一,您会发现一个值大于25%,小于75%。这就是25%的值。第50百分位和第75百分位的定义类似,最大值是最大的数字。

练习:探索数据

kaggle链接: https://www.kaggle.com/…

这个练习将测试您读取数据文件和理解有关数据的统计信息的能力。

你的数据中最新的房子并不新鲜。对此有几个可能的解释:

  1. 他们还没有在收集这些数据的地方建造新房子。
  2. 这些数据是很久以前收集的。数据发布后建造的房屋不会出现。

如果原因是上面的解释#1,那么这会影响您对使用这些数据构建的模型的信任吗?如果这是第二个原因呢?

你如何深入研究这些数据,看看哪种解释更合理?


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Discrete Mathematics and Its Applications

Discrete Mathematics and Its Applications

Kenneth H Rosen / McGraw-Hill Science/Engineering/Math / 2003-04-22 / USD 132.81

Discrete Mathematics and its Applications is a focused introduction to the primary themes in a discrete mathematics course, as introduced through extensive applications, expansive discussion, and deta......一起来看看 《Discrete Mathematics and Its Applications》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具