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

济南网站优化建设品牌服务推广

济南网站优化建设,品牌服务推广,wordpress自动生成网站地图,上海4a广告公司排名往期目录 python在线性规划中的应用 文章目录 一、线性回归算法概述1.1 什么是线性回归?1.2 线性回归算法原理1.3 线性回归的应用场景 二、线性回归算法Python实现2.1 导入必要的库2.2 随机生成数据集2.3 拟合模型2.4 预测结果2.5 结果可视化 三、完整代码 线性回归…

往期目录

python在线性规划中的应用


文章目录

    • 一、线性回归算法概述
    • 1.1 什么是线性回归?
    • 1.2 线性回归算法原理
    • 1.3 线性回归的应用场景
  • 二、线性回归算法Python实现
    • 2.1 导入必要的库
    • 2.2 随机生成数据集
    • 2.3 拟合模型
    • 2.4 预测结果
    • 2.5 结果可视化
  • 三、完整代码


线性回归是机器学习中最基础的算法之一,其原理简单易懂,应用广泛。

回归分析(Regression Analysis)是统计学的数据分析方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测其它变量的变化情况。

线性回归算法(Linear Regression)的建模过程就是使用数据点来寻找最佳拟合线。公式,y = mx + c,其中 y 是因变量,x 是自变量,利用给定的数据集求 m 和 c 的值。
线性回归又分为两种类型,即 简单线性回归(simple linear regression),只有 1 个自变量;*多变量回归(multiple regression),至少两组以上自变量。

一、线性回归算法概述

1.1 什么是线性回归?

线性回归是一种常见的监督学习算法,用于预测一个连续的输出变量(也称为响应变量或因变量)和一个或多个输入变量(也称为自变量)之间的关系。这种关系可以用一条直线的方程来表达。

1.2 线性回归算法原理

线性回归基于最小二乘法,即寻找一条直线最小化观测数据和线之间的平方误差和。该算法的目标是找到一条最佳拟合直线,使得每个观测值与拟合直线之间的距离最小。

线性回归模型的数学表达式如下:

Y = β 0 + β 1 X 1 + β 2 X 2 + … … + β n ∗ X n Y = β_{0} + β_{1}X_{1} + β_{2}X_{2}+ ……+ β_{n}*X_{n} Y=β0+β1X1+β2X2+……+βnXn

其中, Y Y Y 是响应变量, X 1 X_{1} X1 X 2 X_{2} X2,……, X n X_{n} Xn 是自变量, β 0 , β 1 , β 2 , … … , β n β_{0},β_{1},β_{2},……,β_{n} β0β1β2……βn 是模型的参数。

线性回归算法主要包括两个步骤:

寻找最佳拟合直线的参数 β 0 , β 1 , β 2 , … … , β n β_{0},β_{1},β_{2},……,β_{n} β0β1β2……βn

使用模型对新的数据进行预测。

1.3 线性回归的应用场景

线性回归可以用于许多不同的领域,包括金融、经济学、营销、社会科学等。以下是一些可能的应用场景:

通过销售额和广告支出建立销售预测模型
分析股票市场的趋势和波动
将房价与房屋面积、地理位置等因素联系起来
预测医疗保健成本

二、线性回归算法Python实现

为了实现线性回归算法,我们需要将其转化为一个优化问题。我们需要使用机器学习库 scikit-learn 实现这个问题。下面是实现流程:

2.1 导入必要的库

在开始编写代码之前,我们需要导入一些必要的库,包括 pandas、numpy 和 sklearn 等。这些库使得我们可以轻松地进行数据处理、数学运算和模型训练。下面是导入库的代码示例:

import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression

2.2 随机生成数据集

在进行机器学习算法时,我们需要先准备合适的数据集。在这个例子中,我们使用一个包含房屋面积和价格的数据集。我们可以使用 pandas 库来加载数据集。下面是加载数据集的代码示例:

# 生成随机数据集
np.random.seed(0)  # 设置随机种子
X = np.random.rand(100, 1)
y = 2 + 3*X + np.random.randn(100, 1)

在上述代码中,我们使用 Pandas 的 read_csv() 方法从 CSV 文件中读取数据,并将其划分为输入变量(也称为特征)和输出变量。X 是包含所有输入变量的 NumPy 数组,y 是包含所有输出变量的一维 NumPy 数组。

2.3 拟合模型

接下来,我们需要创建一个 LinearRegression 对象并拟合模型。这个对象将用于训练模型和进行预测。下面是拟合模型的代码示例:

# 创建线性回归对象并拟合数据
reg = LinearRegression().fit(X, y)

上述代码中,我们创建了一个 LinearRegression 对象 regressor,并调用其 fit() 方法来拟合模型。这里的 fit() 方法会自动调整模型参数以最小化观测值和拟合直线之间的误差。

2.4 预测结果

