版权声明:本文为博主原创文章,原文链接地址: http://blog.csdn.net/eric_doug
目录(?)[+]
最近在尝试将所有的机器学习与深度学习的模型用Python来实现,大致的学习思路如下:
分类器回归与预测时间序列所有的模型先用 Python语言实现,然后用Tensorflow的实现。
本文开始以UCI中的Iris数据集作为训练数据集和测试时间集。该数据集给出了花萼(sepal)的长度和宽度以及花瓣(petal)的长度和宽度,根据这4个特征训练模型,预测花的类别(Iris Setosa,Iris Versicolour,Iris Virginica)。
# 包引入import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport osdf = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header=None)df.head(10)12345671234567我们提取前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.show12345678910111234567891011我们可以将该问题转化为一个二分类的任务,因此,可以将1与-1作为类别标签。从而激活函数可以表示如下:
新闻热点
疑难解答