python复现感知机的二分类算法
本博客复现感知机的二分类算法
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复现感知机的二分类算法相关推荐
- 感知机(Perceptro)二分类算法原理学习小结记录
感知机是非常古老的一个二分类算法,原理非常简单,直观地来说,对于平面上的两类数据点,找到一条直线来将其划分开来,对于空间中的点,用一个平面来将两部分完全划分开,这样的数据都是线性可分的,也就是在平面或 ...
- matlab perceptron,matlab 实现感知机线性二分类算法(Perceptron)-Go语言中文社区
感知机是简单的线性分类模型 ,是二分类模型.其间用到随机梯度下降方法进行权值更新.参考他人代码,用matlab实现总结下. 权值求解过程通过Perceptron.m函数完成 function W = ...
- python 二分类的实例_深入理解GBDT二分类算法
我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...
- 深入解析GBDT二分类算法(附代码实现)
目录: GBDT分类算法简介 GBDT二分类算法 2.1 逻辑回归的对数损失函数 2.2 GBDT二分类原理 GBDT二分类算法实例 手撕GBDT二分类算法 4.1 用Python3实现GBDT二分类 ...
- 深入理解GBDT二分类算法
我的个人微信公众号: Microstrong 微信公众号ID: MicrostrongAI 微信公众号介绍: Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关 ...
- 「二分类算法」提供银行精准营销解决方案 代码存档
「二分类算法」提供银行精准营销解决方案 代码存档 参考文章: (1)「二分类算法」提供银行精准营销解决方案 代码存档 (2)https://www.cnblogs.com/starcrm/p/1180 ...
- 基于deap脑电数据集的脑电情绪识别二分类算法(附代码)
想尝试一下脑电情绪识别的各个二分类算法. 代码主要分为三部分:快速傅里叶变换处理(fft).数据预处理.以及各个模型处理. 采用的模型包括:决策树.SVM.KNN三个模型(模型采用的比较简单,可以直接 ...
- 「二分类算法」提供银行精准营销解决方案(各个模型汇总分析)baseline
完整代码见 Github:「二分类算法」提供银行精准营销解决方案 赛事详情 1.比赛页面:「二分类算法」提供银行精准营销解决方案 2.数据与测评算法 训练集下载链接 测试集下载链接 字段说明 测评算法 ...
- Adaboost基本二分类算法
最早类型的Adaboost是由Yoav Freund和Robert E.Schapire提出的,一种用于二分类的boosting集成学习方法.也是李航<统计学习方法>中所介绍的Adaboo ...
最新文章
- 织梦生成html加速,加快DEDECMS静态html网页生成速度的方法
- 逻辑回归 + GBDT模型融合实战!
- 单网段DHCP服务器的架设
- 代码优化 5 大原则,第一条就是别优化了!!!
- 《机器学习实战》chapter06 支持向量机
- 如何解决管理工具MSC拒绝访问?
- 在Android初次的前期学习中的二个小例子(2)
- 技术案例分享:WIPTEC采用Aruba边缘服务平台,实现物流配送生产自动化、精简生产力
- html页面跳转时导航栏不变_解决Vue-iview封装导航栏刷新,导航栏消失之坑
- 百度发布AI芯片“昆仑”;李笑来脏话录音曝光;Facebook再现新漏洞 | CSDN 极客头条...
- Ruby设计模式透析之 —— 组合(Composite)
- (152)IES光源概述文件
- win10修改git账号和密码
- 如何将一个向量投影到一个平面上_线性代数总结 第三章 向量代数与几何计算(空间平面和直线)...
- Android设计之UI透明图标
- 2016android市场占有率,Newzoo:2016年国内手游收入近100亿美元(附国内五大安卓渠道装机率)...
- 笔记本电脑显示rpc服务器不可用,Win7电脑RPC服务器不可用怎么办 RPC服务器不可用解...
- Python中的getattr()和__getattr__方法
- MEM/MBA数学强化(08)数据分析
- echarts地图中增加图片的实例
热门文章
- git add remote_Git常用命令
- java获取语言_如何在java中获取语言环境对象?
- 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)
- 【JDK1.8】JDK1.8集合源码阅读——Set汇总
- Linux下shell反弹
- Linux学习:第一天,
- 后端http缓存策略
- IIS7.5 配置MVC3.0 伪静态,不能访问html伪静态页面
- java中字节码_Java字节码执行图示
- redis 备份导出rdb_Redis持久化知识点—RDB+AOF ,你了解多少