3.Your First Machine Learning Model

Selecting Data for Modeling

你的数据集有太多的变量包裹住你的头。你怎么能把这些压倒性的数据削减到你能理解的东西?
我们首先使用我们的直觉选择一些变量。 后面的课程将向您展示自动确定变量优先级的统计技巧。
要选择变量/列,我们需要查看数据集中所有列。 这是通过DataFrame的columns属性(下面的代码)完成的。

[1]

import pandas as pdmelbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'
melbourne_data = pd.read_csv(melbourne_file_path) 
melbourne_data.columns
Index(['Suburb', 'Address', 'Rooms', 'Type', 'Price', 'Method', 'SellerG','Date', 'Distance', 'Postcode', 'Bedroom2', 'Bathroom', 'Car','Landsize', 'BuildingArea', 'YearBuilt', 'CouncilArea', 'Lattitude','Longtitude', 'Regionname', 'Propertycount'],dtype='object')

[2]

# The Melbourne data has some missing values (some houses for which some variables weren't recorded.)
# We'll learn to handle missing values in a later tutorial.  
# Your Iowa data doesn't have missing values in the columns you use. 
# So we will take the simplest option for now, and drop houses from our data. 
# Don't worry about this much for now, though the code is:# dropna drops missing values (think of na as "not available")
melbourne_data = melbourne_data.dropna(axis=0)

有很多方法可以选择数据的子集。 pandas课程更深入地介绍了这些内容,但我们现在将重点关注两种方法。

  1.      点符号,我们用它来选择“预测目标”
  2.      选择列表,我们用它来选择

Selecting The Prediction Target

您可以使用点符号来提取变量。 这一列存储在一个Series中,它大致类似于只有一列数据的DataFrame。
我们将使用点符号来选择我们想要预测的列,这称为预测目标。 按照惯例,预测目标称为y。 因此,我们需要在墨尔本数据中保存房价的代码是

[3]

y = melbourne_data.Price

Choosing "Features"

我们模型中的列(后来用于预测)被称为“特征”。 在我们的例子中,那些将是用于确定房价的列。 有时,您将使用除目标之外的所有列作为要素。 其他时候你用更少的功能会更好。
目前,我们将构建一个只有少数特征的模型。 稍后您将看到如何迭代和比较使用不同特征构建的模型。
我们通过在括号内提供列表名来选择多个特征。 该列表中的每个项目都应该是一个字符串(带引号)。
这是一个例子:

【4】

melbourne_features = ['Rooms', 'Bathroom', 'Landsize', 'Lattitude', 'Longtitude']

按照惯例,这个数据称为X.

【5】

X = melbourne_data[melbourne_features]

让我们使用describe方法和head方法快速查看我们将用于预测房价的数据,该方法显示前几行。

【6】

X.describe()
 RoomsBathroomLandsizeLattitudeLongtitude
count6196.0000006196.0000006196.0000006196.0000006196.000000
mean2.9314071.576340471.006940-37.807904144.990201
std0.9710790.711362897.4498810.0758500.099165
min1.0000001.0000000.000000-38.164920144.542370
25%2.0000001.000000152.000000-37.855438144.926198
50%3.0000001.000000373.000000-37.802250144.995800
75%4.0000002.000000628.000000-37.758200145.052700
max8.0000008.00000037000.000000-37.457090145.526350

[7]

X.head()
 RoomsBathroomLandsizeLattitudeLongtitude
121.0156.0-37.8079144.9934
232.0134.0-37.8093144.9944
441.0120.0-37.8072144.9941
632.0245.0-37.8024144.9993
721.0256.0-37.8060144.9954

使用这些命令直观地检查数据是数据科学家工作的重要组成部分。 您经常会在数据集中发现值得进一步检查的惊喜。

Building Your Model

您将使用scikit-learn库来创建模型。 编码时,此库编写为sklearn,您将在示例代码中看到。 Scikit-learn是最常用的库,用于对通常存储在DataFrame中的数据类型进行建模。

