使用python写神经网络模型之分类器

本文使用Python实现神经网络模型,针对UCI的Iris数据集进行分类任务。提取前100个样本,将花萼长度和花瓣长度作为特征,模型分为训练和验证阶段,目标是区分Iris Setosa和Iris Versicolour。
摘要由CSDN通过智能技术生成

最近在尝试将所有的机器学习与深度学习的模型用Python来实现,大致的学习思路如下:

  • 分类器
  • 回归与预测
  • 时间序列

所有的模型先用 Python语言实现,然后用Tensorflow的实现。

1 数据集

本文开始以UCI中的Iris数据集作为训练数据集和测试时间集。该数据集给出了花萼(sepal)的长度和宽度以及花瓣(petal)的长度和宽度,根据这4个特征训练模型,预测花的类别(Iris Setosa,Iris Versicolour,Iris Virginica)。

# 包引入
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os
df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header=None)
df.head(10)

iris

1.1 数据处理

我们提取前100个样本(50个Iris Setosa和50个Iris Versicolour),并将不同的样本类别标注为1(Iris Versicolour)和-1(Iris Setosa);然后,将花萼的长度和花瓣的长度作为特征。大致处理如下:

y = df.iloc[0:100, 4].values  # 预测标签向量
y = np.where(y == 'Iris-setosa', -1, 1)
X = df.iloc[0:100, [0,2]].values  # 输入特征向量

# 使用散点图可视化样本
plt.scatter(X[:50, 0], X[:50,1], color='red', marker='o', label='setosa')
plt.scatter(X[50:100, 0], X[50:100, 1], color='blue', marker='x', label='versicolor')
plt.xlabel('petal length')
plt.ylabel('sepal length')
plt.legend(loc='upper left')
plt.show

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值