震惊!居然只用三行代码就...

现在可以选择的深度学习框架一只手都数不过来。虽然每种都说自己简单好用,但是打开document,看到最小的sample都要20+行的时候,我心里的懒人之魂还是在呐喊:就没有几行代码可以搞定的吗!

没有错,今天,我就要说一种,更,简,单的方法。不要99行代码,也不要9行代码,只要3行代码,对你妹有看错,只要3行代码,一个活蹦乱跳物美价廉的神经网络框架就让你带回家。


这里就要提起Python机器学习届的老大sklearn,sklearn不单提供海量机器学习模型,更统一api,实在是我这种懒人之福。虽然说在深度学习上,后起之秀并起,致使sklearn没有在dl上非常出名。但其易用的特征,依然不多承让。

今天,我们就介绍一种基于sklearn,用3行代码完成一个神经网络的办法。

model = MLPClassifier()
model.fit(X, y)
model.predict(X)

全文完(并没有。


可以看到,这里的神经网络模型依然使用sklearn最经典的api形式:初始化,拟合,预测。与其他的ML方法没有区别。

简单地介绍一下参数,MLPClassifier里主要的参数是隐藏层维度(hidden_layer_sizes),默认是单隐层100个神经元;激活函数(activation),默认是relu,以及惩罚项系数(alpha)和学习率(learning rate init)。

接下来谈一谈优缺点。相比于其他方法,这种方法的主要优点就是形式简单,缺点有两个。第一个是没法绘制训练过程的准确率或损失曲线;第二个是可以自行选择的参数还是太少了,势必会影响训练速度和准确率。

最后说说这个方法的应用场景。由于训练速度和准确率不好,这个方法并不主流。一般只有需要观察一组特定参数构建的神经网络在特定数据上的表现时,我会用这个方法速看一下。


以上就是本文的全部内容。感谢各位阅读。

Comments
Write a Comment