构建和使用模型的步骤如下:
     定义:它将是什么类型的模型? 决策树? 其他一些模型? 还指定了模型类型的一些其他参数。
     拟合:从提供的数据中捕获模式,这是建模的核心。
     预测:听起来是什么样的
     评估:确定模型预测的准确程度。

下面是使用scikit-learn定义决策树模型并将其与特征和目标变量拟合的示例。

【8】

from sklearn.tree import DecisionTreeRegressor# Define model. Specify a number for random_state to ensure same results each run
melbourne_model = DecisionTreeRegressor(random_state=1)# Fit model
melbourne_model.fit(X, y)
DecisionTreeRegressor(criterion='mse', max_depth=None, max_features=None,max_leaf_nodes=None, min_impurity_decrease=0.0,min_impurity_split=None, min_samples_leaf=1,min_samples_split=2, min_weight_fraction_leaf=0.0,presort=False, random_state=1, splitter='best')

许多机器学习模型允许模型训练中的一些随机性。 为random_state指定一个数字可确保您在每次运行中获得相同的结果。 这被认为是一种很好的做法。 您使用任何数字,模型质量不会取决于您选择的确切值。

我们现在有一个可以用来进行预测的拟合模型。

在实践中,你会想要对市场上的新房子进行预测,而不是对我们已经有价格的房屋进行预测。 但是我们将对训练数据的前几行进行预测,以了解预测函数的工作原理。

【9】

print("Making predictions for the following 5 houses:")
print(X.head())
print("The predictions are")
print(melbourne_model.predict(X.head()))
Making predictions for the following 5 houses:Rooms  Bathroom  Landsize  Lattitude  Longtitude
1      2       1.0     156.0   -37.8079    144.9934
2      3       2.0     134.0   -37.8093    144.9944
4      4       1.0     120.0   -37.8072    144.9941
6      3       2.0     245.0   -37.8024    144.9993
7      2       1.0     256.0   -37.8060    144.9954
The predictions are
[1035000. 1465000. 1600000. 1876000. 1636000.]

Your Turn

尝试进行模型建立练习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【POJ - 3020】Antenna Placement (匈牙利算法,二分图最小边覆盖)

题干: The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile phone nets in Sweden. The most striking reason why they got the job, is their discovery of a new, highly noise resistant, antenna. It …

计算机教室安全预案 博客,校园安全应急预案

校园安全应急预案为了确保师生的人身安全,严格执行上级安全工作的管理要求,保证一旦发生安全事故能够及时处理,特制定我校安全应急预案。一、领导小组组 长:副组长:成 员:全体教师二、主要职责1、组长任校…

4.Model Validation

你已经建立了一个模型。 但它有多好? 在本课程中,您将学习如何使用模型验证来衡量模型的质量。 测量模型质量是迭代改进模型的关键。 What is Model Validation 你几乎要评估你构建的每个模型。在大多数(尽管不是全部)应用中&am…

【POJ - 2195】Going Home(二分图最优匹配,费用流 或 KM)

题干: On a grid map there are n little men and n houses. In each unit time, every little man can move one unit step, either horizontally, or vertically, to an adjacent point. For each little man, you need to pay a $1 travel fee for every step h…

微机原理实验8254计算机钢琴,GitHub - SincereXIA/PianoMFC: 西电微机原理课设项目,键盘电子乐器演奏程序设计(电子琴),MFC...

PianoMFC西电微机原理课设项目,键盘电子乐器演奏程序设计(电子琴),MFC需要连接西电微机原理实验室提供的 QTH9054 微机试验箱,使用其蜂鸣器发声,若不连接,程序会直接播放 mp3 文件模拟钢琴声。请在 release 处下载编译…

5.Underfitting and Overfitting

在这一步结束时,您将了解欠拟合和过拟合的概念,并且您将能够应用这些办法来使您的模型更准确。 Experimenting With Different Models 现在您已经有了一种可靠的方法来测量模型精度,您可以尝试使用其他模型,并查看哪种模型可以提…

福建省计算机初级职称,2019福建助理工程师职称评定条件材料及审核管理制度...

一学历、资历条件要求(破格申报不在此列,详情请咨询了解)申报工程技术系列中级工程师须符合下列条件之一:1.博士研究生毕业;2.硕士研究生毕业后,从事所申报专业工作满3年;3.本科毕业后,从事所申报专业工作满…

