波士顿房价预测python决策树_机器学习·波士顿房价预测模型

模型评估与验证

当我们的机器学习模型建立好之后,如何训练数据以获得最优的模型参数,又用什么指标来评价模型的优劣呢?本文以波士顿房价为例,说明如何训练数据以及对模型做评估,辨别模型的优劣。

第一步:导入数据

将数据的Features和Values分开,以便后续步骤可以分开使用(训练时只使用Features,验证时二者都要使用)。数据集来自[UCI机器学习知识库]。

import pandas as pd

import numpy as np

import visuals as vs

data = pd.read_csv('housing.csv')

features = data.drop('MEDV',axis=1)

prices = data['MEDV']

print data.head()

下面是运行结果

RM LSTAT PTRATIO MEDV

0 6.575 4.98 15.3 504000.0

1 6.421 9.14 17.8 453600.0

2 7.185 4.03 17.8 728700.0

3 6.998 2.94 18.7 701400.0

4 7.147 5.33 18.7 760200.0

数据解释如下:

RM表示该地区中每个房屋的平均房间数量;

LTSAT表示有多少百分比的业主属于低收入阶层;

PARATIO表示该地区的中学和小学里,学生和老师的数目比(学生/老师);

MEDV表示当地的房价。

其中RM,LTSAT,PARATIO三个是Features,MEDV是我们需要预测的Values。

第二步:分析数据

特征观察,观察数据,分析每个变量与预测值之间的关系(正相关,负相关);

将数据分割为训练集(train set)和验证集(validation set),使用以下方法:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(features, prices, test_size=0.2,random_state=1)

print X_train.head()

下面是运行结果

RM LSTAT PTRATIO

307 6.382 10.36 18.4

58 6.145 6.86 19.7

424 6.406 19.52 20.2

78 6.232 12.34 18.7

439 5.976 19.01 20.2

下面来解释train_test_split()中的用到的参

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值