基于Boston housing的linear model

Boston housing 数据的线性模型分析
这篇博客通过对Boston housing数据集的分析,探讨了不同因素如何影响特定城市房屋价格。作者将506条数据划分为训练集和测试集,使用线性模型进行训练,以预测房价并评估模型性能。通过Matlab绘制参数与房价的关系图,显示房间数与房价存在线性关系。

问题分析

Boston housing已有数据列表为506*14的数据表格,具体数据对照表如图所示
在这里插入图片描述
本次学习目的,就是基于已有数据分析对于特定文化下特定城市的房屋价格影响,并通过linear model的方法,完成模型训练,预测房屋价格,并表示出这个模型的好坏。
为了更好的进行训练与检测,这里把506条数据分为两组,一组404条为training组,一组102条为test组。

初步分析所有数据,调用matlab对各个参数与房屋价格进行画图分析

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn
from sklearn.datasets import load_boston 

boston = load_boston()
bos = pd.DataFrame(boston.data)
bos.columns = boston.feature_names

import matplotlib.font_manager as fm

myfont = fm.FontProperties(fname='C:/Windows/Fonts/msyh.ttc')

plt.scatter(bos.RM, bos.PRICE)

plt.xlabel(u'住宅平均房间数', fontproperties=myfont)

plt.ylabel(u'房屋价格', fontproperties=myfont)

plt.title(u'RM与PRICE的关系', fontproperties=myfont)

plt.show
好的,下面是使用 LIBSVM 对 Wine 数据集和 Boston Housing 数据集分别训练线性核和高斯核 SVM 模型的 Python 代码示例: ```python import numpy as np from sklearn.datasets import load_svmlight_file from svmutil import * # 加载 Wine 数据集 X_wine, y_wine = load_svmlight_file('path/to/wine_dataset') X_wine = X_wine.toarray() y_wine = y_wine.astype(int) # 划分 Wine 数据集为训练集和测试集 X_wine_train, X_wine_test, y_wine_train, y_wine_test = train_test_split(X_wine, y_wine, test_size=0.2, random_state=42) # 将 Wine 训练集和测试集保存为 LIBSVM 格式 wine_train_data = svm_problem(y_wine_train, X_wine_train) wine_test_data = svm_problem(y_wine_test, X_wine_test) # 训练 Wine 数据集的线性核 SVM 模型 wine_linear_model = svm_train(wine_train_data, '-t 0 -c 1') # 训练 Wine 数据集的高斯核 SVM 模型 wine_gaussian_model = svm_train(wine_train_data, '-t 2 -c 1 -g 0.1') # 加载 Boston Housing 数据集 X_housing, y_housing = load_svmlight_file('path/to/boston_housing_dataset') X_housing = X_housing.toarray() # 划分 Boston Housing 数据集为训练集和测试集 X_housing_train, X_housing_test, y_housing_train, y_housing_test = train_test_split(X_housing, y_housing, test_size=0.2, random_state=42) # 将 Boston Housing 训练集和测试集保存为 LIBSVM 格式 housing_train_data = svm_problem(y_housing_train, X_housing_train) housing_test_data = svm_problem(y_housing_test, X_housing_test) # 训练 Boston Housing 数据集的线性核 SVM 模型 housing_linear_model = svm_train(housing_train_data, '-t 0 -c 1') # 训练 Boston Housing 数据集的高斯核 SVM 模型 housing_gaussian_model = svm_train(housing_train_data, '-t 2 -c 1 -g 0.1') ``` 在这个示例中,我们先使用 `load_svmlight_file` 函数加载 Wine 数据集和 Boston Housing 数据集,并将稀疏矩阵转换为密集矩阵,并将标签转换为整数类型。然后,我们使用 `train_test_split` 函数将数据集划分为训练集和测试集,并将训练集和测试集保存为 LIBSVM 格式的数据。接着,我们使用 `svm_train` 函数分别训练 Wine 数据集和 Boston Housing 数据集的线性核和高斯核 SVM 模型,并指定了相应的参数。最后,我们得到了 Wine 数据集和 Boston Housing 数据集四个不同的 SVM 模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值