sklearn神经网络模块用法介绍

最近想着在天池上做一些简单的比赛,发现大家都用的sklearn的库来写机器学习算法。最近正在使用一个神经网络,在此翻译了一下sklearn的文档做了一下总结

sklearn官方文档https://scikit-learn.org/stable/modules/classes.html#module-sklearn.neural_network
在这里插入图片描述

总模块

神经网络在sklearn.neural_network中存放,有三个类。
neural_network.BernoulliRBM([n_components, …]) 伯努利受限玻尔兹曼机(RBM)
neural_network.MLPClassifier([…]) 多层感知分类器
neural_network.MLPRegressor([…]) 多层感知回归

多层感知

多层感知包括分类器和回归类,其库是一样的
分类器:classification
回归函数:Regressor

sklearn.neural_network.MLPRegressor 回归类
class sklearn.neural_network.MLPRegressor(hidden_layer_sizes=(100, ), activation=’relu’, solver=’adam’, alpha=0.0001, batch_size=’auto’, learning_rate=’constant’, learning_rate_init=0.001, power_t=0.5, max_iter=200, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1, beta_1=0.9, beta_2=0.999, epsilon=1e-08, n_iter_no_change=10)[source]

参数:
1)hidden_layer_sizes 每一层隐含层神经元个数
2)activation激活函数 默认为relu 可选:identity logistic tanh relu
3)solver权重优化的解决方案
lbfgs
sgd随机梯度下降法
adam

4)alpha L2正则系数,默认0.0001
5)batch_size 单词训练样本数量
6)learning_rate 学习率
7)learning_rate_init初始学习率,这个是当采用sgd和adam方法是
8)momentum:动量;梯度下降更新的动量。应介于0和1之间。仅在solver='sgd’时使用。
9)beta_1 学习率滑动衰减率,范围0-1,默认0.9
10)beta_2和上面一样,说是第二个向量的控制,不是太明白~~

类的属性
loss_ : float 当前计算损失值
coefs_ : list, length n_layers - 1存储权重
intercepts_ : list, 存储偏置bias
n_iter_ : int,当前优化步伐
n_layers_ : int 网络层数
n_outputs_ : int输出个数
out_activation_ :输出激活函数

常用函数
fit(X, y) 装载数据
get_params([deep]) 获取参数
predict(X) 预测
score(X, y[, sample_weight]) Returns the coefficient of determination R^2 of the prediction.
set_params(**params) Set the parameters of this estimator.

示例代码

# First 声明神经网络回归函数
NNmodel = MLPClassifier([10,6],learning_rate_init= 0.001,activation='relu',\
     solver='adam', alpha=0.0001,max_iter=30000)  # 神经网络
#Second 训练数据
print('start train!')
NNmodel.fit(X_train,y_train)
print('end train!')
#Third 检验训练集的准确性
ppp = NNmodel.predict(X_train)
dd = np.mean(np.square(ppp - y_train))
print(dd)
  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值