现在的位置: 主页 > 联系方式 > 文章列表

对于可视化可查看下面的图表

作者:程力专用汽车股份有限公司 来源:www.chLiw.com 发布时间:2018-10-25 18:03:41
神经网络初学者指南:基于Scikit 神经网络初学者指南:基于Scikit-Learn的Python模块

一旦我们有输出,我们可以将其与已知标签进行比较,并相应地调整权重(权重通常以随机初始化值开始)。 我们继续重复此过程,直到我们达到允许迭代的最大数量或可接受的错误率。

为了创建神经网络,从叠加感知器层开始即可创建神经网络的多层感知器模型。 将产生直接接收要素输入的一个输入层,一个将创建结果输出的输出层。 之间的任何图层都称为隐藏图层,因为它们不直接“查看”要素输入或输出。 对于可视化可查看下面的图表(来源:维基百科)。

神经网络初学者指南:基于Scikit-Learn的Python模块

下面,让我们开始实操,用 python 创建神经网络吧!

| SciKit-Learn

为了跟得上这个教程的节奏,您需要安装最新版本的 SciKit Learn。虽然通过 pip 或 conda 很容易安装,但你可以参考官方的安装文档来了解完整的细节。

| 数据

我们将使用 SciKit Learn 内置的乳腺癌数据集,如果具有肿瘤特征的样本均会被标记,并显示肿瘤为恶性还是良性。 我们将尝试创建一个神经网络模型,它可以理解肿瘤的特点,并尝试预测。让我们继续进行,从获取数据开始吧!

这个对象就像字典一样,包含着数据的描述信息,特点及目标:

神经网络初学者指南:基于Scikit-Learn的Python模块

| 训练测试分裂

让我们把数据分成训练和测试集,通过来自模式选择中的 SciKit Learn's 的训练测试分裂函数,这点便可以轻松做到。

| 数据预处理

如果数据未被归一化,则在最大迭代次数被准许之前,神经网络可能难以聚集。 多层感知器对特征缩放非常敏感,因此强烈建议您缩放数据。 请注意,必须对测试集应用相同的缩放以获得有意义的结果。 目前有很多不同的数据标准化方法,我们将使用内置的 StandardScaler 进行标准化。

| 训练模型

现在该训练我们的模型了。 通过估计对象, SciKit Learn 使这一切变得极其容易。 在这种情况下,我们将从 SciKit-Learn 的 neural_network 库导入我们的估计器(多层感知器分类器模型)。

我们接下来将创建一个模型的实例,你可以定义很多参数和自定义,我们将只定义 hidden_layer_sizes。 对于此参数,您传递一个元组,其中在每一层包含你想要的神经元数量,其中元组中的第 n 个条目表示 MLP 模型的第 n 层中的神经元的数量。 有很多方法来选择这些数字,但为了简单起见,我们将选择与我们的数据集中的特征相同数量的神经元的三层:

现在已经建立了模型,我们可以将训练数据放入其中,记住这个数据已经被处理和缩放:

推荐阅读/观看:湖北网站建设 http://hbwzzz.cn


上一篇:蘑菇街网站高转化率之运营策略 下一篇:最后一页