sklearn 神经网络 MLPClassifier 参数详解

转载自  http://blog.csdn.net/haiyu94/article/details/53001726


参数说明: 

1.  hidden_layer_sizes  :元祖格式,长度=n_layers-2, 默认(100,),第i个元素表示第i个隐藏层的神经元的个数。 
2.  activation  :{‘identity’, ‘logistic’, ‘tanh’, ‘relu’}, 默认‘relu 
- ‘identity’: no-op activation, useful to implement linear bottleneck, 
返回f(x) = x 
- ‘logistic’:the logistic sigmoid function, returns f(x) = 1 / (1 + exp(-x)). 
- ‘tanh’:the hyperbolic tan function, returns f(x) = tanh(x). 
- ‘relu’:the rectified linear unit function, returns f(x) = max(0, x) 
4.  solver : {‘lbfgs’, ‘sgd’, ‘adam’}, 默认 ‘adam’,用来优化权重 
- lbfgs:quasi-Newton方法的优化器 
- sgd:随机梯度下降 
- adam: Kingma, Diederik, and Jimmy Ba提出的机遇随机梯度的优化器 
注意:默认solver ‘adam’在相对较大的数据集上效果比较好(几千个样本或者更多),对小数据集来说,lbfgs收敛更快效果也更好。 
5.  alpha  :float,可选的,默认0.0001,正则化项参数 
6.  batch_size  : int , 可选的,默认‘auto’,随机优化的minibatches的大小,如果solver是‘lbfgs’,分类器将不使用minibatch,当设置成‘auto’,batch_size=min(200,n_samples) 
7.  learning_rate  :{‘constant’,‘invscaling’, ‘adaptive’},默认‘constant’,用于权重更新,只有当solver为’sgd‘时使用 
- ‘constant’: 有‘learning_rate_init’给定的恒定学习率 
- ‘incscaling’:随着时间t使用’power_t’的逆标度指数不断降低学习率 learning_rate_  ,effective_learning_rate = learning_rate_init / pow(t, power_t) 
- ‘adaptive’:只要训练损耗在下降,就保持学习率为’learning_rate_init’不变,当连续两次不能降低训练损耗或验证分数停止升高至少 tol 时,将当前学习率除以5. 
8.  max_iter : int,可选,默认200,最大迭代次数。 
9.  random_state :int 或RandomState,可选,默认None,随机数生成器的状态或种子。 
10.  shuffle : bool,可选,默认True,只有当solver=’sgd’或者‘adam’时使用,判断是否在每次迭代时对样本进行清洗。 
11.  tol :float, 可选,默认1e-4,优化的容忍度 
12.  learning_rate_int :double,可选,默认0.001,初始学习率,控制更新权重的补偿,只有当solver=’sgd’ 或’adam’时使用。 
13.  power_t : double, optional, default 0.5,只有solver=’sgd’时使用,是逆扩展学习率的指数.当learning_rate=’invscaling’,用来更新有效学习率。 
14.  verbose  : bool, optional, default False,是否将过程打印到stdout 
15.  warm_start  : bool, optional, default False,当设置成True,使用之前的解决方法作为初始拟合,否则释放之前的解决方法。 
16.  momentum  : float, default 0.9,Momentum(动量) for gradient descent update. Should be between 0 and 1. Only used when solver=’sgd’. 
17.  nesterovs_momentum  : boolean, default True, Whether to use Nesterov’s momentum. Only used when solver=’sgd’ and momentum > 0. 
18.  early_stopping  : bool, default False,Only effective when solver=’sgd’ or ‘adam’,判断当验证效果不再改善的时候是否终止训练,当为True时,自动选出10%的训练数据用于验证并在两步连续爹迭代改善低于tol时终止训练。 
19.  validation_fraction  : float, optional, default 0.1,用作早期停止验证的预留训练数据集的比例,早0-1之间,只当early_stopping=True有用 
20. beta_1 : float, optional, default 0.9,Only used when solver=’adam’,估计一阶矩向量的指数衰减速率,[0,1)之间 
21.  beta_2  : float, optional, default 0.999,Only used when solver=’adam’估计二阶矩向量的指数衰减速率[0,1)之间 
22.  epsilon  : float, optional, default 1e-8,Only used when solver=’adam’数值稳定值。 
属性说明: 
classes_ :每个输出的类标签 
loss_ :损失函数计算出来的当前损失值 
coefs_ :列表中的第i个元素表示i层的权重矩阵 
intercepts_ :列表中第i个元素代表i+1层的偏差向量 
n_iter_  :迭代次数 
n_layers_ :层数 
n_outputs_ :输出的个数 
out_activation_ :输出激活函数的名称。 
方法说明: 
fit(X,y) :拟合 
get_params([deep]) :获取参数 
predict(X) :使用MLP进行预测 
predic_log_proba(X) :返回对数概率估计 
predic_proba(X) :概率估计 
score(X,y[,sample_weight]) :返回给定测试数据和标签上的平均准确度 
- set_params(**params) :设置参数。
  • 10
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
`make_blobs` 是一个用于生成聚类数据的函数,可以用于测试聚类算法的效果。下面是 `make_blobs` 中常用参数的说明: - `n_samples`:生成的样本数,默认值为 100。 - `n_features`:生成的特征数,默认值为 2。 - `centers`:指定样本的中心点,可以是整数或数组。当 `centers` 为整数时,表示生成几个中心点;当 `centers` 为数组时,表示指定每个中心点的坐标位置。 - `cluster_std`:每个簇的标准差,表示簇中每个点与该簇中心点的距离。默认值为 1.0。 - `center_box`:指定中心点的范围,当 `centers` 为整数时有效。默认值为 (-10.0, 10.0)。 - `shuffle`:是否打乱样本顺序,默认值为 True。 - `random_state`:随机种子,保证每次生成的样本相同。 例如,以下代码将生成一个包含 300 个样本,共四个中心点的聚类数据集: ```python from sklearn.datasets import make_blobs X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.5, random_state=42) ``` 其中,`X` 是生成的样本特征矩阵,`y` 是每个样本所属的簇的标签。可以使用 `matplotlib` 将生成的数据可视化: ```python import matplotlib.pyplot as plt plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis') plt.show() ``` 生成的效果如下图所示: ![make_blobs](https://img-blog.csdn.net/20180801173925140?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlZ2FjeV9wbGFjZV9zaGFyZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值