简单回归模型建立(下)

目录

数据准备

特征选择

目标变量

模型选择

示例代码

​编辑分析结果


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

选择不同的目标变量,例如"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. 结果解释与应用:最后,解释模型参数的含义,并将模型应用于实际问题中进行预测或决策支持。

相关推荐
_Kayo_1 小时前
node.js 学习笔记3 HTTP
笔记·学习
wyiyiyi4 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8244 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员4 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
星星火柴9365 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
AntBlack5 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt
Cx330❀7 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
杜子不疼.7 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习
小幽余生不加糖7 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频