diff --git a/_pages/projects.md b/_pages/projects.md index 0b660bf..dfd1e0b 100644 --- a/_pages/projects.md +++ b/_pages/projects.md @@ -2,28 +2,456 @@ layout: page title: Projects permalink: /projects/ -description: Selected research and technical work, with emphasis on validation, reproducibility, and practical results. +description: Selected research and technical case studies in computational biology, machine learning, forecasting, computer vision, and signal processing. nav: true nav_order: 3 -display_categories: [research, machine-learning, data-science] -horizontal: true --- -
-{% if site.enable_project_categories and page.display_categories %} - {% for category in page.display_categories %} - -

{{ category | replace: "-", " " | capitalize }}

-
- {% assign categorized_projects = site.projects | where: "category", category %} - {% assign sorted_projects = categorized_projects | sort: "importance" %} -
-
- {% for project in sorted_projects %} - {% include projects_horizontal.liquid %} - {% endfor %} + + +
+
+
Selected work
+

Research questions turned into reproducible evidence.

+

+ My work spans computational biology, applied machine learning, forecasting, computer vision, and signal + processing. Each case study emphasizes a clear validation question, transparent metrics, and limitations that + matter beyond a single model score. +

+
+
6documented case studies
+
3technical focus areas
+
R + Pythoncross-language research workflows
-
- {% endfor %} -{% endif %} + + + + +{% assign category_keys = "research,machine-learning,data-science" | split: "," %} +{% assign category_titles = "Research & Computational Biology,Machine Learning,Data Science & Signal Processing" | split: "," %} +{% assign category_descriptions = "Multi-omics integration and group-aware scientific modeling,Generalization-focused predictive and computer-vision systems,Forecasting and physiological signal analysis" | split: "," %} + +{% for category_key in category_keys %} +{% assign category_index = forloop.index0 %} +{% assign category_projects = site.projects | where: "category", category_key | sort: "featured_order" %} + +
+
+

{{ category_titles[category_index] }}

+{{ category_descriptions[category_index] }} +
+ +
+ {% for project in category_projects %} +
+
+ {{ project.project_type }} + {{ project.status }} +
+ +

{{ project.title }}

+

{{ project.description }}

+ + {% if project.metric_value %} +
+ {{ project.metric_value }} + {{ project.metric_label }} +
+ {% endif %} + + {% if project.card_highlights %} +
    + {% for highlight in project.card_highlights %} +
  • {{ highlight }}
  • + {% endfor %} +
+ {% endif %} + + {% if project.tools %} +
+ {% for tool in project.tools %} + {{ tool }} + {% endfor %} +
+ {% endif %} + +
+ + Case study + + {% for resource in project.resources %} + + {{ resource.label }} + + {% endfor %} +
+
+ {% endfor %} +
+
+ +{% endfor %} + +
+
+

Validation matches the question

+

Temporal, participant-aware, and group-aware splits are chosen to reflect the intended use of a model.

+
+
+

Reproducibility is engineered

+

Preprocessing, seeds, configurations, software versions, and intermediate outputs are made explicit.

+
+
+

Limitations stay visible

+

Results are presented with their dataset scope, uncertainty, and external-validation requirements.

+
+
+ +

+ Public code links are shown only where a matching repository is available. Other links lead to authoritative method + documentation used to contextualize the case study. +

