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

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. 织梦生成html加速,加快DEDECMS静态html网页生成速度的方法
  2. 逻辑回归 + GBDT模型融合实战!
  3. 单网段DHCP服务器的架设
  4. 代码优化 5 大原则,第一条就是别优化了!!!
  5. 《机器学习实战》chapter06 支持向量机
  6. 如何解决管理工具MSC拒绝访问?
  7. 在Android初次的前期学习中的二个小例子(2)
  8. 技术案例分享:WIPTEC采用Aruba边缘服务平台,实现物流配送生产自动化、精简生产力
  9. html页面跳转时导航栏不变_解决Vue-iview封装导航栏刷新,导航栏消失之坑
  10. 百度发布AI芯片“昆仑”;李笑来脏话录音曝光;Facebook再现新漏洞 | CSDN 极客头条...
  11. Ruby设计模式透析之 —— 组合(Composite)
  12. (152)IES光源概述文件
  13. win10修改git账号和密码
  14. 如何将一个向量投影到一个平面上_线性代数总结 第三章 向量代数与几何计算(空间平面和直线)...
  15. Android设计之UI透明图标
  16. 2016android市场占有率,Newzoo:2016年国内手游收入近100亿美元(附国内五大安卓渠道装机率)...
  17. 笔记本电脑显示rpc服务器不可用,Win7电脑RPC服务器不可用怎么办 RPC服务器不可用解...
  18. Python中的getattr()和__getattr__方法
  19. MEM/MBA数学强化(08)数据分析
  20. echarts地图中增加图片的实例

热门文章

  1. git add remote_Git常用命令
  2. java获取语言_如何在java中获取语言环境对象?
  3. 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)
  4. 【JDK1.8】JDK1.8集合源码阅读——Set汇总
  5. Linux下shell反弹
  6. Linux学习:第一天,
  7. 后端http缓存策略
  8. IIS7.5 配置MVC3.0 伪静态,不能访问html伪静态页面
  9. java中字节码_Java字节码执行图示
  10. redis 备份导出rdb_Redis持久化知识点—RDB+AOF ,你了解多少