使用scikit-learn中的线性回归包对自定义数据集进行拟合

1. 导入必要的库

首先,需要导入所需的库,包括pandas用于数据处理,numpy用于数值计算,以及scikit-learn中的线性回归模型。

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

2. 加载自定义数据集

假设有一个CSV文件custom_dataset.csv,其中包含特征(自变量)和标签(因变量)。将使用pandas读取这个文件。

python 复制代码
# 加载自定义数据集
data = pd.read_csv('custom_dataset.csv')

# 假设数据集中有两列:'feature'为特征,'target'为标签
X = data[['feature']].values  # 特征需要是二维数组
y = data['target'].values     # 标签

3. 分割数据集

为了评估模型的性能,将数据集分为训练集和测试集。

python 复制代码
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

4. 创建并训练线性回归模型

使用scikit-learn中的LinearRegression类创建线性回归模型,并使用训练集进行训练。

python 复制代码
# 创建线性回归模型
model = LinearRegression()

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

5. 进行预测并评估模型

使用测试集进行预测,并评估模型的性能。将使用均方误差(MSE)和决定系数(R²)作为评估指标。

python 复制代码
# 进行预测
y_pred = model.predict(X_test)

# 计算均方误差和决定系数
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

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

6. 可视化结果

为了更直观地了解模型的拟合效果,可以绘制散点图来显示真实值和预测值。

python 复制代码
# 可视化结果
plt.scatter(X_test, y_test, color='black', label='Actual data')
plt.plot(X_test, y_pred, color='blue', linewidth=3, label='Fitted line')

plt.xlabel('Feature')
plt.ylabel('Target')
plt.title('Linear Regression Fit')
plt.legend()
plt.show()
相关推荐
ZZHow10246 小时前
02OpenCV基本操作
python·opencv·计算机视觉
计算机学长felix6 小时前
基于Django的“酒店推荐系统”设计与开发(源码+数据库+文档+PPT)
数据库·python·mysql·django·vue
站大爷IP6 小时前
Python随机数函数全解析:5个核心工具的实战指南
python
悟乙己6 小时前
使用 Python 中的强化学习最大化简单 RAG 性能
开发语言·python·agent·rag·n8n
max5006006 小时前
图像处理:实现多图点重叠效果
开发语言·图像处理·人工智能·python·深度学习·音视频
AI原吾6 小时前
玩转物联网只需十行代码,可它为何悄悄停止维护
python·物联网·hbmqtt
云动雨颤6 小时前
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
python·单元测试
SunnyDays10117 小时前
Python 实现 HTML 转 Word 和 PDF
python·html转word·html转pdf·html转docx·html转doc
跟橙姐学代码7 小时前
Python异常处理:告别程序崩溃,让代码更优雅!
前端·python·ipython
蓝纹绿茶8 小时前
Python程序使用了Ffmpeg,结束程序后,文件夹中仍然生成音频、视频文件
python·ubuntu·ffmpeg·音视频