diff --git a/_projects/ecg-heart-rate.md b/_projects/ecg-heart-rate.md index c98ea6f..a80bb03 100644 --- a/_projects/ecg-heart-rate.md +++ b/_projects/ecg-heart-rate.md @@ -3,7 +3,21 @@ layout: page title: ECG Heart-rate Estimation description: Signal-processing pipeline for robust heart-rate estimation from short ECG segments. importance: 1 +featured_order: 6 category: data-science +project_type: Signal processing +status: Completed study +metric_value: 200 × 30s +metric_label: ECG segments analyzed at a sampling rate of 200 Hz +card_highlights: + - Combines peak detection with autocorrelation and spectral evidence. + - Makes low-confidence segments and physiological plausibility checks explicit. +tools: [Python, NumPy, SciPy, peak detection, spectral analysis] +resources: + - label: Peak detection + url: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html + - label: Welch PSD + url: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.welch.html --- ## Overview diff --git a/_projects/human-activity-recognition.md b/_projects/human-activity-recognition.md index 9141f12..ae720af 100644 --- a/_projects/human-activity-recognition.md +++ b/_projects/human-activity-recognition.md @@ -3,7 +3,19 @@ layout: page title: Human Activity Recognition description: Participant-aware classification with random forests, support vector machines, and LOSO validation. importance: 2 +featured_order: 4 category: machine-learning +project_type: Sensor classification +status: Completed study +metric_value: LOSO +metric_label: participant-level validation for performance on unseen users +card_highlights: + - Compares random forests and support vector machines with consistent model selection. + - Keeps every participant entirely within one validation fold. +tools: [Python, scikit-learn, random forest, SVM, grouped CV] +resources: + - label: LeaveOneGroupOut + url: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.LeaveOneGroupOut.html --- ## Overview diff --git a/_projects/image-segmentation.md b/_projects/image-segmentation.md index 23663d1..6f30ff4 100644 --- a/_projects/image-segmentation.md +++ b/_projects/image-segmentation.md @@ -3,7 +3,19 @@ layout: page title: RGB and NIR Image Segmentation description: Controlled comparison of RGB and multimodal inputs for semantic segmentation. importance: 3 +featured_order: 5 category: machine-learning +project_type: Computer vision +status: Completed study +metric_value: "87.01%" +metric_label: RGB test score in the controlled input-modality comparison +card_highlights: + - Compares RGB with combined RGB and near-infrared inputs under one protocol. + - Shows that an additional modality does not guarantee improved generalization. +tools: [Python, deep learning, RGB/NIR, semantic segmentation] +resources: + - label: Segmentation models + url: https://docs.pytorch.org/vision/stable/models.html#semantic-segmentation --- ## Overview diff --git a/_projects/joint-rpca-multiomics.md b/_projects/joint-rpca-multiomics.md index 26b9087..576fc85 100644 --- a/_projects/joint-rpca-multiomics.md +++ b/_projects/joint-rpca-multiomics.md @@ -3,7 +3,25 @@ layout: page title: Joint-RPCA for Multi-omics Integration description: Cross-language validation of R/Bioconductor and Python workflows for microbiome data. importance: 1 +featured_order: 1 category: research +project_type: Computational biology +status: Active research +metric_value: "60" +metric_label: shared samples retained across the current multi-omics workflow +card_highlights: + - Aligns filtering, configuration, and randomness across R and Python implementations. + - Compares scores and loadings after accounting for latent-space indeterminacy. +tools: [R, Python, Bioconductor, Gemelli, Quarto] +resources: + - label: R implementation + url: https://github.com/sabujcb/Joint_RPCA_in_R + - label: mia development + url: https://github.com/sabujcb/mia_JRPCA + - label: Workflow + url: https://github.com/sabujcb/OMAWorkflows + - label: Gemelli + url: https://github.com/biocore/gemelli --- ## Overview diff --git a/_projects/protein-drug-affinity.md b/_projects/protein-drug-affinity.md index 3bc6608..0ede13a 100644 --- a/_projects/protein-drug-affinity.md +++ b/_projects/protein-drug-affinity.md @@ -3,7 +3,19 @@ layout: page title: Protein–Drug Affinity Prediction description: Validation study showing how evaluation design changes apparent model generalization. importance: 2 +featured_order: 2 category: research +project_type: Predictive modeling +status: Completed study +metric_value: "≈0.512" +metric_label: concordance index when generalizing to an unseen protein +card_highlights: + - Contrasts observation-, protein-, and drug-level holdout strategies. + - Demonstrates how a strong aggregate score can conceal weak deployment generalization. +tools: [Python, scikit-learn, grouped CV, concordance index] +resources: + - label: Grouped CV + url: https://scikit-learn.org/stable/modules/cross_validation.html#cross-validation-iterators-for-grouped-data --- ## Overview diff --git a/_projects/solar-energy-forecasting.md b/_projects/solar-energy-forecasting.md index d1ec46d..dbd8eeb 100644 --- a/_projects/solar-energy-forecasting.md +++ b/_projects/solar-energy-forecasting.md @@ -3,7 +3,21 @@ layout: page title: Solar Energy Forecasting description: Statistical and machine learning models for short-term photovoltaic production forecasting. importance: 1 +featured_order: 3 category: machine-learning +project_type: Time-series forecasting +status: Completed study +metric_value: "≈0.1618" +metric_label: best non-differenced XGBoost MAE in the project target scale +card_highlights: + - Benchmarks statistical and machine learning models on identical forecast windows. + - Preserves temporal ordering to prevent future-to-past leakage. +tools: [Python, R, XGBoost, ARIMA/ETS, time-series CV] +resources: + - label: TimeSeriesSplit + url: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html + - label: XGBoost + url: https://xgboost.readthedocs.io/en/stable/ --- ## Overview