使用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()
相关推荐
qq_340474028 小时前
0.1 tensorflow例1-梯度下降法
人工智能·python·tensorflow
紫钺-高山仰止8 小时前
【Pyzmq】python 跨进程线程通信 跨平台跨服务器通信
服务器·python·github
java1234_小锋9 小时前
[免费]基于Python的在线音乐网站系统(后端Django)【论文+源码+SQL脚本】
python·在线音乐·django音乐·python音乐·python在线音乐
无垠的广袤10 小时前
【LattePanda Mu 开发套件】AI 图像识别网页服务器
服务器·人工智能·python·单片机·嵌入式硬件·物联网
Derrick__110 小时前
Python常用三方模块——Pillow
开发语言·python·pillow
芒果量化10 小时前
ML4T - 第7章第7节 逻辑回归拟合宏观数据Logistic Regression with Macro Data
人工智能·机器学习·逻辑回归·线性回归
小蕾Java10 小时前
PyCharm保姆级详细使用手册(Python新手快速上手篇)
ide·python·pycharm
阿星_10 小时前
PyCharm项目依赖库的备份与还原方法
linux·服务器·python
youcans_10 小时前
【Trae】Trae 插件实战手册(1)PyCharm 安装 Trae
人工智能·python·pycharm·ai编程·trae
xuegao080710 小时前
WSL安装并配置到pyCharm
ide·python·pycharm