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

十堰吉安营销型网站优化营销企业网站建设报价

十堰吉安营销型网站优化营销,企业网站建设报价,唐山移动互联网开发,微信第三方开发平台一、线性回归的定义 线性回归(Linear regression)用来建模和分析变量之间线性关系,适用于预测连续性目标变量。它通过拟合成一条线来描述自变量和因变量之间的线性关系。自变量可以有多个,只有一个自变量的时候,成为单…

一、线性回归的定义

        线性回归(Linear regression)用来建模和分析变量之间线性关系,适用于预测连续性目标变量。它通过拟合成一条线来描述自变量和因变量之间的线性关系。自变量可以有多个,只有一个自变量的时候,成为单变量回归,自变量多于一个时,成为多元回归。

通用的公式为:

y = \beta_{0} + \beta _{1}x_{1} + \beta _{2}x_{2} + \beta _{3}x_{3} + \cdots + \beta _{n}x_{n}

其中 y 表示因变量,x 表示自变量,下标 n 是表示有几个因变量。\beta_{0}\cdots \beta_{n} 表示回归系数,\beta _{0}表示拟合出来的线的截距。

使用线性回归来预测目标变量的前提是,因变量和自变量呈现线性的关系,如下图:

二、代码实现 

1、使用到的库:

sklearn:是一个用于机器学习的python开源库,具有丰富的机器学习算法和工具,防范用于数据挖掘、数据分析、测试建模等领域。

(1)算法方面:涵盖了分类、回归、聚类、降维等多种机器学习。

(2)提供一些列数据预处理工具。

(3)多种评估指标和模型选择方法。

(4)使用joblib或者pickle模块可以将训练好的模型参数保存下来。

matplotlib:一个功能强大的python绘图库,主要用于数据的可视化。

2、代码实现:

(1)单变量回归,只有一个自变量

import pickle
from matplotlib import pyplot as plt
from skimage.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import numpy as np# 随机生成数据
def load_data():x_data = np.random.rand(100, 1)y = x_data * 5 + 0.5 * np.random.randn(100, 1)x_train, x_val, y_train, y_val = train_test_split(x_data, y, test_size=0.2)return x_train, x_val, y_train, y_val# 绘制预测结果与真是标签的散点图
def draw_result(y_test, y_pred):plt.scatter(y_test, y_pred, color='blue')plt.plot([min(y_pred), max(y_pred)], [min(y_pred), max(y_pred)], linestyle='--', color='red', linewidth=2,label='Regression Line')plt.title('Actual vs Predicted Profit')plt.xlabel('Actual Profit')plt.ylabel('Predicted Profit')plt.show()def train(x_train, x_test, y_train, y_test):model = LinearRegression()# 训练模型model.fit(x_train, y_train)# 对验证集测试y_pred = model.predict(x_test)mse = mean_squared_error(y_test, y_pred)print(f'误差为:{mse}')# 绘制结果的散点图draw_result(y_test, y_pred)# 保存模型with open('model.pkl', 'wb') as f_model:pickle.dump(model, f_model)# 使用训练出来的模型推理新数据
def predict(x_test, y_test):with open('model.pkl', 'rb') as file:model_best = pickle.load(file)pred = model_best.predict(x_test)draw_result(y_test, pred)return predif __name__ == '__main__':# 生成数据x_train, x_val, y_train, y_val = load_data()# 训练train(x_train, x_val, y_train, y_val)# 生成测试数据x_test_data = np.random.rand(10,1)y_test_data = x_test_data * 5 + 0.5 * np.random.randn(10, 1)# 推理predict_result = predict(x_test_data, y_test_data)

(2)多元回归,只需要将x的数据修改成多元的就可以了,其他的都是一样的。

import pickle
from matplotlib import pyplot as plt
from skimage.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import numpy as np# 随机生成数据
def load_data():x_data = np.random.rand(100, 2)y = 5 * x_data[:, 0:1] + 3 * x_data[:, 1:2] + 0.5 * np.random.randn(100, 1)x_train, x_val, y_train, y_val = train_test_split(x_data, y, test_size=0.2)return x_train, x_val, y_train, y_val# 绘制预测结果与真是标签的散点图
def draw_result(y_test, y_pred):plt.scatter(y_test, y_pred, color='blue')plt.plot([min(y_pred), max(y_pred)], [min(y_pred), max(y_pred)], linestyle='--', color='red', linewidth=2,label='Regression Line')plt.title('Actual vs Predicted Profit')plt.xlabel('Actual Profit')plt.ylabel('Predicted Profit')plt.show()def train(x_train, x_test, y_train, y_test):model = LinearRegression()# 训练模型model.fit(x_train, y_train)# 对验证集测试y_pred = model.predict(x_test)mse = mean_squared_error(y_test, y_pred)print(f'误差为:{mse}')print(y_pred.shape)print(y_test.shape)# 绘制结果的散点图draw_result(y_test, y_pred)# 保存模型with open('model.pkl', 'wb') as f_model:pickle.dump(model, f_model)# 使用训练出来的模型推理新数据
def predict(x_test, y_test):with open('model.pkl', 'rb') as file:model_best = pickle.load(file)pred = model_best.predict(x_test)draw_result(y_test, pred)return predif __name__ == '__main__':# 生成数据x_train, x_val, y_train, y_val = load_data()# 训练train(x_train, x_val, y_train, y_val)# 生成测试数据x_test_data = np.random.rand(10,2)y_test_data = x_test_data[:, 0:1] * 5 + x_test_data[:, 1:2] * 3 + 0.5 * np.random.randn(10, 1)# 推理predict_result = predict(x_test_data, y_test_data)

http://www.cadmedia.cn/news/14535.html

相关文章:

  • 域名查询by21777深圳seo优化推广
  • 网站维护内容东莞网站推广运营公司
  • 网站建设 中企动力 东莞青岛网站seo诊断
  • 怎么查网站有没有做推广推广方案流程
  • 开发区网站建设在哪香蕉和忘忧草对焦虑的影响
  • 溧阳建设集团有限公司网站seo搜索引擎优化人才
  • 切削工具东莞网站建设免费网站 推广网站
  • 那个网站制作比较好微信营销号
  • 离石网站建设黄山网站seo
  • 室内设计平面图一套windows优化大师有必要安装吗
  • 石龙镇网站建设公司网站制作建设公司
  • 如何展示网站操作流程自学seo能找到工作吗
  • 建一个o2o网站站长之家音效
  • 臭臭猫网站建设百度seo优化按年收费
  • 石家庄软件外包排名优化课程
  • 企业网站建设公司宣武seo技术培训
  • 中国企业500强2023郑州网站优化seo
  • 武汉今日新闻最新如何进行搜索引擎优化?
  • 个人备案能做什么网站南京seo报价
  • 南通网站建设方案开发推广公众号
  • 做网站建设推荐照片查询百度图片搜索
  • 建设银行 商户网站打不开2022百度搜索风云榜
  • 网站基础建设和管理中文搜索引擎大全
  • 成品软件网站大全推荐培训机构需要哪些证件
  • 全球知名购物网站有哪些写软文一篇多少钱合适
  • 孟州网站建设最近发生的热点事件
  • 网站,商城,app+建设发帖推广平台
  • 江西网站建设公司费用推广普通话手抄报简单漂亮
  • wordpress 图片缩略图seo入门课程
  • 网站空间要多少钱关键词排名点击器