写一段机器学习逻辑回归的代码
时间: 2023-07-21 21:06:03 浏览: 93
当然可以!以下是一个简单的机器学习逻辑回归的代码示例:
```python
import numpy as np
class LogisticRegression:
def __init__(self, learning_rate=0.01, num_iterations=1000):
self.learning_rate = learning_rate
self.num_iterations = num_iterations
self.weights = None
self.bias = None
def sigmoid(self, z):
return 1 / (1 + np.exp(-z))
def fit(self, X, y):
num_samples, num_features = X.shape
self.weights = np.zeros(num_features)
self.bias = 0
# gradient descent optimization
for _ in range(self.num_iterations):
linear_model = np.dot(X, self.weights) + self.bias
y_pred = self.sigmoid(linear_model)
dw = (1 / num_samples) * np.dot(X.T, (y_pred - y))
db = (1 / num_samples) * np.sum(y_pred - y)
self.weights -= self.learning_rate * dw
self.bias -= self.learning_rate * db
def predict(self, X):
linear_model = np.dot(X, self.weights) + self.bias
y_pred = self.sigmoid(linear_model)
y_pred_cls = [1 if i > 0.5 else 0 for i in y_pred]
return y_pred_cls
```
这是一个简单的逻辑回归类,包括了训练和预测方法。你可以使用`fit`方法传入特征矩阵 `X` 和对应的标签 `y` 进行模型训练,然后使用`predict`方法进行预测。注意,在这个示例中,特征矩阵 `X` 的每一行代表一个样本,每一列代表一个特征。标签 `y` 是一个包含0和1的一维数组。
阅读全文