MCPcopy Index your code
hub / github.com/Otutu11/Effort-Estimation-Model

github.com/Otutu11/Effort-Estimation-Model @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1 symbols 7 edges 1 files 1 documented · 100%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Effort Estimation Model

A machine learning model for predicting project effort based on various project characteristics, using synthetic data.

Table of Contents

Overview

This project implements a Random Forest regression model to estimate project effort (in person-days) based on synthetic project data. The model takes into account factors like project size, team experience, technical complexity, and development methodology.

Features

  • Synthetic data generation with customizable parameters
  • Exploratory data analysis visualizations
  • Random Forest regression model
  • Feature importance analysis
  • Model evaluation metrics
  • Example prediction capability

Installation

  1. Clone this repository: ```bash git clone https://github.com/Akajiaku1/effort-estimation-model.git cd effort-estimation-model

    Create and activate a virtual environment (recommended): bash Copy

    python -m venv venv source venv/bin/activate # On Windows use venv\Scripts\activate

    Install the required packages: bash Copy

    pip install -r requirements.txt

    Or install them manually: bash Copy

    pip install numpy pandas scikit-learn matplotlib seaborn

Usage

Run the main script: bash Copy

python effort_estimation.py

This will:

Generate synthetic project data

Train the effort estimation model

Evaluate the model performance

Show feature importance

Make an example prediction

Data Generation

The synthetic data includes these features: Feature Description Range/Values project_size Project size in function/story points Log-normal distribution team_experience Average team experience in years 1-10 years requirements_volatility Requirements stability 1-5 scale technical_complexity Technical difficulty 1-5 scale team_size Number of team members 2-10 people methodology Development methodology 1=Waterfall, 2=Agile, 3=Hybrid actual_effort Actual effort in person-days 20-200 days Model Details

Algorithm: Random Forest Regressor

Hyperparameters:

    n_estimators: 100

    random_state: 42

Input Features: All features except actual_effort

Target Variable: actual_effort

Evaluation Metrics

The model is evaluated using:

Mean Absolute Error (MAE): Average absolute difference between predictions and actual values

R-squared (R²): Proportion of variance in the dependent variable that's predictable

Typical performance on synthetic data:

MAE: ~8-12 person-days

R²: ~0.85-0.95

Author Name: Anslem Otutu Github: https://github.com/Otutu11

Core symbols most depended-on inside this repo

Shape

Function 1

Languages

Python100%

Modules by API surface

effort_estimation.py1 symbols

For agents

$ claude mcp add Effort-Estimation-Model \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page