本博客复现感知机的二分类算法

import pandas as pd
import numpy as npclass Perceptron:def __init__(self, w=None, b=0):self.w = wself.b = bdef fit(self, x_train: pd.DataFrame, y_train: pd.Series, iter=20, learn_rate=0.001):""":param x_train: 训练集特征:param y_train: 训练集分类:param iter: 迭代次数:param learn_rate: 学习率:return:"""assert x_train.shape[0] == y_train.shape[0]w = np.zeros((1, x_train.shape[1]))b = 0for iter_time in range(iter):x_data = x_train.loc[iter_time]y_data = y_train.loc[iter_time]x_data = np.mat(x_data.tolist())y_data = np.mat(y_data.tolist())# 修正参数if -1 * y_data * (w * x_data.T + b) >= 0:w += learn_rate * y_data * x_datab += learn_rate * y_dataself.w = wself.b = bdef predict(self, x_test: pd.DataFrame):count = x_test.shape[0]  # 测试集数量w = self.wb = self.bresult = []for i in range(count):x_data = x_test.loc[i]x_data = np.mat(x_data.tolist())y = w * x_data.T + bresult.append(1) if y > 0 else result.append(-1)return resultdata = pd.read_csv('../Mnist/mnist_train_little.csv', header=None)
test_data = pd.read_csv('../Mnist/mnist_test_little.csv', header=None)
x_train = data.drop(0, axis=1) # 训练集特征
y_train = data[0] # 训练集标签
x_test = test_data.drop(0, axis=1) # 测试集特征# 模型
perceptron_model = Perceptron()
perceptron_model.fit(x_train=x_train, y_train=y_train)
y_predict = perceptron_model.predict(x_test=x_test)

python复现感知机的二分类算法相关推荐

  1. 感知机(Perceptro)二分类算法原理学习小结记录

    感知机是非常古老的一个二分类算法,原理非常简单,直观地来说,对于平面上的两类数据点,找到一条直线来将其划分开来,对于空间中的点,用一个平面来将两部分完全划分开,这样的数据都是线性可分的,也就是在平面或 ...

  2. matlab perceptron,matlab 实现感知机线性二分类算法(Perceptron)-Go语言中文社区

    感知机是简单的线性分类模型 ,是二分类模型.其间用到随机梯度下降方法进行权值更新.参考他人代码,用matlab实现总结下. 权值求解过程通过Perceptron.m函数完成 function W = ...

  3. python 二分类的实例_深入理解GBDT二分类算法

    我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...

  4. 深入解析GBDT二分类算法(附代码实现)

    目录: GBDT分类算法简介 GBDT二分类算法 2.1 逻辑回归的对数损失函数 2.2 GBDT二分类原理 GBDT二分类算法实例 手撕GBDT二分类算法 4.1 用Python3实现GBDT二分类 ...

  5. 深入理解GBDT二分类算法

    我的个人微信公众号: Microstrong 微信公众号ID: MicrostrongAI 微信公众号介绍: Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关 ...

  6. 「二分类算法」提供银行精准营销解决方案 代码存档

    「二分类算法」提供银行精准营销解决方案 代码存档 参考文章: (1)「二分类算法」提供银行精准营销解决方案 代码存档 (2)https://www.cnblogs.com/starcrm/p/1180 ...

  7. 基于deap脑电数据集的脑电情绪识别二分类算法(附代码)

    想尝试一下脑电情绪识别的各个二分类算法. 代码主要分为三部分:快速傅里叶变换处理(fft).数据预处理.以及各个模型处理. 采用的模型包括:决策树.SVM.KNN三个模型(模型采用的比较简单,可以直接 ...

  8. 「二分类算法」提供银行精准营销解决方案(各个模型汇总分析)baseline

    完整代码见 Github:「二分类算法」提供银行精准营销解决方案 赛事详情 1.比赛页面:「二分类算法」提供银行精准营销解决方案 2.数据与测评算法 训练集下载链接 测试集下载链接 字段说明 测评算法 ...

  9. Adaboost基本二分类算法

    最早类型的Adaboost是由Yoav Freund和Robert E.Schapire提出的,一种用于二分类的boosting集成学习方法.也是李航<统计学习方法>中所介绍的Adaboo ...

最新文章

  1. MySQL 学习笔记(5)— 视图优缺点、创建视图、修改视图、删除视图
  2. Docker的使用(docker pull拉取镜像失败问题解决)
  3. 用XML反序列化快速完成ASP.NET配置文件
  4. 使用TestStack.White进行Windows UI的自动化测试 (1) 基础篇
  5. blackarch 安装美化等
  6. 12306春节高速抢票
  7. payara 创建 集群_高可用性(HA),会话复制,多VM Payara群集
  8. 数据结构(六)二叉树的遍历(递归非递归方法)
  9. Angular gitlab持续集成之runner配置
  10. 怎么安装中文linux6,centos6.5下怎么安装中文输入法
  11. @游戏开发者,ImGUI 能成为 GUI 的未来吗?
  12. android查看应用权限管理,通过adb列出Android应用程序的权限
  13. gps数据处理 java_GPS数据读取与处理
  14. python3.6实现的A星算法
  15. 计算机的ie丢失,告诉你win7内的IE给卸载了怎么找回
  16. 短信平台通道搭建 wed网页版源码构架 路由通道多线搭建 后台管理系统的架构
  17. 苹果电脑快速重装Windows系统
  18. Contrastive Adaptation Network for Unsupervised Domain Adaptation
  19. [线性代数]向量2-范数三角不等式证明
  20. python如何开发网站_如何用Python写一个小网站?

热门文章

  1. Unity3D开发技巧:如何避开unity编辑器的那些坑
  2. DrawPrimitiveUP And DrawIndexedPrimitiveUP
  3. Nicholas谈UE4对手游平台的优化和支持
  4. angular1.x 中重要指令介绍($eval,$parse和$compile)
  5. 【解决】Vsftp匿名上传问题
  6. rails3 Route用法
  7. 一个C/S结构的优秀例子: 延迟补偿在C/S架构游戏协议设计和优化中的应用
  8. 怎么看oracle的procedure,Oracle基础 -- SQLPlus如何查看procedure的内容
  9. python win10 arm_windows10 arm版下载-windows10arm镜像64位中文版 - 极光下载站
  10. java中getlast_Java ArrayDeque getLast()用法及代码示例