学习记录:机器学习入门案例——波士顿房价预测(二)-房价预测

【人工智能】保姆级波士顿房价预测 波士顿房价预测是一个经典的机器学习任务,类似于程序员世界的“Hello World”。和大家对房价的普遍认知相同,波士顿地区的房价是由诸多因素影响的。该数据集统计了13种可能影响房价的因素和该类型房屋的均价,期望构建一个基于13个因素进行房价预测的模型,如所示。对于预测问题,可以根据预测输出的类型是连续的实数值,还是离散的标签,区分为回归任务和分类任务。因为房价是一个连续值,所以房价预测显然是一个回归任务。下面我们尝试用最简单的线性回归模型解决这个问题,并用神经网络来实现这个模型。 阅读详情

2026年4月3日

间隔好久了,快一年了,竟然!继续,开始逐步完善预测房价的功能了。

1、打开运行py文件

在VScode中打开BostonHoursePrice.py,运行一下,出错了,提示要打开文件夹,冲洗打开所在文件夹D:\MyAI\BostonHoursePrice。运行还是失败,原来我点错了运行按钮(窗口左边竖着那排按钮里的一个三角形),要点py文件窗口上面那个三角图标按钮,运行成功,输出了数据集的列名等信息。

2、完善py文件,实现房价预测

参照之前成功运行的加州房价程序,完善代码如下:

import numpy as np

import pandas as pd

import random

import matplotlib.pyplot as plt

import seaborn as sns

from sklearn.preprocessing import StandardScaler

from sklearn.model_selection import train_test_split

from sklearn.linear_model import LinearRegression

from sklearn.metrics import mean_squared_error, r2_score

# 数据文件路径

data_path = 'D:/MYAI/BostonHoursePrice/archive/HousingData.csv'

# 使用 Pandas 的 read_csv 方法读取数据

df = pd.read_csv(data_path)

# 打印数据的基本信息

print("数据形状 (行, 列):", df.shape)

print("\n数据预览 (前5行):")

print(df.head())

print("\n数据列名:")

print(df.columns.tolist())

# 检查缺失值

print("\n检查缺失值:")

print(df.isnull().sum())

# 处理缺失值(使用每列的中位数填充)

print("\n处理缺失值(使用中位数填充)...")

for column in df.columns:

    if df[column].isnull().any():

        median_value = df[column].median()

        df[column].fillna(median_value, inplace=True)

        print(f"  列 '{column}' 已用中位数 {median_value:.2f} 填充")

print("\n缺失值处理完成,再次检查:")

print(df.isnull().sum())

# 查看数据统计信息

print("\n查看数据统计信息:")

print(df.describe())

# 绘制房价分布图(目标变量通常是 MEDV)

# 波士顿数据集中,目标变量是 MEDV(自有住房的中位数报价,以千美元为单位)

target_column = 'MEDV' if 'MEDV' in df.columns else df.columns[-1]

print(f"\n目标变量列: {target_column}")

print("\n绘制房价分布图")

sns.histplot(df[target_column], kde=True, bins=20)

plt.title("Price Distribution (MEDV)")  # 房价分布 标题

plt.xlabel("Price (in $1000s)")  # 房价(千美元) x坐标

plt.ylabel("Frequency")  # 频数 y坐标

plt.show()

print("\n绘制特征相关性热力图")

plt.figure(figsize=(12, 10))

sns.heatmap(df.corr(), annot=True, cmap='coolwarm', fmt='.2f', linewidths=0.5)

plt.title("Feature Correlation Heatmap")  # 特征相关性热力图

plt.show()

# 特征标准化

print("\n特征标准化")

# 分离特征和目标变量

features = df.drop(target_column, axis=1)

target = df[target_column]

# 标准化特征

scaler = StandardScaler()

features_scaled = scaler.fit_transform(features)

print(f"特征形状: {features_scaled.shape}")

print(f"目标形状: {target.shape}")

# 划分训练集和测试集

print("\n划分训练集和测试集")

X_train, X_test, y_train, y_test = train_test_split(

    features_scaled, target, test_size=0.2, random_state=42

)

print(f"训练集大小: {X_train.shape[0]} 样本")

print(f"测试集大小: {X_test.shape[0]} 样本")

# 初始化并训练线性回归模型

print("\n初始化线性回归模型")

model = LinearRegression()

print("训练模型...")

model.fit(X_train, y_train)

# 预测

print("进行预测...")

