机器学习入门案例(2)之使用逻辑回归预测房子是否能被租出去

news2025/1/22 18:49:20

大家好,我是邵奈一,一个不务正业的程序猿、正儿八经的斜杠青年。
1、世人称我为:被代码耽误的诗人、没天赋的书法家、五音不全的歌手、专业跑龙套演员、不合格的运动员…
2、这几年,我整理了很多IT技术相关的教程给大家,爱生活、爱分享。
3、如果您觉得文章有用,请收藏,转发,评论,并关注我,谢谢!
博客导航跳转(请收藏):邵奈一的技术博客导航
| 公众号 | 微信 | CSDN | 掘金 | 51CTO | 简书 | 微博 |


教程目录

  • 0x00 教程内容
        • 1. 引入相关依赖的包
        • 2. 构建房价数据集并可视化
        • 3. 数据预处理
        • 4. 数据拟合
        • 5. 数据预测
  • 0xFF 总结

0x00 教程内容

背景说明:假设有一些租房相关的信息,是中介带了很多客户看了很多房子后,记录下来的数据。现在你也有个房子,假设是10平方,准备租2500元,不知道是否能租出去?所以你想预测一下。接下来我们将会做这样的一件事。

1. 引入相关依赖的包

# 从sklearn.preprocessing里导入StandardScaler。
from sklearn.preprocessing import StandardScaler
# 从sklearn.linear_model里导入LogisticRegression
from sklearn.linear_model import LogisticRegression

2. 构建房价数据集并可视化

# X:每一项表示租金和面积
# y:表示是否租赁该房间(0:不租,1:租)
X=[[2200,15],[2750,20],[5000,40],[4000,20],[3300,20],[2000,10],[2500,12],[12000,80],
   [2880,10],[2300,15],[1500,10],[3000,8],[2000,14],[2000,10],[2150,8],[3400,20],
   [5000,20],[4000,10],[3300,15],[2000,12],[2500,14],[10000,100],[3150,10],
   [2950,15],[1500,5],[3000,18],[8000,12],[2220,14],[6000,100],[3050,10]
  ]

y=[1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,1,0,1,1,0]

3. 数据预处理

标准化数据,保证每个维度的特征数据方差为1,均值为0。使得预测结果不会被某些维度过大的特征值而主导。

ss = StandardScaler()
X_train = ss.fit_transform(X)
print(X_train)

执行后,结果为:

[[-0.60583897 -0.29313058]
 [-0.37682768 -0.09050576]
 [ 0.56003671  0.71999355]
 [ 0.14365254 -0.09050576]
 [-0.14781638 -0.09050576]
 [-0.68911581 -0.49575541]
 [-0.48092372 -0.41470548]
 [ 3.47472592  2.34099218]
 [-0.32269773 -0.49575541]
 [-0.56420055 -0.29313058]
 [-0.89730789 -0.49575541]
 [-0.27273163 -0.57680534]
 [-0.68911581 -0.33365555]
 [-0.68911581 -0.49575541]
 [-0.62665818 -0.57680534]
 [-0.10617796 -0.09050576]
 [ 0.56003671 -0.09050576]
 [ 0.14365254 -0.49575541]
 [-0.14781638 -0.29313058]
 [-0.68911581 -0.41470548]
 [-0.48092372 -0.33365555]
 [ 2.64195758  3.15149149]
 [-0.21027401 -0.49575541]
 [-0.29355084 -0.29313058]
 [-0.89730789 -0.69838024]
 [-0.27273163 -0.17155569]
 [ 1.80918923 -0.41470548]
 [-0.59751129 -0.33365555]
 [ 0.97642089  3.15149149]
 [-0.25191242 -0.49575541]]

4. 数据拟合

#调用Lr中的fit模块训练模型参数
lr = LogisticRegression()
lr.fit(X_train, y)

5. 数据预测

testX = [[2500,10]]
X_test = ss.transform(testX)
print("待预测的值:",X_test)
label = lr.predict(X_test)
print("predicted label = ", label)
#输出预测概率
prob = lr.predict_proba(X_test)
print("probability = ",prob)

输出:

待预测的值: [[-0.48092372 -0.49575541]]
predicted label =  [1]
probability =  [[0.43698672 0.56301328]]

