机器学习案例:加州房产价格(一)

参考链接:https://hands1ml.apachecn.org/2/
假设你是被一家地产公司雇佣的数据科学家,现在需要做一些工作。
公司所给的数据集是StatLib 的加州房产价格数据集。这个数据集是基于 1990 年加州普查的数据。数据已经有点老,但它有许多优点,利于学习,所以假设这个数据为最近的数据。为了便于学习理解,稍后学习过程中添加了一个类别属性,并除去了一些。
在这里插入图片描述
你的第一个任务是利用加州普查数据,建立一个加州房价模型。这个数据包含每个街区组的人口、收入中位数、房价中位数等指标。

提示:街区组是美国调查局发布样本数据的最小地理单位(一个街区通常有 600 到 3000 人)。我们将其简称为“街区”。

你的模型要利用这个数据进行学习,然后根据其它指标,预测任何街区的的房价中位数。这也就是本次任务的目的。

划定问题

公司的最终目标是什么?大多数情况下可不是建立一个模型,而是收益,从模型建立的过程中能受益。
老板会告诉你,你的模型的输出(预测结果,一个区的房价中位数)将会传给另一个机器学习系统,同时也有其它信号会传入后面的系统。
这一整套系统可以确定某个区进行投资值不值。确定值不值得投资非常重要,它直接影响利润,也就是收益。
在这里插入图片描述
下一个问题,现在的解决方案效果如何。老板通常会给一个参考性能,以及如何解决问题。
老板说,现在街区的房价是靠专家手工估计的,专家队伍收集最新的关于一个区的信息(不包括房价中位数),他们使用复杂的规则进行估计。这种方法费钱费时间,而且估计结果不理想,误差率大概有 15%。
OK,有了这些信息,你就可以开始设计系统了。首先,你需要划定问题:监督或非监督,还是强化学习?这是个分类任务、回归任务,还是其它的?要使用批量学习还是线上学习?尝试自己思考一下。

答案如下:

这是一个典型的监督学习任务,因为你要使用的是有标签的训练样本(每个实例都有预定的产出,即街区的房价中位数)。并且,这是一个典型的回归任务,因为你要预测一个值。讲的更细些,这是一个多变量回归问题,因为系统要使用多个变量进行预测(要使用街区的人口,收入中位数等等)。最后,没有连续的数据流进入系统,没有特别需求需要对数据变动作出快速适应。数据量不大可以放到内存中,因此批量学习就够了。

选择性能指标

回归问题的典型指标是均方根误差(RMSE)。
均方根误差测量的是系统预测误差的标准差。
例如,RMSE 等于 50000,意味着,68% 的系统预测值位于实际值的 50000 美元以内,95% 的预测值位于实际值的 100000 美元以内(一个特征通常都符合高斯分布,即满足 “68-95-99.7”规则:大约 68% 的值落在1σ内,95% 的值落在2σ内,99.7% 的值落在3σ内,这里的σ等于 50000)。公式 2-1 展示了计算 RMSE 的方法。
在这里插入图片描述
(此处不理解可移步b站学习相关内容)

核实假设

最后,最好列出并核对迄今(你或其他人)作出的假设,这样可以尽早发现严重的问题。例如,你的系统输出的街区房价,会传入到下游的机器学习系统,我们假设这些价格确实会被当做街区房价使用。但是如果下游系统实际上将价格转化成了分类(例如,便宜、中等、昂贵),然后使用这些分类,而不是使用价格。这样的话,获得准确的价格就不那么重要了,你只需要得到合适的分类。问题相应地就变成了一个分类问题,而不是回归任务。你可不想在一个回归系统上工作了数月,最后才发现真相。

幸运的是,在与下游系统主管探讨之后,你很确信他们需要的就是实际的价格,而不是分类。
很好!整装待发,可以开始写代码了,正式去解决问题!

创建工作空间

首先,你需要安装 Python。可能已经安装过了,没有的话,可以从官网下载 https://www.python.org/。
其次也可以选择安装anaconda:https://www.anaconda.com/download/
同时准备好所需的一些基本库:Jupyter、NumPy、Pandas、Matplotlib 和 Scikit-Learn等等

安装好后,通过敲入命令:jupyter notebook
Jupyter 服务器现在运行在终端上,监听 8888 端口。你可以用浏览器打开http://localhost:8888/,以访问这个服务器(服务器启动时,通常就自动打开了)。下图是笔者的代码空间截图。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HCIP的学习(15)

第六章,BGP—边界网关协议 自治系统—AS ​ 定义:由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合。 ​ AS的来源: 整个网络规模过大,会导致路由信息收敛速度过慢,设备对相同目标认知不同。AS之间…

HCIP 6(BGP综合实验)

一、实验拓扑 二、实验要求 1.AS1中存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告;AS3中存在两个环回,一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,最终要求这两个环回可以…

批量文本高效编辑神器:轻松拆分每行内容,一键保存更高效!轻松实现批量拆分与保存

文本处理成为我们日常工作中的一项重要任务。然而,面对大量的文本内容,传统的逐行编辑方式往往显得繁琐且效率低下。那么,有没有一种更高效、更便捷的解决方案呢?答案是肯定的——批量文本高效编辑神器,让您的文本处理…

用命令运行Java程序

1、创建一个类 2、在类文件路径下执行命令(编译),生成.class javac 类名.java 3、运行.class文件 java 类名

机器学习案例:加州房产价格(二)

