Python统计模型线性推理事件前因后果

🎯要点

  1. 经典统计方法:🖊 A/B测试,计算两个均值样本的置信区间,🖊最小二乘法计算变量估值,🖊使用非线性关系式表示线性回归。🖊实例:高等教育和数学高分的事件的关联性。

🍇Python线性回归示例

在统计学中,简单线性回归是具有单个解释变量的线性回归模型。 在简单线性回归中,我们根据一个变量的结果来预测另一个变量的分数。 标准变量 Y 是我们预测的变量。 预测变量 X 是我们用来进行预测的变量。 这种预测方法被称为简单回归,因为只有一个预测变量,结果,对于具有一个自变量和一个因变量的二维样本点,发现了一种线性函数,该线性函数将因变量的值预测为自变量的函数。
y = m x + c y=m x+c y=mx+c
这是简单的线性回归方程,其中 c 是常数,m 是斜率,描述了 x(自变量)和 y(因变量)之间的关系。 该系数可以是正值,也可以是负值,是自变量每变化 1 个单位,因变量的变化程度。
Y i = β 0 + β 1 X i Y_i=\beta_0+\beta_1 X_i Yi=β0+β1Xi
β 0 \beta 0 β0(y 截距)和 β 1 \beta 1 β1(斜率)是系数,其值代表预测值与实际值的准确性。

我们需要 Pandas 进行数据操作,NumPy 进行数学计算,MatplotLib 和 Seaborn 进行可视化。 Sklearn 库用于机器学习操作。

# Import libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from pandas.core.common import random_state
from sklearn.linear_model import LinearRegression

从此处下载数据集并将其上传到您的笔记本并将其读入 pandas 数据框。

# Get dataset
df_sal = pd.read_csv('/content/Sal_Data.csv')
df_sal.head()

现在我们已经准备好了数据,让我们详细分析和了解它的趋势。为此,我们可以首先描述以下数据 -

# Describe data
df_sal.describe()

我们还可以使用 Seaborn distplot 直观地了解数据的分布情况

# Data distribution
plt.title('Sal Distribution Plot')
sns.distplot(df_sal['Sal'])
plt.show()

distplot 或分布图显示数据分布的变化。 它通过将线条与直方图相结合来表示数据。然后我们检查数据间的关系 -

# Relationship between Salary and Experience
plt.scatter(df_sal['YearsExp'], df_sal['Sal'], color = 'lightcoral')
plt.title('Sal vs Exp')
plt.xlabel('Years of Exp')
plt.ylabel('Sal')
plt.box(False)
plt.show()

将数据集拆分为因变量/自变量

# Splitting variables
X = df_sal.iloc[:, :1]  # independent
y = df_sal.iloc[:, 1:]  # dependent

将数据拆分为训练/测试集

# Splitting dataset into test/train
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

训练回归模型

# Regressor model
regressor = LinearRegression()
regressor.fit(X_train, y_train)

预测结果

# Prediction result
y_pred_test = regressor.predict(X_test)     # predicted value of y_test
y_pred_train = regressor.predict(X_train)   # predicted value of y_train

绘制训练和测试结果

# Prediction on training set
plt.scatter(X_train, y_train, color = 'lightcoral')
plt.plot(X_train, y_pred_train, color = 'firebrick')
plt.title('Sal vs Exp (Training Set)')
plt.xlabel('Years of Exp')
plt.ylabel('Sal')
plt.legend(['X_train/Pred(y_test)', 'X_train/y_train'], title = 'Sal/Exp', loc='best', facecolor='white')
plt.box(False)
plt.show()

参阅:亚图跨际

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

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

相关文章

批量导入照片

clear clc close all % 创建或获取演示文稿对象 ppt Presentation(new_presentation.pptx, 演示文稿1.pptx); open(ppt); % 添加新的幻灯片 slide1 add(ppt, Title Slide); % 指定第一张图片路径 imagePath1 C:\Users\Administrator\Desktop\001\阵风因子-横风向图20…

Linux usermod命令教程:如何修改用户属性(附案例详解和注意事项)

Linux usermod命令介绍 usermod命令是Linux系统中用来修改用户属性的命令。它可以修改用户的登录名、家目录、登录shell、用户组等信息。 Linux usermod命令适用的Linux版本 usermod命令在大多数Linux发行版中都是可用的,包括Debian、Ubuntu、Alpine、Arch Linux…

即席查询笔记

文章目录 一、Kylin4.x1、Kylin概述1.1 定义1.2 Kylin 架构1.3 Kylin 特点1.4 Kylin4.0 升级 2、Kylin 环境搭建2.1 简介2.2 Spark 安装和部署2.3 Kylin 安装和部署2.4 Kylin 启动环境准备2.5 Kylin 启动和关闭 3、快速入门3.1 数据准备3.2 Kylin项目创建入门3.3 Hive 和 Kylin…

Canvas图形编辑器-数据结构与History(undo/redo)

