import numpy as np
# 感知器算法
class Perceptron:
def __init__(self):
self.lr = 1.0 # 学习率
self.weights = None # 权重矩阵
# 训练模型
def train(self, X, Y, num_iterations=10):
# 初始化权重矩阵
self.weights = np.zeros(X.shape[1])
for _ in range(num_iterations):
for i in range(len(X)):
x = X[i]
y = Y[i]
# 使用当前权重矩阵预测样本标签
y_pred = self.predict(x)
# 如果预测错误,更新权重矩阵
if y * y_pred <= 0:
self.weights += self.lr * y * x
# 使用训练好的模型预测标签
def predict(self, x):
return np.sign(np.dot(self.weights, x))
# 训练集和标签
train_docs = np.array([[2,1],[3,2],[4,3],[5,3],[5,4],[2,4],[3,4],[4,5],[3,5]])
train_labels = np.array([1,1,1,1,1,-1,-1,-1,-1])
# 测试集
test_doc = np.array([4,5])
# 进行归一化处理
train_docs_norm = train_docs / np.linalg.nor
数据挖掘实验(感知器)
最新推荐文章于 2024-11-09 16:57:04 发布
本文通过实际操作介绍数据挖掘中的感知器模型,重点探讨其在机器学习中的应用,结合Python实现,揭示了感知器在分类问题上的基本原理和步骤。
摘要由CSDN通过智能技术生成