AUTO Machine Learning & AUTO Feature Engineering with many powerful tools.
Project description
GML - Ghalat Machine Learning!
Tired of engineering the data, analyzing it to make new features and training multiple models and then picking the best among them? No worries now! GML is here for you!
GML is an automatic machine learning and feature engineering library in python built on top of Multiple Machine Learning packages. with this library,you can find and fill the missing values in your data, encode them, generate new features from them, select the best features and train your data on multiple machine learning algorithms and a neural network! not only training but scaling the data for normal distribution and after scaling and training, testing the data on validation data.
in AUTO Machine Learning, there would be two rounds, in first round all the models will compete for top 5 and after that in second round those top 5 will compete for number one spot.
the first ranked model will be returned (untrained, so you can train it yourself and check results).
You already got some models? no problem! pass them to us to make them compete with our models and let see who wins ;-)
In future updates many other things will also be automated like hyper parameter tunning, multiple neural network architectures, other machine learning algorithms and many more cool things!
Installation:
pip install GML
https://pypi.org/project/GML
See GML in Action!!
- For Auto Feature Engineering and AUTO Machine Learning for classification task: AUTO FEATURE ENGINEERING WITH AUTO MACHINE LEARNING (CLASSIFICATION TASK)
- For Auto Feature Engineering and AUTO Machine Learning for regression task: AUTO FEATURE ENGINEERING WITH AUTO MACHINE LEARNING (REGRESSION TASK)
Function description:
Auto_Feature_Engineering
* X
Data columns excluding target column
* y
target column
* type_of_task
Either 'Regression' or 'Classification' (default = None)
Optional, but in the case of feature generation, compulsory.
* test_data
test data if any. (default = None)
* splits
splits for stratified k folds when encoding features with target encoding (default = 5)
* fill_na_
fill missing values in the columns, either 'Mean' , 'Median' , 'Mode'. for string/character data = Mode. by default = Median
* ratio_drop
if there are so many missing values in column, so its better to drop them. default = 0.2
* generate_features
generate new features and select the important ones only (default = False)
* feateng_steps
the more step = the more features and more computational power required (default = 2)
* max_gb
limit of gbs
GMLRegressor and GMLClassifier
* X
Data column excluding the target column. it can either be a pandas dataframe or a numpy array. but please make sure your data doesn't contains missing data or non-numeric data. (clean it before passing)
* y
The targeted column
Below parameters are optional.
* metric
metric on which you want to test your model. by default, it is mean-squared-error for regression and accuracy score for classification
* test_Size
size to split your test data, by default = 0.3 (70% training 30% testing)
* folds (only in GMLClassifier)
Data will also be validated using KFolds. pass number of folds. by default folds = 5
* shuffle
Shuffle the data when spliting for validation. by default = True
* scaler
for Scaler pass:
'SS' for StandardScalar
'MM' for MinMaxScalar
'log' for Log scalar
None for not scaling
by default: StandardScalar
* models
You got your own models to make them compete with our models? pass them in a list here. default = None
* neural_net
Want to train on Neural Networks? Pass 'Yes', default = 'No'
* epochs
for neural networks, by default = 10
* verbose
for neural networks, by default = True
Parameter when creating object of GML
models = Ghalat_Machine_Learning(n_estimators=300)
- by default n_estimators are 300, you can change it to whatever you want.
As its first version of GML, feel free to give suggestions,ask questions,report bugs etc in issues portion of this repository!
you can directly contact me at: m.ahmed.memonn@gmail.com
I haven't uploaded source code yet on this repo. will upload it later after writing comments.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.