首页 > 编程语言 >机器学习:线性回归算法(一元和多元回归代码)

机器学习:线性回归算法(一元和多元回归代码)

时间:2024-08-18 20:53:27浏览次数:6  
标签:一元 模型 anli 算法 lr 线性 贷款 data 多元回归

1、线性回归 

        1、数据准备: 描述如何获取和准备数据。
        2、图像预处理: 包括图像读取。
        3、将数据划分为训练集和测试集。
        4、计算数据的相关系数矩阵。
        5、模型训练: 详细说明如何使用线性回归算法训练模型,包括参数设置和训练过程。
        6、模型评估: 描述如何使用测试集评估模型的性能,包括准确率的计算方法。
        7、数据检测:输入数据进行判断

2、实现一元回归

# 导入pandas库用于数据处理
import pandas as pd
# 导入线性回归模型
from sklearn.linear_model import LinearRegression

# 读取数据集
data = pd.read_csv("data.csv")

# 计算数据的相关系数矩阵
corr = data.corr()

# 创建线性回归模型实例
lr = LinearRegression()

# 提取广告投入作为特征变量,并将其转换为适合模型的数组形式
x = data[["广告投入"]].values.reshape(-1, 1)
# 提取销售额作为目标变量
y = data[["销售额"]]

# 使用广告投入数据训练线性回归模型
lr.fit(x, y)

# 使用训练好的模型进行预测
result = lr.predict(x)

# 计算模型的R^2分数,即决定系数,表示模型的拟合程度
score = lr.score(x, y)

# 计算线性回归模型的截距并保留两位小数
a = round(lr.intercept_[0], 2)
# 计算线性回归模型的斜率并保留两位小数
b = round(lr.coef_[0][0], 2)

# 使用模型对新的广告投入值进行预测
predict = lr.predict([[40], [50], [56]])

# 打印预测结果
print(predict)

        结果

        

3、多元线性回归

# 导入pandas库用于数据处理
import pandas as pd
# 导入线性回归模型
from sklearn.linear_model import LinearRegression

# 读取Excel文件中的案例数据
data_anli = pd.read_excel("案例.xlsx")

# 计算选定列之间的相关系数矩阵
# 包括不良贷款、各项贷款余额、本年累计应收贷款、贷款项目个数
corr_anli = data_anli[["不良贷款", "各项贷款余额", "本年累计应收贷款", "贷款项目个数"]].corr()

# 创建线性回归模型实例
lr_anli = LinearRegression()

# 提取特征变量,包括不良贷款、各项贷款余额、本年累计应收贷款、贷款项目个数
# 这些变量将用于预测本年固定资产投资额
x_anli = data_anli[["不良贷款", "各项贷款余额", "本年累计应收贷款", "贷款项目个数"]]

# 提取目标变量,即本年固定资产投资额
y_anli = data_anli[["本年固定资产投资额"]]

# 使用特征变量和目标变量训练线性回归模型
lr_anli.fit(x_anli, y_anli)

# 计算模型的R^2分数,表示模型对数据的拟合程度
score_anli = lr_anli.score(x_anli, y_anli)

# 打印模型的R^2分数
print(score_anli)

# 使用训练好的模型对一组新的数据进行预测
# 这组数据包括不良贷款80、各项贷款余额60、本年累计应收贷款60、贷款项目个数20
print(lr_anli.predict([[80, 60, 60, 20]]))

# 对两组新的数据进行预测,每组数据包括不良贷款、各项贷款余额、本年累计应收贷款、贷款项目个数
# 第一组数据:不良贷款60、各项贷款余额70、本年累计应收贷款50、贷款项目个数20
# 第二组数据:不良贷款70、各项贷款余额80、本年累计应收贷款40、贷款项目个数32
print(lr_anli.predict([[60, 70, 50, 20], [70, 80, 40, 32]]))

        结果

标签:一元,模型,anli,算法,lr,线性,贷款,data,多元回归
From: https://blog.csdn.net/mohanyelong/article/details/141304479

相关文章

  • 代码随想录算法训练营第11天|二叉树part01
    理论基础需要了解二叉树的种类,存储方式,遍历方式以及二叉树的定义二叉树纯理论方面还是比较简单,以前都学过,没什么可讲的。满二叉树就是满了,完全二叉树就是层满了(而且是左边)。平衡二叉搜索树就是左右深度绝对值差1。一般采用链式存储方式,顺序存储结构如果父节点的数组......
  • 代码随想录算法训练营第10天|栈与队列part02
    150.逆波兰表达式求值本题不难,但第一次做的话,会很难想到,所以先看视频,了解思路再去做题classSolution{public:intevalRPN(vector<string>&tokens){stack<longlong>st;for(conststring&token:tokens){if(token=="+......
  • AIGC时代算法工程师的面试秘籍(第二十式2024.8.5-8.18) |【三年面试五年模拟】
    写在前面【三年面试五年模拟】旨在整理&挖掘AI算法工程师在实习/校招/社招时所需的干货知识点与面试方法,力求让读者在获得心仪offer的同时,增强技术基本面。也欢迎大家提出宝贵的优化建议,一起交流学习......
  • 【数据结构与算法】如何构建最小堆
    最小堆的定义最小堆,作为一种独特且重要的数据结构,它是一种特殊的二叉树。在这种二叉树中,有一个关键的规则:每一个父节点所存储的值,都必然小于或者等于其对应的子节点的值。这一规则确保了根节点总是承载着整个堆中的最小数值。例如,下面这样一个简单的结构就是最小堆:1......
  • 【优化算法】遗传算法及加速遗传算法(超详细更新中)
    一·遗传算法基本概念GeneticAlgorithm,GA:起源于对生物系统进行的计算机模拟研究。最早是由美国密歇根大学Holland教授及其学生于20世纪60年代末到70年代初提出。是借鉴孟德尔遗传学说模仿生物进化发展起来的随机全局搜索和优化方法。本质是高效,并行,全局搜索的方法。遗传算......
  • 粒子群算法初步与在求函数最值上的应用
    粒子群算法是一种优化算法,也是一种启发式算法。按照预定的策略实行搜索,在搜索过程中获取的中间信息不用来改进策略,称为盲目搜索;反之,如果利用了中间信息来改进搜索策略则称为启发式搜索。蒙特卡罗模拟用来求解优化问题就是盲目搜索,还有大家熟悉的枚举法也是盲目搜索。因为其并没有......
  • 【卡车-多无人机送货】基于健康距离平衡的进化算法的卡车-多无人机送货系统研究(Matlab
       ......
  • 虹软科技25届校招笔试算法 A卷
    目录1.第一题2.第二题3.论述题⏰时间:2024/08/18......
  • 离线算法 莫队算法进阶
    前算是把之前的坑填一填吧。这篇文章主要包含带修莫队,二维莫队等莫队算法的进阶应用,观看前请确保您已经熟练掌握了基本的莫队算法,不会的可以戳这里。带修莫队众所周知,普通莫队是不支持修改的,因为我们为了得到更优的时间复杂度,需要将每次询问离线下来,打乱顺序。不过我们也......
  • CORDIC算法解释及FPGA实现(圆坐标系)
    CORDIC算法原理阐述CORDIC(CoordinateRotationDigitalComputer)算法,即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数、双曲线、指数、对数的计算。伪旋转在笛卡尔坐标平面(下方左图)由\(({x_1},{y_1})\)旋转θ角度至\(({x_2},{y_2})\)得到:\(({\hat......