资源简介
根据慕课网“机器学习-实现简单神经网络”编写的python代码,实验环境为anaconda python3.6,感知器算法进行分类,数据为网上的花瓣数据,100个样本

代码片段和文件信息
# -*- coding: utf-8 -*-
import numpy as np
class Perceptron(object):
“““
eta: 学习率(01)一般是使用者自定义,然后根据经验调整
n_iter: 权重向量的训练次数,这里只训练10次
w_: 神经分叉权重向量
errors_: 用于记录神经元判断错误的次数
“““
def __init__(self eta=0.01 n_iter=10):
self.eta = eta
self.n_iter = n_iter
def fit(self x y):
“““
输入训练数据,训练神经元
x: 输入样本的向量
y: 样本对应的分类
x: shape[n_sample n_features]: 样本数量,每个样本的特征维度
x:[[123][456]],有2个样本,每个样本有3个特征
“““
#初始化权重向量的每个分量,这里初始化的值为0
#+1是为了w0,权重向量W的维度加1,多出的那一维用于计算激活函数的阈值
self.w_ = np.zeros(1+x.shape[1])
self.errors_ = []
“““
开始训练
每次出现预测错误的时候,把样本重新输入神经元,更新权重向量
这里设置的迭代次数我n_iter=10
如果迭代10次都无法分类正确,则终止
“““
for _ in range(self.n_iter):
errors = 0
“““
x:[[123][456]]
y:[1-1]
zip(xy): [([1 2 3] 1) ([4 5 6] -1)]
“““
for xi target in zip(x y):
update = self.eta * (target - self.predict(xi))
#xi是向量,target是实数
#更新权值
self.w_[1:] += update * xi
#更新阈值
self.w_[0] += update;
“““
统计预测的错误次数
int(True)=1
int(False)=0
“““
errors += int(update !=0.0)
self.errors_.append(errors)
def net_input(self x):
“““
输入向量与权重向量做点积求和
“““
return np.dot(x self.w_[1:]) + self.w_[0]
def predict(selfx):
“““
激活函数得到输出为1或-1的分类
大于等于0输出为1
小于0输出为-1
“““
return np.where(self.net_input(x) >= 0.0 1-1)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2492 2017-09-17 20:21 neuralnetwork\ganzhiqi.py
文件 837 2017-09-18 15:05 neuralnetwork\main.py
文件 786 2017-09-17 22:05 neuralnetwork\matplotlib.py
文件 1691 2017-09-18 14:58 neuralnetwork\matplotlib_listencolormap.py
文件 459 2017-09-17 20:33 neuralnetwork\pandas.py
文件 4700 2017-09-16 15:44 neuralnetwork\test.csv
文件 552 2017-09-18 13:36 neuralnetwork\use_ganzhiqi.py
文件 1994 2017-09-18 13:29 neuralnetwork\__pycache__\ganzhiqi.cpython-36.pyc
文件 1261 2017-09-18 15:01 neuralnetwork\__pycache__\matplotlib_listencolormap.cpython-36.pyc
目录 0 2017-09-18 15:01 neuralnetwork\__pycache__
目录 0 2017-09-18 15:18 neuralnetwork
----------- --------- ---------- ----- ----
14772 11
- 上一篇:IncaA2l文件读取
- 下一篇:岭回归 LASSO回归 python 实现
相关资源
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 神经网络用于分类
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论