aibox.nlp.estimators.generic.mlp
Estimador baseado na arquitetura MLP.
Classes
|
Estimador MLP genérico. |
- class aibox.nlp.estimators.generic.mlp.MLPEstimator(hidden_layers: list[int], kind: ~typing.Literal['classifier', 'regressor'], random_state: int | None = None, activation_fn: ~torch.nn.modules.module.Module = <class 'torch.nn.modules.activation.ReLU'>, dropout_prob: float | list[float | None] | None = 0.05, epochs: int = 100, learning_rate: float = 0.001, optim_params: dict | None = None, optim: ~typing.Literal['adam', 'adamw', 'rmsprop', 'adagrad', 'sgd'] = 'adamw', regression_ensure_bounds: bool = False, train_batch_size: int = 256, device: str | None = None, dtype=torch.float32)[código-fonte]
Base:
Estimator
Estimador MLP genérico.
- Parâmetros:
hidden_layers (list[int]) – número de features para cada camada escondida da rede.
kind (Literal['classifier', 'regressor']) – se é uma rede de classificação ou regressão.
random_state (int | None) – seed.
activation_fn (Module) – função de ativação para as camadas escondidas. Defaults to
torch.nn.ReLU
.output_activation – função de ativação para a camada de saída. Defaults to
torch.nn.Linear
.epochs (int) – quantidade de épocas a ser utilizadas no momento do treinamento.
dropout_prob (float | list[float | None] | None) – probabilidade de dropout. Se não for None, introduz uma camada de dropout com a aquela probabilidade após as camadas escondidas. É possível controlar quais camadas devem possuir dropout passando uma lista.
learning_rate (float) – taxa de aprendizado do otimizador.
optim_params (dict | None) – parâmetros extras a serem passados para o otimizador além da taxa de aprendizado.
optim (Literal['adam', 'adamw', 'rmsprop', 'adagrad', 'sgd']) – otimizador a ser utilizado.
regression_ensure_bounds (bool) – se os limites devem ser respeitados em redes de regressão.
train_batch_size (int) – tamanho do batch para treinamento.
device (str) – dispositivo que o modelo deve ser armazenado.
dtype – dtype esperado pela rede. Conversões são realizadas automaticamente.
O modelo é construído na primeira chamada ao método
fit()
. A arquitetura consiste em:1.
len(hidden_layers)
camadas escondidas com ativaçãoactivation_fn
e | camada de dropout sedropout_prob is not None
; 2. Uma camada totalmente conectada com ativação linear;A saída do modelo depende se a rede é de classificação (logits) ou regressão (valor numérico).
- fit(X: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, y: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, **kwargs) None [código-fonte]
Realiza o treinamento do estimador.
- Parâmetros:
X (list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor) – features no formato (n_samples, n_features).
y (list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor) – saída esperada com formato (n_samples,)
**kwargs – parâmetros extras que podem ser passados para alguns estimadores.
- Tipo de retorno:
None
- predict(X: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, **kwargs) None [código-fonte]
Realiza a predição utilizando os parâmetros atuais do modelo.
- property hyperparameters: dict
Hiper-parâmetros do modelo. Inclui a seed randômica. Estrutura do dicionário varia entre diferentes estimadores.
- Retorna:
dicionário de hiper-parâmetros.