y_pred = model.predict(X_test)

print("\n输出预测结果(前10个):")

print(y_pred[:10])

# 评估性能

SSE = sum((y_test - y_pred) ** 2)

mse = mean_squared_error(y_test, y_pred)

r2 = r2_score(y_test, y_pred)

print(f"\n模型评估指标:")

print(f'SSE (误差平方和): {SSE:.2f}')

print(f'MSE (均方误差): {mse:.2f}')

print(f'RMSE (均方根误差): {np.sqrt(mse):.2f}')

print(f'R2 分数: {r2:.4f}')

# 获取模型参数

print("\n模型参数:")

feature_names = features.columns.tolist()

for i, (name, coef) in enumerate(zip(feature_names, model.coef_)):

    print(f"{name} - 系数 {i}: {coef:.4f}")

intercept = model.intercept_

print(f"截距 (intercept): {intercept:.4f}")

# 构建回归方程字符串

equation = f"回归方程式: y = {intercept:.4f}"

for name, coef in zip(feature_names, model.coef_):

    equation += f" + ({coef:.4f} * {name})"

print(f"\n{equation}")

# 可视化实际房价与预测房价的对比

print("\n绘制实际房价 vs 预测房价对比图")

# 设置Seaborn的主题

sns.set(style="whitegrid")

# 设置Matplotlib字体,解决中文显示问题

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

plt.figure(figsize=(10, 6))

# 创建散点图

scatter = plt.scatter(y_test, y_pred, c=y_pred, cmap='viridis', alpha=0.7, edgecolors='w', s=50)

# 设置标签

plt.xlabel('实际房价(千美元)')

plt.ylabel('预测房价(千美元)')

plt.title('波士顿房价:实际值 vs 预测值')

# 添加理想预测参考线

min_val = min(y_test.min(), y_pred.min())

max_val = max(y_test.max(), y_pred.max())

plt.plot([min_val, max_val], [min_val, max_val], color='red', lw=2, label='理想预测线')

# 显示图例

plt.legend()

plt.grid(True, alpha=0.3)

# 添加颜色条

plt.colorbar(scatter, label='预测房价(千美元)')

plt.show()

# 绘制残差图

print("\n绘制残差图")

plt.figure(figsize=(10, 6))

residuals = y_test - y_pred

plt.scatter(y_pred, residuals, alpha=0.7, edgecolors='w', s=50)

plt.axhline(y=0, color='red', linestyle='--', linewidth=2)

plt.xlabel('预测房价(千美元)')

plt.ylabel('残差(实际值 - 预测值)')

plt.title('残差分布图')

plt.grid(True, alpha=0.3)

plt.show()

# 输出特征重要性排序(基于系数绝对值)

print("\n特征重要性排序(基于系数绝对值):")

feature_importance = sorted(

    zip(feature_names, model.coef_),

    key=lambda x: abs(x[1]),

    reverse=True

)

for name, coef in feature_importance:

    print(f"  {name}: {coef:.4f}")

print("\n模型训练完成!")

运行成功!

使用Python和Numpy进行波士顿房价预测任务(二)【深度学习入门_学习笔记】 使用Python和Numpy进行波士顿房价预测任务–详解 阅读详情

相关推荐

项目1: 波士顿房价预测

第一步. 导入数据 在这个项目中,你将利用马萨诸塞州波士顿郊区的房屋信息数据训练和测试一个模型,并对模型的性能和预测能力进行测试。通过该数据训练后的好的模型可以被用来对房屋做特定预测---尤其是对房屋的价值。对于房地产经纪等人的日常工作来说,这样的预测模型被证明非常有价值。 此项目的数据集来自UCI机器学习知识库(数据集已下线)。波士顿房屋这些数据于1978年开始统计,共506个数据点,涵盖了

Teresa_Xin的博客 1万+

深度学习入门——波士顿房价预测

基于神经网络模型的波士顿房价预测 波士顿房价预测是一个经典的机器学习任务,类似于程序员世界的“Hello World”。以“波士顿房价预测”任务为例,我们学习如何使用Python语言和Numpy库来构建神经网络模型。 波士顿地区的房价受诸多因素影响。该数据集统计了13种可能影响房价的因素和该类型房屋的均价,期望构建一个基于13个因素进行房价预测的模型,如下所示。 对于预测问题,可以根据预测输出的类型是连续的实数值,还是离散的标签,区分为回归任务和分类任务。因为房价是一个连续值,所以房价预测是一个回归任务。

