Skip to content

Commit

Permalink
Merge pull request #142 from Hector-hedb12/issue-121-MLP-multi-class-…
Browse files Browse the repository at this point in the history
…softmax-classifier

Issue 139: MLP multi-class classifier
  • Loading branch information
csala authored Apr 1, 2019
2 parents 312bac8 + 5d79c02 commit 82e4826
Show file tree
Hide file tree
Showing 2 changed files with 180 additions and 0 deletions.
154 changes: 154 additions & 0 deletions mlprimitives/jsons/keras.Sequential.MLPMultiClassClassifier.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
{
"name": "keras.Sequential.MLPMultiClassClassifier",
"contributors": [
"Hector Dominguez <[email protected]>"
],
"description": "Multilayer Perceptron (MLP) for multi-class softmax classification",
"classifiers": {
"type": "estimator",
"subtype": "classifier"
},
"modalities": [],
"primitive": "mlprimitives.adapters.keras.Sequential",
"fit": {
"method": "fit",
"args": [
{
"name": "X",
"type": "ndarray"
},
{
"name": "y",
"type": "array"
},
{
"name": "classes",
"type": "int",
"description": "Number of classes"
},
{
"name": "features",
"type": "int",
"description": "Number of features in X"
}
]
},
"produce": {
"method": "predict",
"args": [
{
"name": "X",
"type": "ndarray"
}
],
"output": [
{
"name": "y",
"type": "array"
}
]
},
"hyperparameters": {
"fixed": {
"classification": {
"type": "bool",
"default": true
},
"loss": {
"type": "str",
"default": "keras.losses.categorical_crossentropy"
},
"optimizer": {
"type": "str",
"default": "keras.optimizers.SGD"
},
"metrics": {
"type": "list",
"default": [
"accuracy"
]
},
"epochs": {
"type": "int",
"default": 20
},
"layers": {
"type": "list",
"default": [
{
"class": "keras.layers.Dense",
"parameters": {
"units": "dense_1_units",
"activation": "relu",
"input_dim": "features"
}
},
{
"class": "keras.layers.Dropout",
"parameters": {
"rate": "dropout_1_rate"
}
},
{
"class": "keras.layers.Dense",
"parameters": {
"units": "dense_2_units",
"activation": "relu"
}
},
{
"class": "keras.layers.Dropout",
"parameters": {
"rate": "dropout_2_rate"
}
},
{
"class": "keras.layers.Dense",
"parameters": {
"units": "classes",
"activation": "softmax"
}
}
]
}
},
"tunable": {
"dense_1_units": {
"type": "int",
"default": 64,
"range": [
1,
500
]
},
"dense_2_units": {
"type": "int",
"default": 64,
"range": [
1,
500
]
},
"dropout_1_rate": {
"type": "float",
"default": 0.5,
"range": [
0.0,
0.75
]
},
"dropout_2_rate": {
"type": "float",
"default": 0.5,
"range": [
0.0,
0.75
]
},
"batch_size": {
"type": "int",
"default": 128
}
}
}
}
26 changes: 26 additions & 0 deletions pipelines/keras.Sequential.MLPMultiClassClassifier.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"metadata": {
"name": "keras.Sequential.MLPMultiClassClassifier",
"data_type": "single_table",
"task_type": "classification"
},
"validation": {
"dataset": "iris",
"context": {}
},
"primitives": [
"mlprimitives.custom.counters.UniqueCounter",
"mlprimitives.custom.counters.count_features",
"keras.Sequential.MLPMultiClassClassifier"
],
"input_names": {
"mlprimitives.custom.counters.UniqueCounter#1": {
"X": "y"
}
},
"output_names": {
"mlprimitives.custom.counters.UniqueCounter#1": {
"counts": "classes"
}
}
}

0 comments on commit 82e4826

Please sign in to comment.