python 线性回归模型预测国民GDP值

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: python 线性回归模型预测国民GDP值

使用线性回归模型预测国民GDP

 

数据准备

1. import numpy as np
2. import pandas as pd
3. import matplotlib.pyplot as plt
4. 
5. plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
6. plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
7. 
8. df = pd.read_excel('./tax.xlsx', index_col='年份')
9. df.head(10)
tax GDP
年份
1978 519.28 3645.22
1979 537.82 4062.58
1980 571.70 4545.62
1981 629.89 4889.46
1982 700.02 5330.45
1983 775.59 5985.55
1984 947.35 7243.75
1985 2040.79 9040.74
1986 2090.73 10274.38
1987 2140.36 12050.62

数据处理

1. df.describe()
2. # 对数据进行描述分析

1. plt.figure(figsize=(10.,6))  # 设置图框大小尺寸
2. 
3. plt.scatter(df.iloc[:,1], df.iloc[:,0], c='r', marker='o')
4. 
5. plt.xlabel('国民生产总值')
6. plt.ylabel('税收')
7. plt.title('税收与国民生产总值')
8. 
9. plt.show()

数据建模

1. np.array(df.iloc[:,1]).reshape([-1,1])#GDP
2. np.array(df.iloc[:,0]).reshape([-1,1])#tax
1. # 计算
2. 
3. x = np.array(df.iloc[:, 1]).reshape([-1, 1]) # 国民生产总值
4. y = np.array(df.iloc[:, 0]).reshape([-1,1]) # 税收
5. 
6. b = ((x - x.mean()) * (y - y.mean())).sum() / np.power(x - x.mean(), 2).sum()
7. a = y.mean() - b * x.mean()
8. 
9. print("手工计算的公式的斜率为{} 截距为{}".format(str(b)[:8], str(a)[:8]))

 

1. x = np.array(df.iloc[:, 1]) # 国民生产总值
2. y = np.array(df.iloc[:, 0]) # 税收
3. cols = ['GDP']
4. x = pd.DataFrame(x, columns=cols)
5. x
1. #利用第三方sklearn计算
2. from sklearn.linear_model import LinearRegression
3. 
4. model = LinearRegression()
5. reg = model.fit(x, y)
6. #回归系数 回归截距项
7. [reg.coef_.round(4), reg.intercept_.round(4)]

 

 

绘制拟合曲线

1. #利用sklearn库函数计算拟合度R2
2. from sklearn.metrics import r2_score
3. 
4. y_pred=reg.predict(x)
5. r2=r2_score(y,y_pred).round(6)
6. r2

 

1. #3绘制拟合曲线
2. plt.figure()
3. 
4. x = np.array(df.iloc[:, 1]) # 国民生产总值
5. y = np.array(df.iloc[:, 0]) # 税收
6. 
7. plt.scatter(x, y, label='actual', c='r', marker='o')
8. 
9. plt.plot(x, y_pred)
10. 
11. plt.xlabel('国民生产总值')
12. plt.ylabel('税收')
13. plt.title('税收与国民生产总值')
14. 
15. plt.show()

回归分析是确定预测属性(数值型)与其他变量间相互依赖的定量。关系的最常用的统计学方法。包括线性回归、非线性回归、Logistic回归、岭回归、主成分回归、偏最小二乘回归等模型。

 

相关文章
|
3天前
|
机器学习/深度学习 数据采集 数据可视化
使用Python实现深度学习模型:智能舆情监测与分析
【8月更文挑战第16天】 使用Python实现深度学习模型:智能舆情监测与分析
15 1
|
5天前
|
机器学习/深度学习 传感器 自动驾驶
使用Python实现深度学习模型:智能车联网与自动驾驶
【8月更文挑战第14天】 使用Python实现深度学习模型:智能车联网与自动驾驶
26 10
|
3天前
|
机器学习/深度学习 JSON API
【Python奇迹】FastAPI框架大显神通:一键部署机器学习模型,让数据预测飞跃至Web舞台,震撼开启智能服务新纪元!
【8月更文挑战第16天】在数据驱动的时代,高效部署机器学习模型至关重要。FastAPI凭借其高性能与灵活性,成为搭建模型API的理想选择。本文详述了从环境准备、模型训练到使用FastAPI部署的全过程。首先,确保安装了Python及相关库(fastapi、uvicorn、scikit-learn)。接着,以线性回归为例,构建了一个预测房价的模型。通过定义FastAPI端点,实现了基于房屋大小预测价格的功能,并介绍了如何运行服务器及测试API。最终,用户可通过HTTP请求获取预测结果,极大地提升了模型的实用性和集成性。
11 1
|
5天前
|
算法 Ubuntu 机器人
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
14 1
|
6天前
|
机器学习/深度学习 传感器 物联网
使用Python实现深度学习模型:智能物联网与智能家居
【8月更文挑战第13天】 使用Python实现深度学习模型:智能物联网与智能家居
16 2
|
7天前
|
机器学习/深度学习 数据采集 算法框架/工具
使用Python实现深度学习模型:智能人力资源管理与招聘
【8月更文挑战第12天】 使用Python实现深度学习模型:智能人力资源管理与招聘
18 2
|
1天前
|
机器学习/深度学习 数据采集 数据可视化
使用Python实现深度学习模型:智能娱乐与虚拟现实技术
【8月更文挑战第18天】 使用Python实现深度学习模型:智能娱乐与虚拟现实技术
5 0
|
2天前
|
机器学习/深度学习 数据采集 数据可视化
使用Python实现深度学习模型:智能城市交通管控与优化
【8月更文挑战第17天】 使用Python实现深度学习模型:智能城市交通管控与优化
3 0
|
4天前
|
机器学习/深度学习 传感器 数据采集
使用Python实现深度学习模型:智能工业与工业4.0技术
【8月更文挑战第15天】 使用Python实现深度学习模型:智能工业与工业4.0技术
14 0
|
7天前
|
存储 数据可视化 数据挖掘
【python】Python考研分数 线性回归模型预测(源码+论文)【独一无二】
【python】Python考研分数 线性回归模型预测(源码+论文)【独一无二】