Package: blobcity
BlobCity AutoAIA framework to find the best performing AI/ML model for any AI problem. Works for Classification and Regression type of problems on numerical data. AutoAI makes AI easy and accessible to everyone. It not only trains the best-performing model but also exports high-quality code for using the trained model.The framework is currently in beta release, with active development being still in progress. Please report any issues you encounter.Getting Startedpipinstallblobcityimportblobcityasbcmodel=bc.train(file="data.csv",target="Y_column")model.spill("my_code.py")Y_columnis the name of the target column. The column must be present within the data provided.Automatic inference of Regression / Classification is supported by the framework.Data input formats supported include:Local CSV / XLSX fileURL to a CSV / XLSX filePandas DataFramemodel=bc.train(file="data.csv",target="Y_column")#local filemodel=bc.train(file="https://example.com/data.csv",target="Y_column")#urlmodel=bc.train(df=my_df,target="Y_column")#DataFramePre-processingThe framework has built-in support for several data pre-processing techniques, such as imputing missing values, column encoding, and data scaling.Pre-processing is carried out automatically on train data. The predict function carries out the same pre-processing on new data. The user is not required to be concerned with the pre-processing choices of the framework.One can view the pre-processing methods used on the data by exporting the entire model configuration to a YAML file. Check the section below on "Exporting to YAML."Feature Selectionmodel.features()#prints the features selected by the model['Present_Price','Vehicle_Age','Fuel_Type_CNG','Fuel_Type_Diesel','Fuel_Type_Petrol','Seller_Type_Dealer','Seller_Type_Individual','Transmission_Automatic','Transmission_Manual']AutoAI automatically performs a feature selection on input data. All features (except target) are potential candidates for the X input.AutoAI will automatically remove ID / Primary-key columns.This does not guarantee that all specified features will be used in the final model. The framework will perform an automated feature selection from amongst these features. This only guarantees that other features if present in the data will not be considered.AutoAI ignores features that have a low importance to the effective output. The feature importance plot can be viewed.model.plot_feature_importance()#shows a feature importance graphThere might be scenarios where you want to explicitely exclude some columns, or only use a subset of columns in the training. Manually specify the features to be used. AutoAI will still perform a feature selection within the list of features provided to improve effective model accuracy.model=bc.train(file="data.csv",target="Y_value",features=["col1","col2","col3"])Model Search, Train & Hyper-parameter TuningModel search, train and hyper-parameter tuning is fully automatic. It is a 3 step process that tests your data across various AI/ML models. It finds models with high success tendency, and performs a hyper-parameter tuning to find you the best possible result.Regression Models LibraryClassification Models LibraryCode GenerationHigh-quality code generation is why most Data Scientists choose AutoAI. Thespillfunction generates the model code with exhaustive documentation. scikit-learn models export with training code included. TensorFlow and other DNN models produce only the test / final use code.Code generation is supported inipynbandpyfile formats, with options to enable or disable detailed documentation exports.model.spill("my_code.ipynb");#produces Jupyter Notebook file with full markdown docsmodel.spill("my_code.py")#produces python code with minimal docsmodel.spill("my_code.py",docs=True)#python code with full docsmodel.spill("my_code.ipynb",docs=False)#Notebook file with minimal markdownPredictionsUse a trained model to generate predictions on new data.prediction=model.predict(file="unseen_data.csv")All required features must be present in theunseen_data.csvfile. Consider checking the results of the automatic feature selection to know the list of features needed by thepredictfunction.Stats & Accuracymodel.plot_prediction()The function is shared across Regression and Classification problems. It plots a relevant chart to assess efficiency of training.Actual v/s Predicted Plot (for Regression)Plotting only first100rows. You can specify-100to plot last 100 rows.model.plot_prediction(100)Confusion Matrix (for Classification)model.plot_prediction()Numercial Stats & Model Descriptionmodel.summary()Print model configuration/Hyper Parameter tuning along the key model static parameters, such as Precision, Recall, F1-Score,etc. The parameters change based on the type of AutoAI problem. It also provide information on different data preprocessing steps applied during the complete process.Persistencemodel.save('./my_model.pkl')model=bc.load('./my_model.pkl')You can save a trained model, and load it in the future to generate predictions.Accelerated TrainingLeverage BlobCity AI Cloud for fast training on large datasets. Reasonable cloud infrastructure included for free.Features and RoadmapNumercial data Classification and RegressionAutomatic feature selectionCode generationNeural Networks & Deep LearningImage ClassificationOptical Character Recognition (english only)Video tagging with YOLOGenerative AI using GAN