Barbara‘s Blog 2万+

波士顿房价预测任务(线性回归模型)

波士顿房价预测任务

King 3114

最新波士顿房价预测多元线性回归模型代码(最小二乘,岭回归,Lasso)及其数据集

大家可以发现,网上大部分找的代码会运行报错,这是更新后的代码。最近机器学习的实验课要求做这个,本来是让GPT写,或者找别人的代码搬运过来,结果发现这个波士顿的数据集在sklearn更新中被删除了。故就自己学着写了。也为后续也有这个学习需求的朋友们提供这个代码来学习。

likang2278526910的博客 1万+

09丨线性回归与波士顿房价预测

波士顿房价数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集。数据集中的每一行数据都是对波士顿周边或城镇房价的情况描述,本实验以波士顿房价数据集为线性回归案例数据,进行模型训练,预测波士顿房价。房子作为居住的场所,对每个人而言是不可或缺的。而房价的高低也是受多种因素的影响。房子所处的城市是一线还是二线,房子周边的交通便利程度,房子附近是否存在医院或者学校等,众多因素都会影响房价。在拿到数据之后,先要查看数据的类型,是否有空值,数据的描述信息等等。

AIGC 1万+

机器学习入门(线性回归)---波士顿房价预测

(Machine Learning, ML)是一种通过算法让计算机从数据中学习规律、预测未来的方法。是人工智能的一个重要分支,是实现人工智能的基础之一。线性回归模型是一种常用的有监督机器学习算法,它可以用来预测连续的数值型数据。今天,我们将使用波士顿房价数据集来介绍线性回归模型的应用。在这个项目中,我们将利用马萨诸塞州波士顿郊区的房屋信息数据训练和测试一个模型,并对模型的性能和预测能力进行评估。通过该数据训练后的好的模型可以被用来对房屋做特定预测--尤其是对房屋的价值。

m0_68231845的博客 6873

波士顿房价线性回归预测

线性回归算法是使用线性方程对数据集进行拟合的算法,是一个非常常见的回归算法。应用场景较广泛,例如同一平台不同坐标系间数据对应转换、大地坐标与经纬坐标转换、医院病床数与病患间的关系等等。在回归中,也可以通过对回归的数据打离散的标签实现分类的问题。本章首先从最简单的单变量线性回归算法开始,应用一个广告投放与销售量的案例,探讨线性回归的基本理论、实现方法、评估方法与常见的欠拟合和多重线性问题。然后通过波士顿房价预测进行案例演示。最后会通过逻辑回归分析鸢尾花分类与模型的性能指标分析,展示回归分类求解的过程。

需要远程指导仿真实验、代码有问题的,请后台私信或者关注公众号 3348

掌握机器学习:波士顿房价预测实战课程

本文还有配套的精品资源,点击获取 简介:波士顿数据集是一个经典的机器学习案例,用于预测波士顿地区的房价。它包含506个样本和13个特征,通过这个数据集,学习者可以实践多种监督学习算法,并了解特征工程、模型评估、随机分割和超参数调优等关键概念。波士顿数据集被广泛用于教学和研究,帮助学习者深入理解机器学习的理论与实践。 1. 波士顿数据集简介与应用 1.1 波士...

weixin_35706255的博客 1784

【深度学习入门案例】波士顿房价预测

人工智能,机器学习,深度学习 参考文献: 做个简单介绍:三者的关系如 图1 所示,即:人工智能 > 机器学习 > 深度学习。 深度学习设计框架: 环境查看 import paddle import numpy as np import os import matplotlib import matplotlib.pyplot as plt import pandas as pd import seaborn as sns import warnings warnings.filterwarn

全栈川川 4397

SAP CO-PA数据传送避坑指南:销售开票与FI/MM记账的日常配置实操(含KEKF/KE4I/KEI2)

本文深入解析SAP CO-PA数据传送中的常见配置问题,特别是销售开票与FI/MM记账环节的实操避坑指南。通过KEKF/KE4I/KEI2等关键配置点的详细说明,帮助用户避免数据失真和重复记录,提升获利能力分析的准确性。文章结合实战案例,揭示官方文档未提及的'数据黑洞'形成机制,为SAP顾问提供实用的排雷手册。

weixin_26905487的博客 391

基于角谱传播的MATLAB仿真:从相位恢复看自由空间光传播

