Skip to content

Commit 9e16cae

Browse files
committed
readme updated [ci skip]
1 parent 9274f96 commit 9e16cae

3 files changed

Lines changed: 24 additions & 8 deletions

File tree

COMPONENTS.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,8 @@
3535

3636
### Categorical Feature Encoders
3737

38-
* One-Hot Encoder (OneHotEncoder).
38+
* One-Hot Encoder (OneHotEncoder).
39+
40+
### Feature Imputers
41+
42+
* Simple Imputer (SimpleImputer).

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
NiaAML is a framework for Automated Machine Learning based on nature-inspired algorithms for optimization. The framework is written fully in Python. The name NiaAML comes from the Automated Machine Learning method of the same name [[1]](#1). Its goal is to compose the best possible classification pipeline for the given task efficiently using components on the input. The components are divided into three groups: feature selection algorithms, feature transformation algorithms and classifiers. The framework uses nature-inspired algorithms for optimization to choose the best set of components for the classification pipeline, and optimize their hyperparameters. We use the <a href="https://github.com/NiaOrg/NiaPy">NiaPy framework</a> for the optimization process, which is a popular Python collection of nature-inspired algorithms. The NiaAML framework is easy to use and customize or expand to suit your needs.
1717

18-
The NiaAML framework allows you not only to run full pipeline optimization, but also to separate implemented components such as classifiers, feature selection algorithms, etc. **It supports numerical and categorical features.**
18+
The NiaAML framework allows you not only to run full pipeline optimization, but also to separate implemented components such as classifiers, feature selection algorithms, etc. **It supports numerical and categorical features as well as missing values in datasets.**
1919

2020
* **Free software:** MIT license
2121
* **Documentation:** https://niaaml.readthedocs.io/en/latest/
@@ -42,7 +42,7 @@ There is a simple Graphical User Interface for the NiaAML package available [her
4242

4343
## Components
4444

45-
[Click here](COMPONENTS.md) for a list of currently implemented components divided into groups: classifiers, feature selection algorithms and feature transformation algorithms. At the end you can also see a list of currently implemented fitness functions for the optimization process, and categorical features' encoders. All of the components are passed into the optimization process using their class names. Let's say we want to choose between Adaptive Boosting, Bagging and Multi Layer Perceptron classifiers, Select K Best and Select Percentile feature selection algorithms and Normalizer as the feature transformation algorithm (may not be selected during the optimization process).
45+
[Click here](COMPONENTS.md) for a list of currently implemented components divided into groups: classifiers, feature selection algorithms and feature transformation algorithms. At the end you can also see a list of currently implemented fitness functions for the optimization process, categorical features' encoders, and missing values' imputers. All of the components are passed into the optimization process using their class names. Let's say we want to choose between Adaptive Boosting, Bagging and Multi Layer Perceptron classifiers, Select K Best and Select Percentile feature selection algorithms and Normalizer as the feature transformation algorithm (may not be selected during the optimization process).
4646

4747
```python
4848
PipelineOptimizer(
@@ -53,15 +53,16 @@ PipelineOptimizer(
5353
)
5454
```
5555

56-
The argument of the PipelineOptimizer `categorical_features_encoder` is `None` by default. If your dataset contains any categorical features, you need to specify an encoder to use.
56+
The argument of the PipelineOptimizer `categorical_features_encoder` is `None` by default. If your dataset contains any categorical features, you need to specify an encoder to use. The same goes for `imputer` and features that contain missing values.
5757

5858
```python
5959
PipelineOptimizer(
6060
data=...,
6161
classifiers=['AdaBoost', 'Bagging', 'MultiLayerPerceptron'],
6262
feature_selection_algorithms=['SelectKBest', 'SelectPercentile'],
6363
feature_transform_algorithms=['Normalizer'],
64-
categorical_features_encoder='OneHotEncoder'
64+
categorical_features_encoder='OneHotEncoder',
65+
imputer='SimpleImputer'
6566
)
6667
```
6768

@@ -153,6 +154,12 @@ The NiaAML framework also allows you to implement your own feature encoder. All
153154

154155
Take a look at the [OneHotEncoder](niaaml/preprocessing/encoding/one_hot_encoder.py) implementation.
155156

157+
### Example of an Imputer's Implementation
158+
159+
The NiaAML framework also allows you to implement your own imputer. All you need to do is implement the [Imputer](niaaml/preprocessing/imputation/imputer.py) class.
160+
161+
Take a look at the [SimpleImputer](niaaml/preprocessing/imputation/simple_imputer.py) implementation.
162+
156163
### More
157164

158165
You can find more examples [here](examples).

README.rst

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ which is a popular Python collection of nature-inspired algorithms. The
3030
NiaAML framework is easy to use and customize or expand to suit your
3131
needs.
3232

33-
The NiaAML framework allows you not only to run full pipeline optimization, but also separate implemented components such as classifiers, feature selection algorithms, etc. **It supports numerical and categorical features.**
33+
The NiaAML framework allows you not only to run full pipeline optimization, but also separate implemented components such as classifiers, feature selection algorithms, etc. **It supports numerical and categorical features as well as missing values in datasets.**
3434

3535
- **Documentation:** https://niaaml.readthedocs.io/en/latest/
3636

@@ -65,8 +65,8 @@ Components
6565
In the following sections you can see a list of currently implemented
6666
components divided into groups: classifiers, feature selection
6767
algorithms and feature transformation algorithms. At the end you can
68-
also see a list of currently implemented fitness functions for the optimization process
69-
and categorical features' encoders.
68+
also see a list of currently implemented fitness functions for the optimization process,
69+
categorical features' encoders, and missing values' imputers.
7070

7171
Classifiers
7272
~~~~~~~~~~~
@@ -113,6 +113,11 @@ Categorical Feature Encoders
113113

114114
- One-Hot Encoder (OneHotEncoder).
115115

116+
Feature Imputers
117+
~~~~~~~~~~~~~~~~
118+
119+
- Simple Imputer (SimpleImputer).
120+
116121
Licence
117122
-------
118123

0 commit comments

Comments
 (0)