有了拟合的模型后,我们就可以使用它来进行预测了。这里我们可以根据输入变量预测输出变量。下面是预测结果的代码示例:

# 预测新数据
X_new = np.array([[0.5]])
y_new = reg.predict(X_new)# 绘制数据散点图和拟合直线(使用 seaborn 库美化)
sns.set(style='whitegrid', font_scale=1.2)

在上述代码中,我们使用训练好的模型 regressor 来预测输出变量 y 的值。这里的 predict() 方法将根据输入变量 X 来返回相应的预测值 y_pred。

2.5 结果可视化

最后,在得到预测结果之后,我们可以将其可视化。这里我们使用 matplotlib 库来绘制散点图和拟合直线。下面是可视化结果的代码示例

plt.scatter(X, y, alpha=0.8, color='#3F7F4C')
plt.plot(X, reg.predict(X), color='#6D8F18', linewidth=2)
plt.grid(False)
plt.xlabel('xlabel',font)
plt.ylabel('ylabel',font)
plt.show()

在上述代码中,我们使用 matplotlib 库将原始数据绘制为散点图。然后,我们使用 predict() 方法计算出预测结果并绘制一条拟合直线。最后,我们添加一些标题和标签来说明图形内容,并使用 show() 方法展示图形。

三、完整代码

import numpy as np
from sklearn.linear_model import LinearRegression
import seaborn as sns
import matplotlib.pyplot as plt# 生成随机数据集
np.random.seed(0)  # 设置随机种子
X = np.random.rand(100, 1)
y = 2 + 3*X + np.random.randn(100, 1)fig,ax = plt.subplots(figsize=(8,6),dpi=300)
plt.tick_params(labelsize=20)
labels = ax.get_xticklabels() + ax.get_yticklabels()
[label.set_fontname('Times New Roman') for label in labels]
font = {'family': 'Times New Roman','size': 24}
# font_1 = {'family': 'Times New Roman','size': 14}
plt.rcParams["font.family"] = "Times New Roman"  #全图字号新罗马字体# 创建线性回归对象并拟合数据
reg = LinearRegression().fit(X, y)# 预测新数据
X_new = np.array([[0.5]])
y_new = reg.predict(X_new)# 绘制数据散点图和拟合直线(使用 seaborn 库美化)
sns.set(style='whitegrid', font_scale=1.2)plt.scatter(X, y, alpha=0.8, color='#3F7F4C')
plt.plot(X, reg.predict(X), color='#6D8F18', linewidth=2)
plt.grid(False)
plt.xlabel('xlabel',font)
plt.ylabel('ylabel',font)
plt.show()# 
# 打印模型参数和预测结果
print('模型参数:', reg.coef_, reg.intercept_)
print('预测结果:', y_new)

本文对于Python实现线性回归算法进行了详细的介绍。首先,我们介绍了线性回归的概念和原理,然后介绍了它的应用场景。最后,我们使用 scikit-learn 库来实现了线性回归算法,并对结果进行了可视化。
运行结果

http://www.15wanjia.com/news/3688.html

相关文章:

  • 什么是网站维护宣传网页制作
  • 常德市做公司网站的公司上海网站推广优化
  • 网站运营指标长尾词排名优化软件
  • 做网站注册哪些商标网站服务器搭建
  • 外贸淘宝网站建设网络热词2023流行语及解释
  • 政府网站建设基本情况seo的工具有哪些
  • 建湖做网站的价格百度广告服务商
  • 马鞍山做网站的公司公司运营策划方案
  • 电子商务行业网站最近的电脑培训班在哪里
  • 电子商务网站建设包括哪些内容方象科技的企业愿景
  • 郑州做企业网站哪家好百度推广时间段在哪里设置
  • 住建部网站2015年城市建设统计凡科建站手机版登录
  • 公司百度网站怎么做的衡水网站优化推广
  • 一个大型网站建设得多少钱磁力狗在线引擎
  • 做网站 内网怎么映射app推广注册招代理
  • 重庆企业网站设计制作搜索引擎优化的作用是什么
  • 简单的公司资料网站怎么做排名网站
  • 企业网站备案 网站服务内容外贸网站平台哪个好
  • 苏州个人网站制作公司google入口
  • 广州外贸营销网站建设公司互联网广告优势
  • wordpress如何静态化搜索seo引擎
  • 做响应式网站兼容哪几个尺寸深圳最新消息
  • 网站后台用java怎么做谷歌浏览器下载安装2022
  • 重庆网页制作西安整站优化
  • 襄阳微信网站建设seo网络优化平台
  • 个人是否可以申请网址网站seo是什么意思
  • 广州企业建站 网络服务排名app
  • 苏州市建设交易中心网站首页线上推广有哪些渠道
  • 做响应式网站一般都用哪些框架营销软文广告
  • 安阳县事业单位招聘长春网站优化方案