源码技术
php
java
python
Linux
行业商讯
当前位置:
首页
>
python
>Python手写逻辑回归二分类任务(1)
Python手写逻辑回归二分类任务(1)
2026-10-30 23:16:49
Python手写逻辑回归二分类任务(1)
逻辑回归(Logical Regression)是最常用的一种分类器,从线性回归拓展而来,在分类任务,特别是二分类任务上经常用到,作为一个初学者,不想要简单的做一个调包侠,那就实际动手从公式理解,到算法代码实现都手搓一遍。(本文用到的是吴恩达机器学习课程的资料,相信很多跟我一样的初学者都是从这里开始)
首先,让我来说一说对于机器学习的理解,所谓机器学习,就是借助机器的强大算力,把无法通过人眼一下子看出来的规律(回归)和分类形成一个公式拟合,一种数学表示。
那么问题来了,我需要这些规律干嘛?
举几个简单的例子:
1.气温,假设你现在要在10号出门做点事,你需要知道10号的天气情况,而你刚好有记录的习惯,你能通过历史数据推测出10号的数据吗?
day
temperature
2020-01-01
15.8
2020-01-02
15.5
2020-01-03
15.3
2020-01-04
15.3
2020-01-05
15.4
2020-01-06
15.8
2020-01-07
15.7
2.房价,假设你是一个刚需,长时间关注房价,你该如何确定啥时候下手才能不亏甚至小赚,这时候你又很机智的记录下了过去的房价以及和房价相关的一些数据(地域、出售套数、面积等)?
month
region
sold
area
price
2020-01
2
30
188
3289.98
2020-02
2
40
53
4273.40
2020-03
2
9
75
4508.06
2020-04
0
87
122
4392.91
2020-05
1
83
123
3681.77
2020-06
3
27
163
3724.10
2020-07
0
85
122
4357.92
2020-08
2
98
78
4798.39
2020-09
0
67
179
4699.43
2020-10
1
3
112
3274.83
3.股票价格,这时候你又化身股神,想要在交易市场中名声大噪,这可不是简单的东西,不管是卖点还是买点都无不体现了你的专业,你聪明的脑袋疯狂运转,却发现干不过机器。
time
trading_volume
price
1/1/2024 9:36
300.1234363
15.84617147
1/2/2024 9:37
601.5364813
14.28288112
1/3/2024 9:38
903.3073281
15.60677219
1/4/2024 9:39
1204.639014
15.06886637
1/5/2024 9:40
1505.730983
15.88801059
1/6/2024 9:41
1805.754651
15.61288848
1/7/2024 9:42
2106.511179
15.15117651
1/8/2024 9:43
2408.85504
14.91736392
1/9/2024 9:44
2711.521511
15.36890019
1/10/2024 9:45
3012.688428
15.95477252
1/11/2024 9:46
3313.530406
15.5942291
1/12/2024 9:47
3614.110362
15.99425996
1/13/2024 9:48
3917.09128
15.83075496
1/14/2024 9:49
4217.560753
15.4509775
以上这些例子表明,我们周围存在的这些数据,似乎有某种内在的规律,但是我们无法通过肉眼观察,和简单的计算得到答案。所以机器学习的目标就是于此,试着用数学上的某种函数(或者很多函数组合到一起)来对现实数据进行拟合,尽管他不是百分百拟合,但是可以在很大程度上告诉我们趋势是怎样的。
废话不多说,开搞!
首先来简单理解一下线性回归,我们从一个简单的初中函数公式开始:
y
=
ax
+
b
x
a=1
a=2
b=1
y1
y2
1
1
2
1
2
3
2
1
2
1
3
5
3
1
2
1
4
7
4
1
2
1
5
9
5
1
2
1
6
11
上表展示的就是如何对这个函数进行基本计算(y1,y2分别表示a=1,2时候算出来的数值),其实就是说,当我们知道某种算法(数学公式)形如上面的公式,或者应该说,我们用瞪眼法(注意力惊人的你),看出了X和Y的关系,因此当有新的X的时候,我们可以直接计算出Y的值,简单来说,X是我们能知道的,Y是我们想知道的;在温度的例子中,假设此刻X就是日期(2020-01-10),因此我们可以直接算出Y(10号的气温)=11度。
简答算一下,比如第一行:
a=1时:y1=a1*x+b=>1*1+1=2,
a=2时:y2=a2*x+b=2*1+1=3
ok,我们来推演一下表里没有的数据:
a=1时:我们得到一个新的x,假设是230,如何计算得到预期的y?
非常简单:y=a1*x+1=>1*230+1=231
注意,这里的a=1,a=2只是为了给大家展示,不同的a的值会引起结果怎么样的变化,这里的y=ax+b也只是大自然多种拟合中的一种,我们不要从本末倒置从公式去看世界,而是应该想想能从世界中看出什么规律,能用几个简单的字母表示
某一些东西会随着另外一些东西的变化而变化,因此,
当我们在现实生活中想要知道我们不能直接知道的东西时候(比如y),看能不能尝试从它的另一侧去入手收集信息(比如x),
以此类推,就是这么简单很清爽。
(一更到此,此部分有疑问的请在评论区告诉或者直接私信我)
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:596563534@qq.com 。
用Python写邮箱提醒事项的开源脚本
我的 Python 学习日记6
最新文章
用Python写邮箱提醒事项的开源脚本
python数据分析|数据可视化,实现提前下班
降龙十八掌的真正威力:AI 编程里最重要的那点“内力心法”
量化交易实战:用 Python 构建 ETF 分析与策略回测系统
Windows 系统 Python 路径冲突踩坑指南:从 Microsoft Store 残留到彻底解决
python生物信息多组学大数据深度挖掘与论文整理技巧实践技术应用
Python学习第三课(第1节:类的继承与类装饰器)
Python OOP 设计思想 09:协议优于继承
Kali Linux 2025.4 重磅发布,Wayland 时代全面到来,渗透测试工具链大升级!
Python机器学习宝藏,学完你的Python就牛啦
热门文章
【跟着AI学Python】第3天:运算符
Python内置函数大全
python 多线程 多进程 并行计算
Docker容器时间不同步?Linux运维必看的3种同步方案
Python期末考试原来这么简单
不是说Linux系统很快嘛,为什么我使用的时候并没有感觉有多快,反而很慢?
C++ 调用 Python 总结(一)
告别“黑窗口恐惧”:10分钟掌握Linux生存必备命令
Java,屠榜之王
Linux基础|set 命令:写好shell脚本的“安全开关”
随机文章
10个月宝宝每天需要喝多少奶粉?
Linux与网络安全指南
【技术笔记】【PHP】php获取链接跳转后的地址,获取API接口内容
《Vibe Coding:AI编程时代的认知重构》:一部写给所有数字时代构建者的认知升级指南
省钱攻略:关于小学生学编程,说点有含金量的
aardio零基础编程学习-14(实战手搓拼图软件)
学会编程,可以早下班
【第35期】21天养成编程习惯:C++刷题第11天
Vibe Coding(氛围编程)的核心工具
【第35期】21天养成编程习惯:Scratch刷题第11天
智能制造⼯⼚ ABB 机器⼈编程实验