【BP神经网络】西瓜分类和鸢尾花分类
文章目录
- 一、数据集和资料
- 二、鸢尾花分类
- 三、西瓜分类
- 四、一些笔记
- Sklearn部分资料
- pandas部分函数
一、数据集和资料
数据集,提取码:zmlc
大佬笔记,提取码:ytfa
二、鸢尾花分类
# -*- coding: utf-8 -*# 使用pandas读入.csv
# 使用numpy计算k折平均
import pandas as pd
import numpy as np# MLPClassifier是神经网络分类器
# train_test_split帮助划分测试训练集
# cross_val_score是计算K折平均
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score## 读取数据
path = 'iris.csv' # 数据文件路径
data = pd.read_csv(path, index_col=0,header=0,names=[0,1,2,3,4])
print(data)# 将类别装换成数字
mapping = {'setosa':0,'versicolor':1,'virginica':2}
data = data.replace(mapping)x, y = data[list(range(4))], data[4]# 分割测试集和训练集
x_train,x_test,y_train,y_test = train_test_split(x,y,train_size=0.75,random_state=125) # 创建神经网络分类器对象
clf = MLPClassifier(solver='adam', alpha=1e-5,hidden_layer_sizes=(3,3), random_state=1,max_iter=100000,) # 训练模型
clf.fit(x_train, y_train)# 训练集数据模型评估
score1 = clf.score(x_train,y_train)
print(u'测试集准确度:%.4lf' %score1)# 测试集数据模型评估
score2 = clf.score(x_test,y_test)
print(u'训练集准确度:%.4lf' %score2)# 不划分测试集 使用k折交叉验证
print("不划分测试集 使用k折交叉验证")
print(u'cross_val_score 准确率为 %.4lf' % np.mean(cross_val_score(clf, x, y, cv=10)))
三、西瓜分类
# -*- coding: utf-8 -*# 使用pandas读入.csv
import pandas as pdfrom sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_reportdf = pd.read_csv('watermelon_3.csv', encoding='utf-8')# 将类别变为数字
mapping = {'是':1,'否':0}
df = df.replace(mapping)# 取出X和y
X = pd.get_dummies(df.iloc[:,1:-1]).values
y = df.iloc[:,-1].values# 切割数据集
X_train,X_test,y_train,y_test = train_test_split(X,y,train_size=0.8,random_state=125)# 建模并预测
BPNet = MLPClassifier(random_state=123)
BPNet.fit(X_train,y_train)
y_pred = BPNet.predict(X_test)
#print(y_test,y_pred)# 输出预测结果报告
print('预测报告为:\n',classification_report(y_test,y_pred))
四、一些笔记
Sklearn部分资料
MLPClassifier
是一个监督学习算法
参考资料:这里1 这里2
train_test_split
测试集、训练集分割函数
参考资料:这里
pandas部分函数
df.loc[]和df.iloc[]
,参考资料
get_dummies
,参考资料
data.values
,参考资料
【BP神经网络】西瓜分类和鸢尾花分类相关推荐
- HBU-NNDL 实验五 前馈神经网络(3)鸢尾花分类
目录 深入研究鸢尾花数据集 4.5 实践:基于前馈神经网络完成鸢尾花分类 4.5.1 小批量梯度下降法 4.5.1.1 数据分组 4.5.2 数据处理 4.5.2.2 用DataLoader进行封装 ...
- Python实现BP神经网络ANN单隐层分类模型项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 BP(back propagation)神经网络是1986年由R ...
- 神经网络与深度学习(五)前馈神经网络(3)鸢尾花分类
目录 4.5实践:基于前馈神经网络完成鸢尾花分类 深入研究鸢尾花数据集 4.5.1 小批量梯度下降法 4.5.1.1 数据分组 4.5.2 数据处理 4.5.2.2 用DataLoader进行封装 4 ...
- 鸢尾花python分类_鸢尾花分类——Python机器学习起步
引言 一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习,本文以<Python机器学习基础教程>为指导. 环境 Sublimete ...
- 深度学习分类步骤——鸢尾花分类
1.数据集的介绍 以鸢尾花数据集为例,共有150组,每组包括花萼长.花萼宽.花瓣长.花瓣宽4个输入特征.同时给出了这一组特征对应的鸢尾花的类别.类别包括狗尾草鸢尾.杂色鸢尾以及弗吉尼亚鸢尾,分别用0, ...
- bp神经网络 鸢尾花matlab,神经网络(BP网)—鸢尾花分类问题.pdf
神经网络(BP网)-鸢尾花分类问题 华南师范大学计算机学院 – 神经网络 鸢尾花分类BP网实现 作者:杨劲松 2013-4-24 BP BP BBPP 鸢尾花分类 网实现 � 问题描述 � 感知器网络 ...
- 鸢尾花分类python,Python鸢尾花分类实现
#coding:utf-8 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_ ...
- BP神经网络进行分类任务
BP(Back Propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小.BP神经网络模型 ...
- Python 基于BP神经网络的鸢尾花分类
本文用Python实现了BP神经网络分类算法,根据鸢尾花的4个特征,实现3种鸢尾花的分类. 算法参考文章:纯Python实现鸢尾属植物数据集神经网络模型 2020.07.21更新: 增加了分类结果可视 ...
最新文章
- msvc 编译路径_Colmap编译教程
- mysql 天数减1_mysql 日期操作 增减天数、时间转换、时间戳
- mysql 保证事物完整性_数据库高并发请求,如何保证数据完整性?详解MySQL/InnoDB的加锁...
- 解决selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missin
- rmi远程代码执行漏洞_Apache Solr反序列化远程代码执行漏洞分析(CVE20190192)
- rk3399_android7.1调试串口uart功能和测试是否能通讯
- CEF JS实现获取剪贴板图片的DataURL
- mysql的英文字母_MYSQL中查询怎么判断一个字段包含英文?
- 游戏十五大基本游戏类型介绍
- 全志F1C100s入坑与填坑 uboot Linux Kernel 与buildroot
- 西门子g120变频器接线图_【直播】S71200与SINAMICS G120变频器的profinet通信
- HMI——“已连续登录3次,用户已注销”问题
- Server 2008 R2 事件查看器实现日志分析
- 02 必备SQL和表关系及授权
- 如何写好一份用户需求说明书
- 后端利用MultipartFIle类型参数接受文件上传
- 免疫的特异性和非特异性
- android queries属性
- python中能主动引发异常的是_python--异常处理-主动引发异常-自定义异常类
- 性能安全并重 实战英特尔MatrixRAID组建