参考链接:https://hands1ml.apachecn.org/2/ 设计好系统后,要开始在工作区编写代码来解决问题了。 下载数据 首先我们需要先得到数据集。 一般情况下,数据是存储于关系型数据库(或其它常见数据库)中的多个表、文档、…

WSL——Centos7.9安装

1. 下载cenos镜像包 centos7.9下载地址 下载CentOS7.zip 2. 安装 将下载的zip文件解压至安装目录(这个目录就是安装centos的目录,可以是c盘之外的盘) 双击CentOS.exe 安装完成后,在安装目录下会多出一个ext4.vhdx 3. 启动 使用 wsl --list 可以查…

linux学习:linux视频输出+FRAME BUFFER+jpeg库+lcd上显示

目录 概念 使用 struct fb_fix_screeninfo{ } struct fb_bitfield { } struct fb_var_screeninfo{ } 例子1 例子2 例子3 jpeg库 步骤 概念 framebuffer 是一种很底层的机制,在 Linux 系统中,为了能够屏蔽 各种不同的显示设备的具体细节&#…

使用 scrapyd 部署 scrapy

1.scrapyd 是什么? Scrapyd 是一个用于部署和运行 Scrapy 爬虫项目的服务器应用程序。它使得你可以通过 HTTP 命令来部署、管理和执行多个 Scrapy 爬虫,非常适合持续集成和生产环境中的爬虫部署。 2.安装scrapyd 并使用 2.1 安装 scrapyd F:\scrapydTes…

CSS之高级技巧

目录 CSS高级技巧精灵图(精灵技术)字体图标iconfontCSS三角CSS用户界面样式vertical-align属性应用溢出的文字省略号显示常见布局技巧 CSS高级技巧 精灵图(精灵技术) 为什么? 目的:有效减少服务器接受和…

vs code中如何使用git

由于本地代码有了一些储备,所以想通过网址托管形式,之前一直使用了github,但是鉴于一直被墙,无法登录账号,所以选择了国内的gitee来作为托管网站。 gitee的网址:Gitee - 基于 Git 的代码托管和研发协作平台…

【论文阅读笔记】MapReduce: Simplified Data Processing on Large Clusters

文章目录 1 概念2 编程模型3 实现3.1 MapReduce执行流程3.2 master数据结构3.3 容错机制3.3.1 worker故障3.3.2 master故障3.3.3 出现故障时的语义 3.4 存储位置3.5 任务粒度3.6 备用任务 4 扩展技巧4.1 分区函数4.2 顺序保证4.3 Combiner函数4.4 输入和输出的类型4.5 副作用4.…

如何自定义Linux命令

说明:本文介绍如何将自己常用的命令设置为自定义的命令,以下操作在阿里云服务器CentOS上进行。 修改配置文件 修改配置文件前,先敲下面的命令查看当前系统配置的shell版本 echo $SHELL或者 echo $0区别在于,$SHELL查看的是系统…

房屋出租管理系统需求分析及功能介绍

房屋租赁管理系统适用于写字楼、办公楼、厂区、园区、商城、公寓等商办商业不动产的租赁管理及租赁营销;提供资产管理,合同管理,租赁管理, 物业管理,门禁管理等一体化的运营管理平台,提高项目方管理运营效率…

Java继承学习笔记

Java的继承能保证子类拥有父类的方法的同时,还能有自己的方法,然后也是研究了一下super和this的用法: super的用法: (1)、super关键字有两个用法:super()和super. ,super()这个用法…

C++string 类的常用方法

string (构造函数) (1) default 构造长度为零字符的空字符串。 (2) copy 构造 str 的副本。 (3) substring 复制从字符位置 pos 开始并跨越 len 字符的 str 部分(如果任一 str 太短或 len 为 string::npos,则复制 str 的末尾…

智慧粮库/粮仓视频监管系统:AI视频智能监测保障储粮安全

智慧粮库视频监管系统是一种基于物联网、AI技术和视频监控技术的先进管理系统,主要用于对粮食储存环境进行实时监测、数据分析和预警。TSINGSEE青犀智慧粮库/粮仓视频智能管理系统方案通过部署多区域温、湿度、空气成分等多类传感器以及视频监控等设施,对…

AI漫改头像生成漫画,轻松日入1000+,操作简单好上手,互联网新项目新风口

AI漫改头像也差不多火了大半年了,一般流水的项目都活不过三个月,目前该项目至少存活了七个月了。 利用AI 软件将真人照片生成漫画形象,这看起来简单的方法,却在小红书上大伙大热。这完全是一个0成本的项目,漫画形象制作…

windows窗口消息队列与消息过程处理函数

在Windows窗口应用程序中,消息队列和窗口过程函数是实现消息驱动机制的核心组件。 消息队列(Message Queue): 消息队列是用于存储窗口消息的缓冲区。当用户与应用程序交互时,系统会将生成的消息插入到消息队列中&…

报告!Golang冲上来啦!

今天又来讲Go语言,根据全球知名的编程语言排行榜TIOBE在4月份公布的最新的编程语言排名,令人瞩目的是,Go语言已经跃升至历史最高位,位列排行榜第七名,并且Go语言是前十榜单中最年轻的编程语言。这一成绩不仅彰显了Go语…

驾驭多云环境,加速AI创新丨Animbus Cloud 8.3.0 算力调度平台升级发布

大模型开启全球新一轮AI浪潮,伴随算力规模的爆发增长以及计算技术的多元创新,需要更稳定、高效、敏捷的异构计算基础设施,才能充分发挥对算力能力的重要支撑。 作为开放智能云边架构引领者,九州未来凭借多年的技术积累、实践沉淀…