用python代码实现逻辑回归模型的参数估计
时间: 2023-07-12 08:49:02 浏览: 149
好的,下面是用Python实现逻辑回归模型的参数估计的代码:
```python
import numpy as np
from scipy.optimize import minimize
def sigmoid(z):
"""
Sigmoid函数
"""
return 1 / (1 + np.exp(-z))
def cost_function(theta, X, y):
"""
逻辑回归代价函数
"""
m = len(y)
h = sigmoid(X @ theta)
J = -1 / m * (y.T @ np.log(h) + (1 - y).T @ np.log(1 - h))
grad = 1 / m * X.T @ (h - y)
return J, grad
def fit(X, y):
"""
拟合逻辑回归模型
"""
m, n = X.shape
X = np.hstack((np.ones((m, 1)), X)) # 添加偏置项
initial_theta = np.zeros((n + 1, 1)) # 初始化参数
res = minimize(cost_function, initial_theta, args=(X, y), jac=True, method='BFGS')
return res.x
# 示例
X = np.array([[1, 2], [3, 4], [5, 6]])
y = np.array([[0], [1], [0]])
theta = fit(X, y)
print(theta)
```
其中,`sigmoid`函数用于计算sigmoid函数值;`cost_function`函数用于计算逻辑回归代价函数及其梯度;`fit`函数用于拟合逻辑回归模型,返回参数估计值。以上是一个简单的示例,可以根据实际情况进行修改。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)