当前位置: 首页 > news >正文

【机器学习】线性回归和逻辑回归的区别在哪?

线性回归和逻辑回归是两种常见的回归模型,它们有一些相似的地方,但也有很大的区别。让我们通过通俗的例子来理解它们的不同,并提供代码示例。

1. 线性回归:预测连续的数值

线性回归用于预测一个连续的数值,例如预测房价、温度、收入等。

  • 目标:根据输入变量预测一个连续的结果。
  • 输出:一个连续的数值。

例子:预测房价

假设你想根据房子的面积来预测它的价格。假设数据集如下:

面积(平方米)价格(万元)
50100
80160
120240
150300

你可以使用线性回归来预测给定面积的房价。

线性回归的代码:

from sklearn.linear_model import LinearRegression
import numpy as np

# 输入数据:房子的面积
X = np.array([[50], [80], [120], [150]])
# 目标数据:房子的价格
y = np.array([100, 160, 240, 300])

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X, y)

# 预测一个新的房子的价格,假设面积是 100 平方米
predicted_price = model.predict([[100]])
print(f"预测房价:{predicted_price[0]} 万元")

输出:

预测房价:200.0 万元

在这个例子中,线性回归模型通过学习数据中的关系(面积和价格之间的线性关系)来预测价格。模型的输出是一个连续的值(房价)。

2. 逻辑回归:预测类别标签(分类问题)

逻辑回归用于预测一个类别标签(例如是否通过考试、是否生病、是否会买某个商品等)。

  • 目标:预测某个事件的发生概率(例如,是否通过考试、是否购买某产品等)。
  • 输出:一个概率值(0 到 1 之间),通常用于判断属于某一类别的概率(如 0.8 表示 80% 的概率属于某一类别)。

例子:预测考试是否通过

假设我们有以下数据:

学习时间(小时)是否通过考试(1=通过,0=未通过)
20
40
61
81

我们想知道,给定一个学习时间,预测考试是否通过。

逻辑回归的代码:

from sklearn.linear_model import LogisticRegression
import numpy as np

# 输入数据:学习时间
X = np.array([[2], [4], [6], [8]])
# 目标数据:是否通过考试(0=未通过,1=通过)
y = np.array([0, 0, 1, 1])

# 创建逻辑回归模型
model = LogisticRegression()

# 训练模型
model.fit(X, y)

# 预测一个新的学习时间,假设是 5 小时
predicted_probability = model.predict_proba([[5]])[0][1]
print(f"通过考试的概率:{predicted_probability:.2f}")

输出:

通过考试的概率:0.57

在这个例子中,逻辑回归模型输出的是一个概率值,表示给定学习时间为 5 小时,学生通过考试的概率为 57%。如果概率大于某个阈值(通常是 0.5),我们可以预测学生通过考试;如果小于 0.5,则预测未通过。

主要区别:

  • 线性回归:
    • 用于预测连续的数值
    • 输出是一个具体的数值(如房价、温度等)。
    • 适用于回归问题。
  • 逻辑回归:
    • 用于分类问题,预测类别的概率
    • 输出是一个介于 0 和 1 之间的概率值,用来表示某个类别的可能性。
    • 适用于二分类(0 或 1)或多分类问题。

总结:

  • 线性回归:解决的是“给定输入,预测一个连续的数值”问题。
  • 逻辑回归:解决的是“给定输入,预测一个类别的概率”问题。

相关文章:

  • 【零基础JavaScript入门 | Day7】三大交互案例深度解析|从DOM操作到组件化开发
  • Netty——I/O 线程模型
  • 最长连续子序列和的所含元素 -- Kadane算法拓展
  • 【C++网络编程】第8篇:协议设计与序列化(Protobuf、FlatBuffers)
  • 流式ETL配置指南:从MySQL到Elasticsearch的实时数据同步
  • 【设计模式】工厂模式
  • 信息学奥赛一本通 1514:【例 2】最大半连通子图 | 洛谷 P2272 [ZJOI2007] 最大半连通子图
  • vue watch数据监听
  • R语言——字符串
  • RTSP/Onvif安防监控平台EasyNVR抓包命令tcpdump使用不了,该如何解决?
  • 模型搭建与复现
  • 【Linux网络-多路转接select】
  • Active Directory (AD): 企业网络用户管理的重要性及 AD 迁移方法
  • UNIX网络编程笔记:TCP、UDP、SCTP编程的区别
  • 解决 MySQL 的 sql_mode 中包含 only_full_group_by模式导致group by SQL报错
  • PHP eval 长度限制绕过与 Webshell 获取
  • 穿透Session 0隔离
  • 【每日算法】Day 6-1:哈希表从入门到实战——高频算法题(C++实现)
  • 网络安全基础:五类安全服务、八种安全机制与OSI七层模型的全面解析
  • HTML——什么是块级元素,什么是内联元素,有何区别
  • 微信公众号微网站怎么做/google adwords
  • 深圳网站建设的/外贸如何推广
  • 网站推广服务网址/百度惠生活商家入驻
  • c2c电子商务/天津seo公司
  • 建设网站 容量/互联网营销工具
  • 广州10打网站服务商/看b站二十四小时直播间