热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机器学习入门一元线性回归模型的骚操作

🐸文章适合于所有的相关人士进行学习🐸🐶各位看官看完了之后不要立刻转身呀🐶🐼期待三连关注小小博主加收藏

🐸文章适合于所有的相关人士进行学习🐸
🐶各位看官看完了之后不要立刻转身呀🐶
🐼期待三连关注小小博主加收藏🐼
🐤小小博主回关快 会给你意想不到的惊喜呀🐤





文章目录

    • 🚩前言
    • 🚩一元线性回归模型讲解
        • ☁️我们可能会遭遇的问题
        • ☁️线性回归模型
    • 🚩数学公式推导
        • ☁️公式推导
        • ☁️代码介绍及实现
          • 🌊jupyter notebook
          • 🌊python实现


🚩前言

先说一下爬虫的相关内容,因为最近也正在做相关后续的爬虫知识,剩下的一个抓包过程在以后的博客中我们会继续进行讲解。然后讲一下我们接下来将要更新的任务。我们接下来会主要讲解有关于机器学习方面的相关经典算法,包括实战内容,并且会带大家去做一些相关实战,然后涉及到的数据分析与挖掘还有爬虫的知识请各位大佬进行相关了解,或者后续通过我的博客继续学习!!!


🚩一元线性回归模型讲解


☁️我们可能会遭遇的问题

当我们在进行机器学习的过程当中,由于会有较多的数据推导过程,所以会导致有的时候会很难理解,但是我们要保持守门员精神,不要轻言放弃,跟住!!!


☁️线性回归模型

在这里插入图片描述
我们初中的时候就已经了解过甚至进行学习过简单的线性回归,包括y=kx+b,y=x2这种简单的线性方程式。那么什么是一元线性回归模型呢?我们又可以使用它做什么呢?
下面我们来看一个例子:
在这里插入图片描述
这个不难看出,这是一个关乎于工作年限和工资的一个对应关系,这个我估计是描述程序员的!很明显工作年限和工资有一种线性关系,而且工作年限是因,工资是果,那么有没有一种关系可以对其进行刻画呢?
在这里插入图片描述
于是我们进行了这样的一种刻画,其中a代表截距项,简单理解就是我们的y=kx+b中的b,b为斜率项也就是我们常说的k,那么其中的ᵰ 什么呢?就是误差项,也就是说我们图中数据点和线的距离。
在这里插入图片描述
那么我们就像,如果我们这条拟合线如果拟合的十分完美的话,那么就应该是所有的点都在这条直线上,也就是误差项应该是0,但是这种状态在现实情况中在做机器学习的时候基本上无法实现。所以我们放宽一点政策,反过来想,就是误差项如果越小,是不是就说明我们这条拟合线拟合的就越好!
那么我们就以这个为目标,开始进行探索。


🚩数学公式推导


☁️公式推导

在这里插入图片描述

在这里插入图片描述
这里就是我们对于误差平方和的推导,其实就是用到了我们高数中学到的偏导数等于0的这个特点求最小值。最终我们求出了a和b这两个参数对应的数值。
这里我们原理就介绍完了,然后我们进入代码部分。


☁️代码介绍及实现

这里我们用到的是anaconda3下面的jupyter来实现这个功能然后我们可以再利用python来具体的去实现一下。


🌊jupyter notebook

首先我们导入相关的库,在这之前我们要介绍一个这个库。
首先导入第三方模块

import statsmodels.api as sm
sm.ols(formula, data, subset=None, drop_cols=None)


formula:以字符串的形式指定线性回归模型的公式,如’y~x’就表示简单线性回归模型
data:指定建模的数据集
subset:通过bool类型的数组对象,获取data的子集用于建模
drop_cols:指定需要从data中删除的变量


我们先来看一下数据!当然了不止这些
在这里插入图片描述

import pandas as pd
import statsmodels.api as sm#数据读入
income=pd.read_csv("Salary_Data.csv")
#相关数据请到我的下载资源中获取
#拟合
fit=sm.formula.ols('Salary~YearsExperience',data=income).fit()
#输出参数
fit.params

最后我们得到的结果是:
在这里插入图片描述
这里我们就完成了!


🌊python实现

我们根据前面的数学推导可以知道我们需要求样本总数n,n个x*y的和,n个x的和,n个y的和。

import pandas as pd
income=pd.read_csv('Salary_Data.csv',delimiter=',')
#其中delimiter表示定界符
n=income.shape[0]
#样本量
sum_x=income.YearsExperience.sum()
sum_y=income.Salary.sum()
sum.x2=income.YearsExperience.pow(2).sum()
xy=income.YearsExperience*income.Salary
sum_xy=xy.sum()
a=income.Salary.mean()-b*income.YearsExperience.mean()
b=(sum_xy-sum_x*sum_y/n)/(sum.x2-sum_x**2/n)
print(a)
print(b)

这里就是把我们推导的过程完美呈现出来了!!!有助于大家理解,今天我们到这里了。
具体的anaconda的安装教程请根据csdn中相关大佬进行安装,直接搜索就可以。
在这里插入图片描述


🐸文章适合于所有的相关人士进行学习🐸
🐶各位看官看完了之后不要立刻转身呀🐶
🐼期待三连关注小小博主加收藏🐼
🐤小小博主回关快 会给你意想不到的惊喜呀🐤



推荐阅读
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • Python 可视化 | Seaborn5 分钟入门 (六)——heatmap 热力图
    微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seabo ... [详细]
  • plt python 画直线_机器学习干货,一步一步通过Python实现梯度下降的学习
    GradientDescent-梯度下降梯度下降法(英语:Gradientdescent)是一个一阶最优化算法,通常也称为最速下降法。要使用梯度下降法找 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 求职屡屡碰壁,埋头苦学5个月斩获16000元offer,终于懂了没有人能随随便便成功
    求职屡屡碰壁,埋头苦学5个月斩获16000元offer,终于懂了没有人能随随便便成功-我以前一直认为,只要有耐心,有决心,有信心,就可以在社会上立足,干出一番事业。但是经历了社会的 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • pythonMatplotlib(二)
    Matplotlib+pandas作图一、对csv文件进行提取ruixi.csv对上述表格进行提取并做图画出图像二、对.xlsx进行提取:rui ... [详细]
  • 动量|收益率_基于MT策略的实战分析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于MT策略的实战分析相关的知识,希望对你有一定的参考价值。基于MT策略的实战分析 ... [详细]
author-avatar
手机用户2602902147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有