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

代码

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# 自定义数据集
data = np.array([
    [0.8, 1.0],
    [1.7, 0.9],
    [2.7, 2.4],
    [3.2, 2.9],
    [3.7, 2.8],
    [4.2, 3.8],
    [4.2, 2.7]
])

# 提取特征(X)和目标值(y)
X = data[:, 0].reshape(-1, 1)  # 特征值(二维数组)
y = data[:, 1]  # 目标值

# 创建并训练线性回归模型
model = LinearRegression()
model.fit(X, y)

# 生成预测值
y_pred = model.predict(X)

# 可视化数据和拟合结果

plt.figure('show figure')
plt.xlim(0, 5)
plt.ylim(0, 5)

# 绘制原始数据点
plt.scatter(X, y, color='blue')

# 绘制回归直线
plt.plot(X, y_pred, color='red')

# 添加标题和标签
plt.xlabel("X")
plt.ylabel("y")

# 显示图例
plt.legend()

# 显示图形
plt.show()

实验结果

相关推荐
zh_xuan13 小时前
kotlin 高阶函数用法
开发语言·kotlin
程序员敲代码吗13 小时前
解析Kotlin中元组的多返回值实现
android·开发语言·kotlin
Java后端的Ai之路13 小时前
【 Java】-网络协议核心知识问答(比较全)
java·开发语言·网络协议
nimadan1221 小时前
**AI漫剧软件2025推荐,解锁高性价比创意制作新体验**
人工智能·python
姜太公钓鲸2331 天前
ROM就是程序存储器,实际的存储介质是Flash闪存。上述描述中的程序存储器是什么意思?
开发语言·javascript·ecmascript
Java后端的Ai之路1 天前
【JDK】-JDK 21 新特性内容
java·开发语言·后端·jdk·jdk21
wjs20241 天前
JavaScript 作用域
开发语言
yunhuibin1 天前
GoogLeNet学习
人工智能·python·深度学习·神经网络·学习
m0_531237171 天前
C语言-指针终阶
c语言·开发语言
散峰而望1 天前
C++ 启程:从历史到实战,揭开命名空间的神秘面纱
c语言·开发语言·数据结构·c++·算法·github·visual studio