采用感知机模型,给出二分类预测问题的具体python代码
时间: 2024-01-26 10:01:52 浏览: 74
下面是一个使用感知机模型进行二分类预测的 Python 代码示例:
```python
import numpy as np
class Perceptron:
def __init__(self, learning_rate=0.1, epochs=50):
self.learning_rate = learning_rate
self.epochs = epochs
def fit(self, X, y):
# 添加偏置项,即增加一列全是 1 的特征
X = np.insert(X, 0, 1, axis=1)
self.weights = np.zeros(X.shape[1])
# 迭代训练
for _ in range(self.epochs):
for i in range(X.shape[0]):
y_pred = np.dot(X[i], self.weights)
if y[i] * y_pred <= 0:
self.weights += self.learning_rate * y[i] * X[i]
def predict(self, X):
X = np.insert(X, 0, 1, axis=1)
y_pred = np.sign(np.dot(X, self.weights))
return y_pred.astype(int)
```
以上代码使用的是感知机算法来进行二分类预测。其中,`fit()` 方法用于训练模型,传入数据集 `X` 和标签 `y`,添加偏置项并初始化权重,进行多轮迭代学习,更新权重;`predict()` 方法用于预测新样本的类别,传入测试集 `X`,同样添加偏置项并利用训练好的权重进行类别预测,返回预测结果。
阅读全文