使用 Python 上传数据集、读取数据并进行简单线性回归

DDD
发布: 2025-07-16 17:34:12
原创
383人浏览过

使用 python 上传数据集、读取数据并进行简单线性回归

本文档旨在指导读者使用 Python 上传和读取数据集,并使用 Pandas 库进行简单线性回归分析。主要内容包括使用 Pandas 读取 Excel 文件,并演示如何构建一个简单的线性回归模型,其中涉及数据预处理、模型训练和结果展示的关键步骤。

1. 数据读取与准备

首先,我们需要使用 Pandas 库读取 Excel 文件。确保你已经安装了 Pandas 库。如果没有,可以使用 pip install pandas 命令进行安装。

import pandas as pd

# 定义 Excel 文件路径
excel_file_path = "/Users/zeinabhassano/Documents/Master's_thesis/Gender Inequality/Labor data/ILO modelled estimates/updated/employment by sex and age - ilo modelled estimates (thousands) - annual.xlsx"

# 使用 Pandas 读取 Excel 文件
try:
    df = pd.read_excel(excel_file_path)
    print("数据成功读取!")
    print(df.head()) # 显示前几行数据
except FileNotFoundError:
    print(f"错误:文件 {excel_file_path} 未找到。请检查文件路径是否正确。")
except Exception as e:
    print(f"读取文件时发生错误:{e}")
登录后复制

注意事项:

  • 确保文件路径正确。
  • 如果 Excel 文件包含多个 sheet,可以使用 sheet_name 参数指定要读取的 sheet。例如:pd.read_excel(excel_file_path, sheet_name='Sheet1')
  • try...except 块用于处理文件未找到或读取文件时可能发生的其他异常。

2. 数据预处理

在进行线性回归之前,我们需要对数据进行预处理。这包括处理缺失值、将性别变量转换为数值型变量(例如,男性为 0,女性为 1),以及选择合适的特征和目标变量。

立即学习Python免费学习笔记(深入)”;

# 假设数据集中包含 'employment' 列(就业人数)和 'sex' 列(性别)

# 检查缺失值
print("缺失值统计:")
print(df.isnull().sum())

# 处理缺失值 (例如,使用均值填充)
df['employment'] = df['employment'].fillna(df['employment'].mean())

# 将性别变量转换为数值型变量
df['sex'] = df['sex'].map({'Male': 0, 'Female': 1})  # 假设原始数据中男性为 'Male',女性为 'Female'

# 打印处理后的数据信息
print("\n处理后的数据信息:")
print(df.head())
登录后复制

注意事项:

  • 缺失值的处理方法有很多种,例如填充均值、中位数、删除包含缺失值的行等。选择哪种方法取决于数据的具体情况。
  • 性别变量的映射关系需要根据实际数据进行调整。

3. 线性回归模型构建

现在,我们可以使用 scikit-learn 库构建线性回归模型。确保你已经安装了 scikit-learn 库。如果没有,可以使用 pip install scikit-learn 命令进行安装。

怪兽AI数字人
怪兽AI数字人

数字人短视频创作,数字人直播,实时驱动数字人

怪兽AI数字人 44
查看详情 怪兽AI数字人
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# 定义特征和目标变量
X = df[['sex']]  # 性别作为特征
y = df['employment']  # 就业人数作为目标变量

# 将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 80%训练集,20%测试集

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

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

# 在测试集上进行预测
y_pred = model.predict(X_test)

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

print("\n模型评估:")
print(f"均方误差 (MSE): {mse}")
print(f"R方 (R-squared): {r2}")

# 输出模型系数
print(f"\n模型系数 (Coefficient): {model.coef_}")
print(f"模型截距 (Intercept): {model.intercept_}")
登录后复制

代码解释:

  • train_test_split 函数用于将数据集划分为训练集和测试集,test_size 参数指定测试集的大小,random_state 参数用于设置随机种子,保证每次运行结果一致。
  • LinearRegression 类用于创建线性回归模型。
  • fit 方法用于训练模型。
  • predict 方法用于在测试集上进行预测。
  • mean_squared_error 函数用于计算均方误差,r2_score 函数用于计算 R 方。
  • model.coef_ 和 model.intercept_ 分别表示模型的系数和截距。

注意事项:

  • 本例中只使用了一个特征(性别)进行线性回归,实际应用中可以使用多个特征。
  • 模型的评估指标有很多种,例如均方误差、R 方、平均绝对误差等。选择哪种指标取决于具体问题。
  • 线性回归模型假设特征和目标变量之间存在线性关系,如果数据不满足这个假设,可能需要使用其他模型。

4. 结果解释与总结

通过上述步骤,我们成功地使用 Python 读取了 Excel 数据,并构建了一个简单的线性回归模型。 模型评估结果可以帮助我们了解模型在预测就业人数方面的表现。模型系数和截距则可以帮助我们理解性别对就业人数的影响方向和程度。

例如,如果模型系数为正,则表示女性的就业人数高于男性;如果模型系数为负,则表示男性的就业人数高于女性。系数的绝对值越大,表示性别对就业人数的影响越大。

总结:

本文档提供了一个使用 Python 进行简单线性回归的完整流程,包括数据读取、预处理、模型构建和评估。通过学习本文档,读者可以掌握使用 Pandas 和 scikit-learn 进行数据分析和建模的基本技能。在实际应用中,需要根据具体问题选择合适的特征、模型和评估指标,并进行适当的调优。

以上就是使用 Python 上传数据集、读取数据并进行简单线性回归的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号