由此可以知道,10平方的房子,想要租2500,能租出去的概率是0.56301328,租不出去的概率是0.43698672。

假设房东现在有一间10平方的房子,初步定价是2500元,但是房东不太清楚这个定价被租出去的概率有多大?如果你不用机器学习,你会怎么做呢?或者说,你会怎么去判断。按照我们的正常想法,肯定是要看一下这个价格、这个面积,租出去的概率有多大。如果有类似的面积和类似的价格,都被租出去了,那说明这个定价肯定是很容易被租出去的。

所以,接下来我们可以回过头去看之前提供的数据:
在这里插入图片描述
此处可以先找3组与[2500,10]相近的数据,看看情况怎么样,然后看看什么情况。比如[2500,12]、[2880,10]、[2000,10]这三组数据的情况分别是租出去,租不出去,租出去。

2500元,12平是可以租出去,但是小一点,2500元,10平租不租得出去呢?可以再看[2880,10]这组,发现2880元,10平是没租出去的,所以看到这里,还是没法确定2500元,10平是否能被租出去。此时,此时可以再看2000元,10平看能否被租出去,发现这个2000元,10平,可以租出去。2000比2500少了500块,被租出去也理所当然。

看到这里,同学们可能有点奔溃了,如果没有机器学习,我们就要手动算、手动判断,太麻烦了,所以…让这些事情交给机器学习吧!

0xFF 总结

  1. 同学们可以继续修改租金跟面积,租金不变,面积变大,看看概率是多少,租金变多,面积不变,看看概率是多少。
  2. 请继续关注我,我将更新更多使用教程。

邵奈一 原创不易,如转载请标明出处,教育是一生的事业。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gitlab操作

1. 配置ssh 点击访问 2. 创建新分支与切换新分支 git branch 新分支名 // 创建 git checkout 新分支名 // 切换到新分支3. 查看当前分支 git branch*所指的就是当前所在分支 4. 本地删除文件后与远程git同步 git add -A git commit -m "del" git push

编码转换流

同理,创建f1和f2方法,分别测试OutputStreamWriter和InputStreamReader 也是主要分三步,即1创建流 2使用流 3关流 OutputStreamWriter f1方法 因为要操作流,所以先创建一个try-catch-finally结构,创建流对象Out…

【2596. 检查骑士巡视方案】

来源:力扣(LeetCode) 描述: 骑士在一张 n x n 的棋盘上巡视。在有效的巡视方案中,骑士会从棋盘的 左上角 出发,并且访问棋盘上的每个格子 恰好一次 。 给你一个 n x n 的整数矩阵 grid ,由范…

无涯教程-JavaScript - ISERR函数

