简单回归模型建立(下)

目录

数据准备

特征选择

目标变量

模型选择

示例代码

​编辑分析结果


上部分对数据进行了分析以及可视化

选择不同的目标变量,例如"Cost of Living Index"作为我们要预测的目标。然后,我们可以使用其他相关的指标作为特征来训练模型。例如,考虑使用"Rent Index","Groceries Index","Restaurant Price Index","Local Purchasing Power Index"等作为特征。

下面是一个简单的步骤来构建这样一个模型:

  1. 数据准备:选择特征和目标变量,对数据进行预处理。
  2. 模型选择:选择一个合适的机器学习模型。
  3. 模型训练:使用数据训练模型。
  4. 模型评估:评估模型的性能。

数据准备

首先,需要将数据分为特征(X)和目标变量(y)。在这个例子中,假设我们的目标是预测"Cost of Living Index"。

特征选择

我们可以选择以下几个特征:

  • Rent Index
  • Groceries Index
  • Restaurant Price Index
  • Local Purchasing Power Index

目标变量

使用"Cost of Living Index"作为目标变量。

模型选择

对于这种回归问题,可以尝试使用线性回归模型,因为它是简单且易于理解的。如果线性回归的效果不佳,可以尝试更复杂的模型,比如决策树回归或随机森林回归。

示例代码

Python代码示例:

python 复制代码
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# 加载数据
data_path = r'D:\机器学习\数据集:国家划分的生活成本\Cost_of_Living_Index_by_Country_2024.csv'
df = pd.read_csv(data_path)

# 特征选择
features = ['Rent Index', 'Groceries Index', 'Restaurant Price Index', 'Local Purchasing Power Index']
X = df[features]
y = df['Cost of Living Index']

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

# 预测
predictions = model.predict(X_test)

# 评估模型
mse = mean_squared_error(y_test, predictions)
r2 = r2_score(y_test, predictions)

print(f'Mean Squared Error: {mse}')
print(f'R^2 Score: {r2}')

分析结果

在得到模型的结果后,可以查看均方误差(Mean Squared Error, MSE)和决定系数(R^2 Score)来评估模型的好坏。均方误差越低越好,而决定系数接近1则表明模型拟合得很好。

Mean Squared Error: 8.094471876337387

R^2 Score: 0.9737474308220024

可以看出0.97还是非常接近1的

建立简单回归模型的步骤可以总结如下:

  1. 确定变量:首先,需要明确自变量(解释变量)和因变量(响应变量)。例如,在广告费用与销售额的关系中,广告费用是自变量,销售额是因变量。

  2. 数据预处理:在进行建模之前,通常需要对数据进行清洗和准备。这包括处理缺失值、异常值以及确保数据满足线性关系的基本假设。

  3. 绘制散点图:通过绘制散点图来可视化自变量和因变量之间的关系,初步判断它们之间是否存在线性关系。

  4. 建立模型 :使用适当的统计软件或编程语言(如R、Python等)中的函数来拟合回归模型。在R中,可以使用lm()函数;在Python中,可以使用sklearn库中的LinearRegression类。

  5. 模型拟合:利用数据拟合回归模型,得到回归系数(β0和β1),其中β0是截距,β1是斜率。

  6. 模型检验:检查模型的显著性和拟合优度,包括R²值、F检验、t检验等统计指标,以评估模型的有效性。

  7. 预测与诊断:使用模型进行预测,并对模型进行诊断,检查残差分布是否符合正态分布,是否存在异方差性等问题。

  8. 模型优化:根据模型诊断结果,可能需要调整模型参数或使用其他技术(如正则化)来改善模型性能。

  9. 结果解释与应用:最后,解释模型参数的含义,并将模型应用于实际问题中进行预测或决策支持。

相关推荐
databook5 分钟前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar1 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780511 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_1 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机8 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机9 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i9 小时前
drf初步梳理
python·django
每日AI新事件9 小时前
python的异步函数
python