Canvas图形编辑器-数据结构与History(undo/redo) 这是作为 社区老给我推Canvas,于是我也学习Canvas做了个简历编辑器 的后续内容,主要是介绍了对数据结构的设计以及History能力的实现。 在线编辑: https://windrunnermax.github.io/CanvasEditor开源地…

【个人博客搭建】(3)添加SqlSugar ORM

1、安装sqlsugar。在models下的依赖项那右击选择管理Nuget程序包,输入sqlsugarcore(因为我们用的是netcore,而不是net famework所以也对应sqlsugarcore),出来的第一个就是了,然后点击选择版本,一…

esp32联网获取时间和天气(四)

说明 本章节需要先学习之前(三)中获取当前时间方法,本文基于platformIO,需提前安装timelib库,可以参考之前(三) 代码 代码如下,需要一点http知识,可以自行百度 #incl…

密码学 | 椭圆曲线 ECC 密码学入门(四)

目录 正文 1 曲线方程 2 点的运算 3 求解过程 4 补充:有限域 ⚠️ 知乎:【密码专栏】动手计算双线性对(中) - 知乎 ⚠️ 写在前面:本文属搬运博客,自己留着学习。注意,这篇博客与前三…

代码随想录算法训练营Day56|LC583 两个字符串的删除操作LC72 编辑距离

一句话总结:看起来复杂,动规分析以后就比较简单。 原题链接:583 两个字符串的删除操作 本质就是求两个字符串的最短子序列的长度。已经做过,不再详解。 class Solution {public int minDistance(String word1, String word2) {/…

Day13-Java基础之运算符和表达式

运算符和表达式 运算符: 就是对常量或者变量进行操作的符号。 比如: - * / 表达式: 用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。 比如:a b 这个整体就是表达式。 而其中是算术运算符的…

Python(11):网络编程

文章目录 一、一些基本概念二、软件的开发架构(c/s架构和b/s架构)三、OSI模型四、socket套接字编程1.socket编程过程2.python中的socket编程 一、一些基本概念 来了解一些网络的基本概念 名词解释IP(互联网协议地址)IP用来标识网…

【华为OD机试C++】统计字符

《最新华为OD机试题目带答案解析》:最新华为OD机试题目带答案解析,语言包括C、C++、Python、Java、JavaScript等。订阅专栏,获取专栏内所有文章阅读权限,持续同步更新! 文章目录 描述输入描述输出描述示例代码描述 输入一行字符,分别统计出包含英文字母、空格、数字和其它…

linux设置程序在开机时自启动

​常见的有三种方式:1、/etc/rc.local文件中添加自启动命令 对于某些没有使用systemd的Linux发行版,可以在/etc/rc.local文件中添加自启动命令。请确保该文件具有可执行权限。例如,在/etc/rc.local文件中添加以下内容: /…

PCB基础介绍

一,单层板: 1,铜皮 和导线类似,提供电路板上的电信号传导路径。 因为铜具有良好的导热性能,因此铜皮还可以用于散热。在高功率电子设备中,通过在PCB上增加铜皮面积和散热片,可以提高散热效果…

【洛谷题解】 P6995 [NEERC2014] Knockout Racing

分析 按照题意模拟即可。 我们只需要依次找到第 i i i( 1 ≤ i ≤ N 1\le i\le N 1≤i≤N)辆车在 t j t_j tj​ 时刻时所在的位置,看这个位置是不是在区间 [ x j , y j ] [x_j,y_j] [xj​,yj​] 之中,如果是,答案…

数字晶体管数字三极管

数字晶体管 指内部集成了电阻的三极管,有PNP和NPN型,也有双管,双管有3种形式,其中一种是PNPNPN。下面以双NPN示例,好处是外面没有电阻,批量应用时,焊点费用就可省下不少。双NPN的用在串口自动下…

Flutter知识点 --- key

Flutter 中的 Key 对象在Widget树的构建、更新和状态管理中扮演着重要角色。它主要用于帮助Flutter框架在Widget树发生变动时正确地识别和保留Widget的对应关系,以及在某些情况下维护状态。下面是Key的作用与原理的详细阐述: Key的作用 标识Widget的唯一…

开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread

开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread 简介例程代码函数说明arv_camera_set_acquisition_modearv_camera_create_streamarv_camera_get_payloadarv_buffer_newarv_stream_push_bufferarv_camera_start_acquisi…

目标检测YOLO实战应用案例100讲-基于轻量化神经网络的目标检测算法研究与应用(续)

目录 轻量化目标检测模型的参数量化 4.1引言 4.2模型量化的原理及过程 4.3实验结果及分析

如何看待2023年图灵奖

目录 1.概述 2.计算复杂性理论 3.随机性和伪随机性 4.学术生涯和领导力 1.概述 图灵奖(Turing Award),全称A.M.图灵奖(ACM A.M Turing Award),是由计算机领域的最高学术机构——美国计算机协会&#xf…