Kaggle机器学习入门教程一

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

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

原文链接: 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,那么这会影响您对使用这些数据构建的模型的信任吗?如果这是第二个原因呢?

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


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

查看所有标签

猜你喜欢:

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

C Primer Plus(第6版)中文版

C Primer Plus(第6版)中文版

普拉达 (Stephen Prata) / 姜佑 / 人民邮电出版社 / 2016-4-1 / CNY 89.00

《C Primer Plus(第6版)中文版》详细讲解了C语言的基本概念和编程技巧。 《C Primer Plus(第6版)中文版》共17章。第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识,包括数据类型、格式化输入/输出、运算符、表达式、语句、循环、字符输入和输出、函数、数组和指针、字符和字符串函数、内存管理、文件输入输出、结构、位操作等。第16章、17章介绍C......一起来看看 《C Primer Plus(第6版)中文版》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

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

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具