【POJ - 2594】Treasure Exploration(floyd传递闭包 + 最小路径覆盖,图论)

题干: Have you ever read any book about treasure exploration? Have you ever see any film about treasure exploration? Have you ever explored treasure? If you never have such experiences, you would never know what fun treasure exploring brings…

6.Random Forests

Introduction 决策树会让您做出艰难的决定。 有很多树叶的深树将会过拟合,因为每个预测都来自其叶子上只有少数房屋的历史数据。 但是叶子很少的浅树会表现不佳,因为它无法捕获原始数据中的许多区别。 即使在今天,最成熟的建模技术也面临着过…

7.Handling Missing Values

本教程是学习机器学习课程的第2部分。 本教程选择了1级完成的位置,因此如果您从1级完成练习,您将获得最大的收益。 在此步骤中,您将学习三种处理缺失值的方法。 然后,您将学习如何比较这些方法在任何给定数据集上的有效性。 Intr…

打开电脑计算机超级慢,手把手教你电脑开机慢怎么办

等到花都谢了,你怎么还不开机?这电脑开机真是离奇的慢,有心将它换了,奈何兜里空空。凑合着用又无法忍受这种煎熬。其实你只需要用鼠标点几下就可以不用等待这漫长的开机过程了。高铁,飞机,网络,…

【POJ - 1486】Sorting Slides(思维建图,二分图求必须边,关建边,图论)

题干: Professor Clumsey is going to give an important talk this afternoon. Unfortunately, he is not a very tidy person and has put all his transparencies on one big heap. Before giving the talk, he has to sort the slides. Being a kind of minima…

用OpenSSL编写SSL,TLS程序

http://zhoulifa.bokee.com/6134045.html http://blog.sina.com.cn/s/blog_86ca13bb0100vaph.html http://blog.chinaunix.net/uid-26575352-id-3048856.html 一、简介: SSL(SecureSocket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport…

信息技术计算机伦理与安全教案,龙教版信息技术七年级下册第7课 安全与道德 教案...

ID:9954219分类:全国,2019资源大小:228KB资料简介:题 目第七课 安全与道德总课时1设计来源自我设计教学时间教材分析这节课计算机与网络安全部分定义介绍和叙述较多,所以为了避免枯燥可以设计课件和并准备病毒计算机安全报道的视频、多媒体讲解、图片等…

【HDU - 5706】GirlCat(bfs)

题干: As a cute girl, Kotori likes playing Hide and Seek with cats particularly. Under the influence of Kotori, many girls and cats are playing Hide and Seek together. Koroti shots a photo. The size of this photo is nmnm, each pixel of the ph…

8.Using Categorical Data with One Hot Encoding

本教程是机器学习系列的一部分。 在此步骤中,您将了解“分类”变量是什么,以及处理此类数据的最常用方法。 Introduction 分类数据是仅采用有限数量值的数据。 例如,如果人们回答一项关于他们拥有哪种品牌汽车的调查,结果将是明…

iPhone换屏幕测试软件,怎样检验iPhone是否更换过屏幕?

原标题:怎样检验iPhone是否更换过屏幕?关注下图公众号,鉴定苹果手机真假↓↓↓购买新手机时,到手后会想手机各零部件是否是正品原装,就好比屏幕是否原装屏!入手一部iPhone新机的时候,该如何检验…

*【HDU - 5707】Combine String(dp)

题干: Given three strings aa, bb and cc, your mission is to check whether cc is the combine string of aa and bb. A string cc is said to be the combine string of aa and bb if and only if cc can be broken into two subsequences, when you read the…

《TCP/IP详解》学习笔记(一):基本概念

为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱 了各地人的口音,让他们无法合作一样。计算机使用者意识到,…

【POJ - 3272】Cow Traffic(dp,建反向图,DAG拓扑图)

题干: The bovine population boom down on the farm has caused serious congestion on the cow trails leading to the barn. Farmer John has decided to conduct a study to find the bottlenecks in order to relieve the traffic jams at milking time. The…