《opencv》3.3线性回归模型预测boston房价

线下回归模型是机器学习中入门级的算法模型。如果数据有n个特征,那么线性回归模型最终会训练出n个系数值,最终得到一个表达式y = a1f1 + a2f2 + …+ an*fn。而y则是模型预测的结果。周志华的《机器学习》中对与该模型有句话说的很好:训练出的n个系数直观的表达了各属性(特征)在预测中的重要性,因此线性模型有很好的可解释性。
模型的系数是通过对成本函数最小化求解的方法得到的。成本函数一般采用均方误差表示,即欧氏距离。再采用最小二乘法来求解。具体的推导过程当前是不学习的。
对于《opencv》中的预测boston房价,分成如下几个步骤:

1) 下载数据,sklearn直接提供的数据

boston = datasets.load_boston()

2) 对数据拆分成两部分,即训练数据和测试数据,比例为9:1

x_train, x_test, y_train, y_test = modsel.train_test_split(
        boston.data, boston.target, test_size = 0.1, random_state = 42)

3)获取模型并通过训练数据进行训练,模型因为opencv没有提供,所以使用sklearn提供的线性回归模型

linear_reg = linear_model.LinearRegression()
res = linear_reg.fit(x_train, y_train)

4)预测房价

y_pred = linear_reg.predict(x_test)

5)预测的房价和真实的房价对比
在这里插入图片描述
图中是50个左右测试数据的预测房价和实际房价的对比图,可以看到结果还是比较准确的。需要注意的一个有意思的情况是模型在那些真实房价非常高或者非常低的情况下误差比较大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值