A modern, fintech-styled machine learning dashboard for analyzing and predicting income levels based on the UCI Adult Income Dataset.
Earnomly is an interactive web application that provides comprehensive analysis of socioeconomic factors affecting income levels. It combines exploratory data analysis with machine learning models to predict whether an individual's income exceeds $50K annually.
- Dataset statistics and sample data viewer
- Data quality metrics with missing value analysis
- Interactive data exploration
- Income distribution visualization
- Age vs Income correlation analysis
- Interactive correlation heatmaps
- Workclass distribution charts
- Random Forest Classifier - Ensemble learning with configurable trees (50-300) and depth
- Logistic Regression - Linear classification with regularization tuning
- Performance metrics: Accuracy, Precision, Recall, F1-Score
- Confusion matrix visualization
- K-Means Clustering - Pattern discovery with configurable clusters (2-10)
- PCA Visualization - Dimensionality reduction with explained variance ratio
- Elbow method for optimal cluster selection
- Real-time income prediction based on user inputs
- Visual confidence scores with probability gauges
- Premium result display with gradient styling
- Frontend: Streamlit with custom CSS
- Visualization: Plotly Express
- Machine Learning: Scikit-learn
- Data Processing: Pandas, NumPy
# Clone the repository
git clone https://github.com/yourusername/earnomly.git
cd earnomly
# Install dependencies
pip install -r requirements.txt
# Run the application
streamlit run app.pystreamlit
pandas
numpy
plotly
scikit-learn
The project uses the UCI Adult Income Dataset containing 32,561 records with 15 attributes including:
- Demographics: Age, Sex, Race, Native Country
- Education: Education Level, Education Years
- Employment: Workclass, Occupation, Hours per Week
- Financial: Capital Gain, Capital Loss
- Target: Income (<=50K or >50K)
MLProject/
├── app.py # Main Streamlit application
├── ui_config.py # UI styling and SVG components
├── Logo.svg # Project logo
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── .streamlit/
│ └── config.toml # Streamlit theme configuration
└── adultData/
└── adult.data # UCI Adult Income Dataset
- Train a Model: Navigate to "Supervised Learning" and click "Start Training"
- Explore Data: Use "Data Overview" and "Data Analysis" for EDA
- Discover Patterns: Use "Unsupervised Learning" for clustering
- Make Predictions: Go to "Income Predictor" and enter details
The UI features a minimalist fintech aesthetic with:
- Dark theme with subtle gradients
- Custom SVG icons (no emojis)
- Inter & Outfit typography
- Glassmorphism card effects
- Responsive layout
Built with Streamlit and Scikit-learn.