本文详细介绍了基于角谱传播理论的MATLAB仿真方法,用于模拟自由空间光传播过程。通过傅里叶光学原理,将光场分解为频谱并应用传播相位滤波器,实现了从纯相位物体到可观测衍射图样的仿真。文章结合具体代码,演示了如何利用角谱法进行相位恢复,为计算成像和生物医学检测等领域的研究提供了实用的仿真工具和思路。

weixin_29055699的博客 283

房价数据分析波士顿_波士顿房价预测分析

封面图来自Unsplash @zhang kaiyv红烧肉是一名Python数据分析初学者,希望在每一次的数据分析中积累自己的学习过程,表达自己的观点,快速成长和迭代。以此篇作为开篇,如有待改进之处,请随时指出。数据分析的学习之路,从Kaggle的基础项目开始,颇有一点机器学习入门的味道。这里多提一句,大家在学习新知识或新技能的路上,要牢记自己的学习目标:长期目标是什么?最急功近利的目标是什么?只...

weixin_39713833的博客 7781

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了如何合法移除个人购买的Kindle电子书的DRM保护,实现跨设备阅读与备份。核心内容包括使用最新DeDRM插件(如noDRM分支)配合Calibre进行配置,并针对亚马逊最新的KFX加密格式提供了密钥提取与实战操作指南。文章强调该方法仅适用于个人合理使用,旨在帮助读者真正掌控自己的数字资产。

delta的博客 577

Python与机器学习案例:房价预测

就像任何一次成功的旅行都需要详细的规划一样,在正式开始构建模型之前,我们也需要对即将使用的“地图”——数据集——进行一番仔细的研究和准备。这次,我们将以波士顿房价数据集为例,该数据集包含了关于波士顿不同郊区房屋的各种信息,比如犯罪率、房间数量等特征,以及每个地区的平均房价。我们的目标是根据这些特征来预测房价。你可以把这里当作自己的家,无论是工作之余的小憩,还是寻找灵感的驿站,我都希望你能在这里找到属于你的那份快乐和满足。

master_chenchen的博客 1729

产生式系统的完整示例——医疗诊断系统(附python代码)

发烧(Fever)、咳嗽(Cough)、皮疹(Rash)、喉咙痛(SoreThroat)、头痛(Headache)、流涕(RunnyNose)、呼吸困难(ShortnessOfBreath)、白细胞计数高(HighWBC)、接触流感患者(ContactFlu)、接触麻疹患者(ContactMeasles)。(2)若规则库中存在尚未使用过的规则,而且它的前提(前件)可与综合数据库中的已知事实匹配,则转第(3)步;(3)执行当前选中的规则,并对该规则做上标记,把该规则执行后得到的结论送入综合数据库中。

搏博的专栏 1706

备战2025数学建模国赛(算法65):Fisher判别分析

在数学建模竞赛中,我们常常会遇到需要对研究对象进行分类或判断的问题。例如,根据西瓜的各类指标判断其好坏,根据经济数据判断一个国家的发展程度,或根据病人的医学影像特征判断其是否患病。这类“分类判别”问题,是建模竞赛中最常见的题型之一。Fisher判别分析(或称线性判别分析,LDA)作为一种经典的、有监督的降维与分类方法,因其模型简洁、可解释性强、计算高效而备受青睐。

YOLO 424

机器学习03-(决策树:基本原理及集合算法、波士顿房屋价格数据分析与房价预测)

机器学习-03机器学习-03决策树基本算法原理集合算法AdaBoost模型(正向激励)GBDT自助聚合随机森林 机器学习-03 决策树 基本算法原理 核心思想:相似的输入必会产生相似的输出。例如预测某人薪资: 年龄:1-青年,2-中年,3-老年 学历:1-本科,2-硕士,3-博士 经历:1-出道,2-一般,3-老手,4-骨灰 性别:1-男性,2-女性 年龄 学历 经历 性别 ==> 薪资 1 1 1 1 ==> 6000(低) 2 1 3 1 ==> 10000(中)

yegeli的博客 3211

AUTOSAR进阶图解==>AUTOSAR_SWS_CANNetworkManagement

本文介绍了AUTOSAR架构中的CAN网络管理(CanNm)模块,主要内容包括: 模块概述:CanNm是协调CAN网络节点状态转换的基础组件,采用去中心化设计,通过周期性发送网络管理PDU保持网络活跃状态,支持网络唤醒、睡眠和部分网络功能。 架构设计:CanNm位于AUTOSAR中间层,连接上层通信管理器(ComM)和底层CAN接口(CanIf),包含状态管理、PDU处理和定时器管理等子组件。 状态机设计:定义了三种主要模式(总线睡眠、准备睡眠和网络模式)及其转换逻辑,网络模式又包含重复消息、正常操作和准备

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 2041