描述 如果ISERR函数引用的是Excel错误(#N/A错误除外),则ISERR函数返回逻辑值TRUE。否则返回FALSE。 语法 ISERR (value)争论 Argument描述Required/OptionalvalueAn errorRequired Notes 此函数在公式中用于测试计算输出很有用。与IF函数结合使用时,此函数提供…

综合能力 ---- 2. 法律法规

1. 法律法规 1.1 电信条例 电信条例概述电信市场规定电信服务规定电信建设规定电信安全规定 1.2 网间互联管理规定 网间互联概述经营者的互联义务互联时限 1.3 网络安全法 网络安全法概述网络运行安全规定网络信息安全规定 2. 电信条例修订的目的 《电信条例》于2016年做…

fatal error: linux/compiler-gcc9.h: No such file or directory

linux 找到README文件 cd /mnt/e/CLionProjects/linux-3.10.99/linux-3.10.99 sudo useradd linux3x sudo passwd linux3x sudo mkdir /home/linux3x sudo chown linux3x:linu3x /home/linux3x sudo chmod 755 /home/linux3x su - linux3x mkdir ~/build mkdir ~/build/kerne…

精品基于NET实现的民族文化宣传网站

《[含文档PPT源码等]精品基于NET实现的民族文化宣传网站》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数…

python 语法入门

文章目录 前言python 语法入门1. 语句分隔符2. 注释3. pep8规范4. 变量5. 扩展5.1. 运行此行代码的过程 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会…

分享一下在微信小程序上怎么实现投票功能

微信小程序已经成为一种非常受欢迎的移动应用,可以通过它来实现各种功能,包括投票功能。下面,我们将为大家详细介绍如何在微信小程序上实现投票功能。 一、确定投票功能的目标 在策划投票功能之前,需要明确自己的目标。目标可以是…

【python】CliffWalking悬崖寻路问题

强化学习 简介gym库-CliffWalkingSARSAQ-learning 示例SARSAQ-learning 简介 机器学习:监督学习、非监督学习、强化学习 模仿人类和动物的试错机制进行学习智能体与环境交互,根据当前的环境状态s,按照一定策略采取行动a,获得回报r…

使用 CSS 伪类的attr() 展示 tooltip

效果图: 使用场景: 使用React渲染后台返回的数据, 遍历以列表的形式展示, 可能简要字段内容需要鼠标放上去才显示的 可以借助DOM的自定义属性和CSS伪类的attr来实现 所有代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-…

Linux之文本搜索工具--grep

目录 Linux之文本搜索工具--grep 作用 格式 参数 注意 示例 操作对象文件&#xff1a;/etc/passwd grep过滤命令示例 Linux之文本搜索工具--grep 作用 grep是linux中一种强大的文件搜索过滤工具&#xff0c;可以按照正则表达式检索文件内容&#xff0c;并把匹配的结果显…

Ubuntu安装与配置MySQL简要记录

目标 前置条件&#xff1a;Virtualbox虚拟机下Ubuntu20.04 目标MySQL版本&#xff1a;8.0.34 目标效果&#xff1a;安装并配置MySQL&#xff0c;开启远程连接且使用windows下的DataGrip进行管理 安装 sudo apt install mysql-server 通过apt安装的mysql只需一行&#xff0c;…

LeetCode——动态规划篇(一)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 目录 509. 斐波那契数 - 力扣&#xff08;LeetCode&#xff09; 70. 爬楼梯 - 力扣&#xff08;LeetCode&#xff09; 746. 使用最小花费爬楼梯 - 力扣&#xff08;LeetCode&a…

【C++】泛型编程 | 函数模板 | 类模板

一、泛型编程 泛型编程是啥&#xff1f; 编写一种一般化的、可通用的算法出来&#xff0c;是代码复用的一种手段。 类似写一个模板出来&#xff0c;不同的情况&#xff0c;我们都可以往这个模板上去套。 举个例子&#xff1a; void Swap(int& a, int& b) {int tmp …

智能驾驶感知技术的综述与展望

目录 1 智能驾驶环境感知的目的 1.1 智能驾驶感知技术的定义和作用 1.2 基于传感器的智能驾驶感知技术 1.3 基于深度学习的智能驾驶感知技术 2 环境感知的手段与方法 2.1 感知技术在智能驾驶中的应用与发展 2.2 智能驾驶决策系统的设计与优化 2.3 控制技术在智能驾驶中的应…

SpringMVC之JSON返回异常处理机制

json处理统一异常处理 1.json处理 //pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

加快项目开发进度常用5种方法

项目进度管理是根据进度目标&#xff0c;制定合理的进度计划&#xff0c;全程监控项目进度的执行情况。这样有利于明确项目目标&#xff0c;协调团队行动&#xff0c;提高开发效率&#xff0c;从而最大化项目利益。而加快项目进度&#xff0c;有利于提高项目整体效率&#xff0…

我的创作纪念日——1个普通网安人的漫谈

机缘 大家好&#xff0c;我是zangcc。今天突然收到了一条私信&#xff0c;才发现来csdn已经1024天了&#xff0c;不知不觉都搞安全渗透2年半多了&#x1f414;&#xff0c;真是光阴似箭。 我写博客的初衷只是记录自己的学习历程&#xff0c;比如打打靶场&#xff0c;写一下通关…

高成本获客时代,企业如何通过营销自动化实现突围?

在数字化时代&#xff0c;随着市场竞争的不断升级&#xff0c;企业在获客方面面临了前所未有的挑战。不论是B端或C端的市场和运营部门纷纷寻求可降低获客成本的新运营路径&#xff0c;将有限的预算花在刀刃上。 企业迫切需要寻求更加智能和高效的方式来吸引、转化和留住潜在客…