The website has been hosted on my project partner Khushee Kapoor's domain name.
Link to the application: https://shrtco.de/intellimachine
IntelliMachine is a beginner-friendly Machine Learning Portal inspired from the concept of AutoML where users can deploy Machine Learning Algorithms, perform EDA techniques, and make Visualizations on datasets with the help of some buttons and no-code with explanations all throughout.
The Home Page of the application doubles as the Data Upload Page. The user has the option to upload a csv or an excel file.
After uploading the dataset, on clicking the Load Data button, the user can see the dataset loaded into a Pandas dataframe, alongwith the number of rows and columns in the dataframe.
To proceed with the analysis, the user can use the Navigation Menu on the left pane, which connects the user with the Pre-Processing, Visualization, and the Model Building Pages. The Navigation Menu uses OOPs principles to connect the pages together.
The Pre-Processing Page presents three strategies - Handling Missing Values, Feature Scaling and Transformation, and Encoding Categorical Columns.
Let's explore the first option - Handling Missing Values. On expanding the option, the user is provided with a summary of the missing values per column. To handle them, three options are available - Removing Columns, Removing Observations, and Filling with Values (mean/ median/ mode/ user-defined constant).
To make the application more beginner-friendly, a tool-tip with a small explanation is provided.
Venturing into the second option - Feature Scaling and Transformation.
A variety of Feature Scaling and Transformation options have been given to the user - including Standard, MinMax, MaxAbs and Robust scalers and Log, Square Root, and Cube Root transformers.
A success message is posted and the changed dataframe is displayed at the end of the function.
The user can also encode categorical columns by exploring the Encode Categorical Columns option.
Navigating to the Data Visualization Page. The user has a number of charts to choose from for plotting - including Scatter, Line, Bar, Violin, KDE, and Pair plots, Heatmap, and Histogram.
The user can also add hue/ shape/ and size variables.
On clicking Visualize, the chart is plotted. The code to replicate the chart is also printed.
Coming to Model Building, one of the most exciting features. The user can solve two types of Supervised Machine Learning problems - Regression and Classification.
The user has numerous algorithms to try out - including Regression, Descision Trees, Random Forests, AdaBoost and XGBoost.
The user can select features and set the training size suited to their data.
At the end of running the algorithm, the user is provided with a number of evaluation metrics - including MSE, RMSE, ROC Curve, and Confusion Matrix, and the code to replicate the same.