机器学习与深度学习——使用paddle实现随机梯度下降算法SGD对波士顿房价数据进行线性回归和预测

使用Paddle实现随机梯度下降(SGD)算法对波士顿房价数据进行线性回归的训练,给出每次迭代的权重、损失和梯度,并进行房价预测值与真实房价值对比。使用Paddle实现随机梯度下降(SGD)算法对波士顿房价数据进行线性回归的训练,给出每次迭代的权重、损失和梯度,并进行房价预测值与真实房价值对比。1、导入必要的库和模块:PaddlePaddle深度学习框架、numpy、os等常用的包和库。将得到的预测结果和真实标签值进行比较,并输出预测房价的结果和真实房价结果。在训练结束后,保存训练好的模型参数到文件中。

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 2066

matlab 一维相位解缠

一维相位解缠算法的matlab代码实现。

点云侠的博客 373

YOLO26剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

针对没有如何去选择剪枝的内容LAMP是层自适应幅度调整剪枝,无需任何参数,通过算法内部自己计算每个层的重要程度进行剪枝。基于权重重要程度和该层权重大小关系,权重越大表明该层越重要的思想进行优化。这个跟我前面说的非结构化全局剪枝是一个解法(MP),也就是lamp是在我前面那个非结构化剪枝的基础上进行优化的。但是这个逐层进行非结构剪枝目前还没有一个清晰的概念,确定每个层要剪枝多少。LAMP得分是一个平方权重大小,由层中所有“幸存权重”的总和归一化。

m0_64661770的博客 675

使用决策树相关算法实现波士顿房价预测

决策树浅析 决策树概述 决策树是一种经典的机器学习方法,其核心思想是相同(相似)的输入产生相同(相似)的输出。通过树状结果进行决策,其目的是通过对样本不同属性的判断决策,将具有相同属性的样本划分到下一个叶子节点,从而实现分类或者回归。 构建决策树 根据西瓜书的知识,构建决策树的算法如下: 由此可见决策树的构建是一个递归问题,核心在于: 如何选择最优的特征,使得对数据集的划分效果最好。 决定何时停止分裂节点。 选择决策特征 信息熵 信息熵(information entropy)是度量样本集合纯度的常

enginelong的博客 4767

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)

ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集【13+1,506】回归预测(模型评估、推理并导到csv) 目录 利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集【13+1,506】回归预测(模型评估、推理并导到csv) 输出数据集 1、LiR 线性回归算法 2、kNNR k最近邻算法

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 8443

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Tensorflow波士顿房价预测学习记录

Tensorflow波士顿房价预测学习记录 第一.导入需要的库 import numpy as np import matplotlib.pyplot as plt import tensorflow as tf numpy数组用来初始化(后文) matplotlib用来画图,可以更加明显的突出数据的变化 第二.加载波士顿地价 介绍 波士顿房价数据集是统计的20世纪70年代中期波士顿郊区房价的中...

m0_46432804的博客 1020

学习记录:机器学习入门案例——波士顿房价预测(三)-波士顿房价预测与加州房价预测对比

2026年4月7日波士顿房价预测与加州房价预测都已经运行成功,不禁疑惑,二者都是线性回归模型,有什么区别呢。

getdocument的博客 358

波士顿房价(只依据一个特征的)预测

波士顿房价数据集 波士顿房价数据集中一共有506条数据,涵盖506个不同郊区的房屋数据。在机器学习中,通常要把数据集划分为训练数据集和测试数据集,在波士顿数据库中,默认其中404条是训练数据集,102条作为测试数据集。其中,每条数据有14个字段,包含13个属性和1个房价的平均值。 在使用数据集之前,首先要加载数据集,可以直接使用datasets模块访问数据集。这个数据集完整的前缀是tensorflow.keras,是Keras API在tensorflow中的实现。 下面使用代码来演示下如何加载波士顿房价

xuechanba的博客 3604
上一篇: 学习记录:机器学习入门案例——波士顿房价预测(一)-加载数据集
下一篇: 学习记录:机器学习入门案例——波士顿房价预测(三)-波士顿房价预测与加州房价预测对比
getdocument
博客等级 码龄23年 24粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值