<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Research Paper | Ukant Jadia</title><link>https://ukantjadia.github.io/tag/research-paper/</link><atom:link href="https://ukantjadia.github.io/tag/research-paper/index.xml" rel="self" type="application/rss+xml"/><description>Research Paper</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 01 Aug 2024 00:00:00 +0000</lastBuildDate><image><url>https://ukantjadia.github.io/media/icon_hu5e29e1df12b63ca0c9252c8db4842f1b_8915_512x512_fill_lanczos_center_3.png</url><title>Research Paper</title><link>https://ukantjadia.github.io/tag/research-paper/</link></image><item><title>ECG-Lense: Cardiac ECG Classification (IEEE Published)</title><link>https://ukantjadia.github.io/project/heart-ecg-project/</link><pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate><guid>https://ukantjadia.github.io/project/heart-ecg-project/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>Published at ETNCC 2024 · IEEE&lt;/strong> · DOI: &lt;a href="https://doi.org/10.1109/ETNCC63262.2024.10767459" target="_blank" rel="noopener">10.1109/ETNCC63262.2024.10767459&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;h2 id="headline-numbers">Headline numbers&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>80% classification accuracy&lt;/strong>&lt;/li>
&lt;li>&lt;strong>90% ROC-AUC&lt;/strong>, the best of all six models tested&lt;/li>
&lt;li>&lt;strong>21,837 ECG records&lt;/strong> · 18,885 patients · 12-lead · PTB-XL dataset&lt;/li>
&lt;/ul>
&lt;h2 id="what-it-is">What it is&lt;/h2>
&lt;p>ECG-Lense is the deep CNN architecture I built and benchmarked against five other models for classifying cardiac ECG signals. Three classical ML, three deep learning, head-to-head on the same dataset and same metrics. ECG-Lense wins.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Model&lt;/th>
&lt;th>Type&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Decision Tree&lt;/td>
&lt;td>Classical&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Random Forest&lt;/td>
&lt;td>Classical&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Logistic Regression&lt;/td>
&lt;td>Classical&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Simple CNN&lt;/td>
&lt;td>Deep&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>LSTM&lt;/td>
&lt;td>Deep&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>ECG-Lense (Complex CNN)&lt;/strong>&lt;/td>
&lt;td>&lt;strong>Deep (proposed)&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="what-i-actually-did">What I actually did&lt;/h2>
&lt;ul>
&lt;li>Worked off the &lt;a href="https://physionet.org/content/ptb-xl/1.0.3/" target="_blank" rel="noopener">PTB-XL dataset&lt;/a>: clinical 12-lead ECGs, 10 seconds each, sampled at 100 Hz, with hierarchical diagnostic labels (5 superclasses, 24 subclasses)&lt;/li>
&lt;li>Preprocessed signals with &lt;code>wfdb&lt;/code> and standard ML libraries&lt;/li>
&lt;li>Implemented a stationary wavelet transform (SWT) for &lt;strong>data augmentation&lt;/strong>. The dataset is imbalanced and the augmentation increased sample diversity while preserving signal characteristics&lt;/li>
&lt;li>Trained the deep models on raw ECG signals so feature extraction would be automatic&lt;/li>
&lt;li>Evaluated on accuracy, precision, recall, F1, and ROC-AUC&lt;/li>
&lt;/ul>
&lt;h2 id="what-broke-and-what-i-learned">What broke and what I learned&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Class imbalance was the actual problem.&lt;/strong> First CNN runs hit a wall around 70% accuracy because rare cardiac classes were under-represented. SWT-based augmentation unlocked the next 10 points.&lt;/li>
&lt;li>&lt;strong>Raw signals beat hand-crafted features.&lt;/strong> Classical ML on extracted features stalled. The deep models, given raw signals, found patterns the feature engineering had thrown away.&lt;/li>
&lt;li>&lt;strong>More layers wasn&amp;rsquo;t the answer.&lt;/strong> ECG-Lense is &amp;ldquo;complex&amp;rdquo; relative to the simple CNN baseline, but each block earns its place. Depth for depth&amp;rsquo;s sake didn&amp;rsquo;t help.&lt;/li>
&lt;/ul>
&lt;p>Six months of work. A+ thesis grade. Submitted to IEEE during the project, accepted, presented and published at ETNCC 2024.&lt;/p>
&lt;h2 id="stack">Stack&lt;/h2>
&lt;p>Python · TensorFlow · Keras · scikit-learn · MLFlow · &lt;code>wfdb&lt;/code> · NumPy · pandas&lt;/p>
&lt;h2 id="acknowledgements">Acknowledgements&lt;/h2>
&lt;p>Mentor: &lt;strong>Dr. Kamal Kant Hiran&lt;/strong> (PhD). He pushed me to write the paper, guided the work end-to-end.
Supervisors: &lt;strong>Alok Kumar&lt;/strong>, &lt;strong>Dr. Chandani Joshi&lt;/strong>, &lt;strong>Harsh Bansal&lt;/strong>.&lt;/p>
&lt;h2 id="dataset-images">Dataset images&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>The dataset comprises 21,837 clinical 12-lead ECG records of 10 seconds in length from 18,885 patients. Hierarchical diagnostic organization: 5 superclasses, 24 sub-classes.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710042174672" srcset="
/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_d73d6067d9f8a17aa93adec711d3ef1b.webp 400w,
/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_7382c3df4dbd7f3cb64751f8ed807327.webp 760w,
/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_d73d6067d9f8a17aa93adec711d3ef1b.webp"
width="699"
height="511"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Metadata in &lt;code>ptbxl_database.csv&lt;/code>: each ECG identified by a unique &lt;code>ecg_id&lt;/code> with SCP codes for multi-label classification.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710042188040" srcset="
/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_60bb6de163d0ad0363a04ee12f410402.webp 400w,
/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_62d8ca151f00d39ca7ac06751c232aab.webp 760w,
/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_60bb6de163d0ad0363a04ee12f410402.webp"
width="760"
height="540"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>Demographic overview of patients in PTB-XL.&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="alt text" srcset="
/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_3ff4e44550cef96969d1d53bcc039626.webp 400w,
/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_297b7db56075283464819cc7331aed69.webp 760w,
/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_3ff4e44550cef96969d1d53bcc039626.webp"
width="760"
height="176"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>
&lt;p>The dataset comprises 21837 clinical 12-lead ECG records of 10 seconds in length from 18885 patients.
For the diagnostic labels, it provides a hierarchical organization in terms of 5 coarse superclasses and 24 sub-classes for the diagnostic labels
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710042174672" srcset="
/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_d73d6067d9f8a17aa93adec711d3ef1b.webp 400w,
/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_7382c3df4dbd7f3cb64751f8ed807327.webp 760w,
/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/heart-ecg-project/image/index/1710042174672_huab6aa6815c95dad34d3596f01d7dcac1_57806_d73d6067d9f8a17aa93adec711d3ef1b.webp"
width="699"
height="511"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Columns provided in the metadata table ptbxl_database.csv. Each ECG is identified by a unique ID (ecg_id) and comes with several ECG statements (scp_codes) that can be used to train a multi-label classifier that can be evaluated based on the proposed fold assignments (strat_fold).&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710042188040" srcset="
/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_60bb6de163d0ad0363a04ee12f410402.webp 400w,
/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_62d8ca151f00d39ca7ac06751c232aab.webp 760w,
/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/heart-ecg-project/image/index/1710042188040_hu17ead9c75a994f2e546e4e2de9491025_145455_60bb6de163d0ad0363a04ee12f410402.webp"
width="760"
height="540"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>Demographic overview of patients in PTB-XL.&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="alt text" srcset="
/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_3ff4e44550cef96969d1d53bcc039626.webp 400w,
/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_297b7db56075283464819cc7331aed69.webp 760w,
/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/heart-ecg-project/image/index/image_hua18d158d4f382e7ba3fe30b58b906f8a_23731_3ff4e44550cef96969d1d53bcc039626.webp"
width="760"
height="176"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>OBE Module for University</title><link>https://ukantjadia.github.io/project/obe-module-for-spsu/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><guid>https://ukantjadia.github.io/project/obe-module-for-spsu/</guid><description>&lt;p>&lt;strong>This was a team project.&lt;/strong>&lt;/p>
&lt;p>The aim of this project is to provide the university with a web portal for the implementation of Outcome-Based Education (OBE).&lt;/p>
&lt;p>OBE can primarily be distinguished from traditional education methods by the way it incorporates three elements: a theory of education, a systematic structure for education, and a specific approach to instructional practice. It organizes the entire educational system towards what is considered essential for learners to successfully achieve at the end of their learning experiences. In this model, the term &amp;lsquo;outcome&amp;rsquo; is the core concept and is sometimes used interchangeably with the terms &amp;lsquo;competency,&amp;rsquo; &amp;lsquo;standards,&amp;rsquo; &amp;lsquo;benchmarks,&amp;rsquo; and &amp;lsquo;attainment targets.&amp;rsquo; OBE also utilizes the same methodology formally and informally adopted in the actual workplace to achieve outcomes.&lt;/p>
&lt;p>The web portal is built with the Laravel framework of PHP for the front end and utilizes MySQL for the database.&lt;/p>
&lt;p>My Role: My role is to build the business logic, conduct literature reviews, generate reports, and suggest the next steps based on those reports. I also assist in building the database&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710048747037" srcset="
/project/obe-module-for-spsu/image/index/1710048747037_hue9e6ec9a78bd74aa809eeb7ae3a6365b_278261_192c78ddb3443505d092d22daa76c8ac.webp 400w,
/project/obe-module-for-spsu/image/index/1710048747037_hue9e6ec9a78bd74aa809eeb7ae3a6365b_278261_bff25dde88565a1109fe7ec27ad32bcf.webp 760w,
/project/obe-module-for-spsu/image/index/1710048747037_hue9e6ec9a78bd74aa809eeb7ae3a6365b_278261_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/obe-module-for-spsu/image/index/1710048747037_hue9e6ec9a78bd74aa809eeb7ae3a6365b_278261_192c78ddb3443505d092d22daa76c8ac.webp"
width="489"
height="680"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>Bloom's Taxonomy Level Detection</title><link>https://ukantjadia.github.io/project/blooms-taxonomy-level-detection/</link><pubDate>Wed, 13 Dec 2023 00:00:00 +0000</pubDate><guid>https://ukantjadia.github.io/project/blooms-taxonomy-level-detection/</guid><description>&lt;!-- For using this project here is a Streamlit app URL(it will take some time to launch) [https://ukant.tech/Boolm-s-Level-Detection-A-MLOPS-Project/] -->
&lt;p>To know Bloom&amp;rsquo;s Taxonomy in Detail see this pdf &lt;a href="./blooms-level.pdf">This&lt;/a>&lt;/p>
&lt;p>This project aims to classify the given statement into accurate Bloom&amp;rsquo;s taxonomy levels out of six levels. This is an NLP-based project. This project is built with TF-IDF vectorizer and multinomial Naive Bayes techniques.&lt;/p>
&lt;p>&lt;strong>Bloom&amp;rsquo;s Taxonomy Levels&lt;/strong>: Bloom’s Taxonomy is a classification system that arranges learning objectives into six hierarchical levels, each representing a different cognitive skill.&lt;/p>
&lt;p>The model is trained on 1800 augmented statements. Initially, I had 100 statements for each class, so a total of 600 statements for six classes. Then, this data is augmented three times using contextual word embedding augmentation, and the model used in the augmentation is BERT-based. An example of the augmentation methodology.&lt;/p>
&lt;!-- is inserted below
augmented each Text input 3 times with the following parameter with `nlpaug` library
```python
ContextualWordEmbsAug(model_path="bert-base-uncased", action="insert")
```
> before augmendatation data shape : 600,2
> total 6 unique calsses 100 each
> augmented data shape : 1800,2
> total 6 unique classes 300 each -->
&lt;p>This project follows MLOps techniques well. I have divided this project into 6 different pipelines for easy implementation and scalability. I created a class in the pipeline for each class using different entities and components. In generating a configuration file from the user input in the YAML format.&lt;/p>
&lt;p>In the end, I created a Docker image so it can be used by the Higher Education Institute(HEIs) for those who are using the OBE(Object Based Education) new curriculum technique. It just reduced the manual process of identifying each question and its root taxonomy level.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710044827297" srcset="
/project/blooms-taxonomy-level-detection/image/index/1710044827297_huec0ef018b8174a6574a593f12b1f55a4_16706_65c5983ca6fef4d3db443398d8482d70.webp 400w,
/project/blooms-taxonomy-level-detection/image/index/1710044827297_huec0ef018b8174a6574a593f12b1f55a4_16706_523070eb35e1755ac001a6c84baad697.webp 760w,
/project/blooms-taxonomy-level-detection/image/index/1710044827297_huec0ef018b8174a6574a593f12b1f55a4_16706_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/blooms-taxonomy-level-detection/image/index/1710044827297_huec0ef018b8174a6574a593f12b1f55a4_16706_65c5983ca6fef4d3db443398d8482d70.webp"
width="391"
height="467"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710044894646" srcset="
/project/blooms-taxonomy-level-detection/image/index/1710044894646_hu433535a207122598080444a49931bb7e_314453_96cd67fe86666383cd78b4ece48564c6.webp 400w,
/project/blooms-taxonomy-level-detection/image/index/1710044894646_hu433535a207122598080444a49931bb7e_314453_2f49ab52963c10560f1e43588d92e464.webp 760w,
/project/blooms-taxonomy-level-detection/image/index/1710044894646_hu433535a207122598080444a49931bb7e_314453_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/blooms-taxonomy-level-detection/image/index/1710044894646_hu433535a207122598080444a49931bb7e_314453_96cd67fe86666383cd78b4ece48564c6.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1710044907287" srcset="
/project/blooms-taxonomy-level-detection/image/index/1710044907287_hu7d010b5fd06d077b99e32210ce4d019c_218512_675fe40bc76270607c7a4fce63812053.webp 400w,
/project/blooms-taxonomy-level-detection/image/index/1710044907287_hu7d010b5fd06d077b99e32210ce4d019c_218512_4c4e3ba1c6950e444a02a98d6ef4d855.webp 760w,
/project/blooms-taxonomy-level-detection/image/index/1710044907287_hu7d010b5fd06d077b99e32210ce4d019c_218512_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://ukantjadia.github.io/project/blooms-taxonomy-level-detection/image/index/1710044907287_hu7d010b5fd06d077b99e32210ce4d019c_218512_675fe40bc76270607c7a4fce63812053.webp"
width="760"
height="390"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item></channel></rss>