Python最小二乘法:用SciPy库实现线性回归
Python最小二乘法:用SciPy库轻松实现
在数据科学领域,最小二乘法是一种常用的回归分析技术,用于找到最符合给定数据集的直线或曲线。Python强大的SciPy库为实现最小二乘法提供了便捷的工具。
使用'scipy.optimize.leastsq'
'scipy.optimize'模块中的'leastsq'函数是执行最小二乘拟合的强大工具。以下是如何使用它来进行线性回归的示例:
import numpy as np
from scipy.optimize import leastsq
# 定义目标函数
def function_to_fit(parameters, x_data, y_data):
a, b = parameters
y_fit = a * x_data + b
return y_fit - y_data
# 提供输入数据
x_data = np.array([1, 2, 3, 4, 5])
y_data = np.array([3, 5, 7, 9, 11])
# 初始参数猜测值
initial_guess = [1, 1]
# 使用最小二乘法拟合
optimized_parameters, _ = leastsq(function_to_fit, initial_guess, args=(x_data, y_data))
# 输出拟合结果
a_opt, b_opt = optimized_parameters
print(f'拟合结果:a = {a_opt}, b = {b_opt}')
在这个例子中:
- 我们定义了要拟合的目标函数'function_to_fit'。
- 提供了输入数据'x_data'和'y_data'。
- 设置了初始参数猜测值'initial_guess'。
- 调用'leastsq'函数执行最小二乘拟合,并将结果存储在'optimized_parameters'中。
- 最后,我们打印出拟合的参数值。
请记住,这只是一个简单的线性回归示例。'scipy.optimize'模块提供了丰富的函数,可以处理更复杂的最小二乘问题。
原文地址: https://www.cveoy.top/t/topic/RDk 著作权归作者所有。请勿转载和采集!