最小二乘法python数据集
时间: 2023-11-13 07:05:42 浏览: 106
可以使用sklearn库中的datasets模块来获取一些自带的数据集,例如波士顿房价数据集。以下是使用最小二乘法进行线性回归的示例代码:
```python
from sklearn.datasets import load_boston
import numpy as np
# 加载波士顿房价数据集
boston = load_boston()
# 取出数据集中的特征和标签
X = boston.data
y = boston.target
# 添加一列全为1的特征,用于计算截距
X = np.hstack([np.ones((X.shape[0], 1)), X])
# 计算最小二乘解
w = np.linalg.inv(X.T @ X) @ X.T @ y
print(w)
```
输出结果为:
```
[-34.67062078 0.0381578 0.02378308 0.68673317 -2.02231922
5.24758378 -0.00578111 -1.18606855 0.23464513 -0.00885341
-0.4074943 0.01429012 -0.41614684]
```
其中,第一个元素为截距,后面的元素依次为各个特征的系数。
相关问题
最小二乘法python代码
以下是一个简单的最小二乘法的 Python 代码示例:
```python
import numpy as np
# 训练数据集
x = np.array([1, 2, 3, 4, 5])
y = np.array([3, 5, 7, 9, 11])
# 最小二乘法的实现
def linear_regression(x, y):
n = len(x)
x_mean = np.mean(x)
y_mean = np.mean(y)
xy_mean = np.mean(x * y)
x_square_mean = np.mean(x ** 2)
w = (xy_mean - x_mean * y_mean) / (x_square_mean - x_mean ** 2)
b = y_mean - w * x_mean
return w, b
w, b = linear_regression(x, y)
print("w = ", w)
print("b = ", b)
```
输出:
```
w = 2.0
b = 1.0
```
这个代码示例计算了一组简单的训练数据的最小二乘法,得到了拟合直线的斜率 w 和截距 b。
最小二乘法python实现实例
以下是一个简单的最小二乘法的Python实现示例:
```python
import numpy as np
# 定义数据集
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.5, 3.7, 4.9, 6.1, 7.3])
# 计算最小二乘法系数
a = ((np.mean(x * y) - np.mean(x) * np.mean(y)) /
(np.mean(x * x) - np.mean(x) * np.mean(x)))
b = np.mean(y) - a * np.mean(x)
# 打印结果
print("最小二乘法系数:a = {:.2f}, b = {:.2f}".format(a, b))
```
输出结果:
```
最小二乘法系数:a = 1.50, b = 1.00
```
说明:
该示例中,我们使用NumPy库实现了最小二乘法算法,首先定义了数据集x和y,然后计算了最小二乘法系数a和b,最后打印出结果。
阅读全文