用python做一个点集分类器的神经网络
1、用到的模块包括numpy、sklearn、matplotlib、scipy,请自行安装。
安装完成之后,在编译器里面加载下列模块:
import numpy as np
from sklearn import datasets, linear_model
import matplotlib.pyplot as plt
2、用make_moons构造一个点集,并画出散点图:
X,y = datasets.make_moons(365,noise=0.20)
make_moons是一个内置模型。
点集分为两种颜色,我们希望尽可能好的分开两种颜色。
3、做一个线性回归模型,用直线把点集分开。
分类效果很差,说明这个点集不适合使用线性回归模型。
4、下图里面的代码,是为了构造一个神经网络,写出的一些自定义函数。
5、然后,构造一个3层的神经网络:
model = build_model(3,print_loss=True)
运行,开始训练,训练20000次,但是我们只查看前5000次的损失,且每隔1000次查看一下。
6、最后,画出最终分界线:
Plot(lambda x:predict(model,x))
plt.title("Nonliear Model")
plt.show()
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:194
阅读量:87
阅读量:152
阅读量:166
阅读量:27