I made the final dashboard!!! I’m almost done now; I just have to ship, and voilà. I’ve come a long way with this project. Obviously, I’m not done after the next couple of months; I am going to be adding external validation and more pathway enrichment. But those can’t really be counted as coding hours, so this is what I’m shipping. Tbh, I used a bit of AI for help with the Streamlit dashboard because I’m more of a backend guy, although I know a little bit of HTML and CSS.
I started my streamlit dashboard and am gonna start accounting for batch effect in my therapeutic model. Also I generated more plots and started thinking about poster for the Science Fair. Also make sure to check out my github repo in my project i just finished my readme.
holy frick, it’s been a while since I wrote a devlog.
Over the last stretch, I accidentally turned my project into a confusing two-layer setup. I eventually realized I had completely messed up the labels and was kind of just assuming things. The dataset actually has four groups: PD, CONTROL, PD(BASELINE), and PD(RASAGILINE). Once that clicked, my brain was fried for a bit.
To reset, I went back to basics and rebuilt the model using just the PD and CONTROL samples. I also added a filter so that any samples with steps: no data get removed. Once I cleaned that up and reran everything, the results were insanely good — way more stable and way more believable than before.
On the modeling side, I now have a new training loop built around Elastic Net. I basically ran a Hunger Games-style showdown between a bunch of model types, and Elastic Net absolutely dominated. I hooked this into my cross-validation pipeline and started generating a fresh set of SHAP plots so I can actually see which miRNAs are driving the predictions.
Next, I’m planning to move from just “cool metrics” to real biological validation. I want to use tools like TargetScan and KEGG pathway analysis to check whether my top miRNA biomarkers line up with known Parkinson’s-related pathways and targets. If the pathways make sense biologically, that’ll be a huge confidence boost that my model isn’t just overfitting.
I’m also planning to build a Streamlit dashboard so the whole pipeline is actually usable and demo-able at the science fair in a couple of months. The idea is to have a clean interface where someone can see performance metrics, SHAP plots, key biomarkers, and maybe even pathway summaries without digging through notebooks.
On top of that, I want to generate way more diagnostic plots — ROC curves, precision–recall curves, PCA visualizations, SHAP summary plots, and anything else that helps explain what the model is doing. Basically, I’m trying to turn this into a transparent, glass-box pipeline instead of a black-box model.
Overall, even though I went through a mini-labels disaster, I feel like I’m in a really good place now. The pipeline is cleaner, the results are stronger, and I actually understand what’s going on under the hood — honestly, I’m doing awesome.
Today was an absolutely massive workday! I spent 2 hours and 31 minutes fixing two layers of data leakage.
03_nested_cv_evaluation.ipynb.When I ran the leak-free pipeline, Elastic Net blew everything else out of the water:
To make sure the 0.992 wasn’t a ghost score, I ran a permutation test with shuffled labels.
hsa-mir-23a as the top biomarker.I finished my README!!! It took a while(not too long though) and it made my repo look professional ig. The preprocessing bug is still up and running so I’ll spend some more time on that.
If you wanna see the repo click here:
https://github.com/DrivingStork3952
I added new git files to make the code run smoother ig. Also I used markdown to write a Readme which was fun(this is my first time with all this documentation and stuff). Also when I was migrating from Google colab to vscode i have to change some parts of my notebook and somehow there’s a bug in preprocessing. So tomorrow I’ll be trying to fix that, I’d say it’s a pretty good workday.
Yesterday XGboost wasnt really working so today I switched to logistic regression and it worked perfectly. My ROC AUC and AP are now pretty solid and I can trust the biomarkers that my model extract.
Tomorrow, I’m going to be try to use Random Forest standard instead of XGboost and maybe see if that makes it better. Also, I’m going to focus on documentation readmes all that.
As you can see in the PCA Space plot the controls and the patients are split up pretty well and looks clean.
I’m also looking into using TargetScan with Kegg Pathway Analysis to Biologically validate my top 14 biomarkers.
Hi! This is my first parkinson’s project devlog.
I started this project around 3 months ago, and I knew nothing about machine learning then. In that time, I learnt everything I needed for my project. So far, I have made a decent pipeline to identify biomarkers.
I’m using an NCBI GEO Superseries for training, and I was planning on using a Portuguese cohort for extra real-world data tests.
Today, when I was comparing whether to use XGBoost or Random Forest, it gave accuracies of 93-95%, but after more tests, I realized that my AUC rn is around 70%.
Tomorrow, I’m going to try switching from XGBoost + Boruta feature selection to Logistic Regression to see if my AUC can be brought up to at least 80.
I built my Slack bot. I used Node.js for the first time,e and it was really interesting using APIs with JavaScript. For reference,e my main language is Python, that’s what I usually code everything in.
The project started as just a ping and joke, and cat fact, but I started looking into more APIs and kept adding.
Bigbott isn’t live is because I still have to apply for a nest container.
Hackatime is also being weird and said I only worked on it for 20 minutes, but it was actually a lot more, at least 1 hour.
As soon as my Nest Container gets approved, Bigbot will be available for everyone to use (if you want to).