How to Build a Penguin Classification Web App in Python | Streamlit #3

preview_player
Показать описание
Have you ever wanted to build a web app for your data science project? But perhaps did not because of the extensive time needed to code the web app or intimidated by Django and flask? In this video, I will show you how to build an (intermediate level of difficulty) machine learning powered data science web app in Python using the streamlit library in a little over 100 lines of code. Particularly, we will be building a Penguins species classification web app using the Palmer Penguins dataset (4 quantitative variables and 3 qualitative variables; 1 of the qualitative variable will be used as the target variable for classification).

⭕ Code and Data:

⭕ Playlist:
Check out our other videos in the following playlists.

⭕ Subscribe:
If you're new here, it would mean the world to me if you would consider subscribing to this channel.

⭕ Recommended Tools:
Kite is a FREE AI-powered coding assistant that will help you code faster and smarter. The Kite plugin integrates with all the top editors and IDEs to give you smart completions and documentation while you’re typing. I've been using Kite and I love it!

⭕ Recommended Books:

⭕ Stock photos, graphics and videos used on this channel:

⭕ Follow us:

⭕ Disclaimer:
Recommended books and tools are affiliate links that gives me a portion of sales at no cost to you, which will contribute to the improvement of this channel's contents.

#datascience #webapp #dataapp #streamlit #freedatascience #machinelearning #dataprofessor #bigdata #machinelearning #datascienceproject #randomforest #decisiontree #svm #neuralnet #neuralnetwork #supportvectormachine #python #learnpython #pythonprogramming #datamining #bigdata #datascienceworkshop #dataminingworkshop #dataminingtutorial #datasciencetutorial #ai #artificialintelligence #tutorial #dataanalytics #dataanalysis #machinelearningmodel #dataprofessor #streamlittutorial
Рекомендации по теме
Комментарии
Автор

** Support this Channel
If you like this video, please make sure to LIKE, SUBSCRIBE, COMMENT and SHARE!

DataProfessor
Автор

Very neatly explained. Thanks a lot. While watching your video, I am also building the app in parallel. I never knew so much is possible with streamlit.

madhuful
Автор

Love this Streamlit series Chanin! Been using Streamlit more and the slider bars are an awesome feature.

Mario-oxdm
Автор

greatest man on the planet earth. Man, I can't explain my happiness in words!!!!
best tutorials on python

amangautam
Автор

simple yet powerful. I followed the Streamlit series and really enjoyed it. Thanks Chanin

heck
Автор

I just want to thank you so much!!!! Like I want to expose my knowledge to people with something more than a jupyter notebook! This is will help me a lot, thanks one more time

joaojulio
Автор

Hi! I wanted to give you some feedback:
The audio sounded to me as if it was slightly clipping, and there was some occasional popping. I find it strange to hear those artifacts, as it seems you have a nice mic with pop filter, but I did hear something odd with the audio.
I'm no audio expert, so I'm not sure what happened, but I imagine the clipping could be too much gain.
At around 7:38 you started manually resizing the window to fit only half the screen.
I think you may already know this, but in case you don't, you can simply drag the window all the way to the edge of the display until your cursor 'touches' the edge, and the window should snap there, fitting only half the screen, and then you can resize it to make it smaller or bigger if you want.
In case you have multiple monitors, or something else that makes it hard to hit the edge of the window that way, using the "Windows Key + arrows" key combination can also do the same trick.
For example, if you want the currently active window to fill only the left half of the screen, Win + ← will do the trick for you.
On Windows 10, it's even "smarter", as if you have multiple windows filling different parts of the screen, resizing one shared border can actually resize them both at the same time, so you don't have to manually shrink one and then enlarge the other, you just drag the shared border between the two, and as one shrinks, the other automatically enlarges to keep the borders "touching".
You may already know all those things, but in case you don't, I decided to point them out.

Micaeljm
Автор

Excellent presentation and explanations -- just perfect. Love it. Thanks Dr. DP -- I'm hooked.

johnsinclair
Автор

Your explanation is so clear and effortless to follow.

orjihvy
Автор

Hi Data Professor, why was it necessary to one hot encode those qualitative variables? Wouldn’t the random forest classifier performed just fine without one hot encoding? Loving this series and can’t wait to keep watching!

EDGoBigorGetLost
Автор

Congratulations !
A very good introduction in ML classification with a web-app. Well explained, step-by-step.
Looking forward for the model deployment on Heroku :)

sgatea
Автор

Streamlit series is very good going ..
please make a video on deploying this web app on GCP or other platforms that can be very useful

lonaresrhr
Автор

Very helpful! But, I have a tiny doubt.

At line #56 when you do df = df[:1], it'll select the first row, which will be the user data.

However, that'll be the case only when the user gives a single input through the slider, right? What if the user uploads a .csv file with multiple rows? Since both the possible inputs get stored in input_df and then transformed to df after encoding, we have no way to know if the user has just given a single input through the slider or multiple inputs through uploading a file. If it is the latter and we select only 1 row, wouldn't we lose the data?

I'm quite an amateur in this field so please forgive me if I have made some silly mistake. Keep uploading such wonderful content. You're a boon to us data science enthusiasts.

gangadharvidyadharmayadhar
Автор

Great work you do! Thanks for sharing your knowledge! :)

johannesallgaier
Автор

Thank you! this is what I've been looking for Data Professor! I wanted to ask you. This is something that I dont see a lot of, but how does the code handle reading in a csv with multiple rows (observations)? does it just list out each individual probabilities? Would you consider doing a video on how to aggregate to get an 'overall' probability?

semidevilz
Автор

Thanks a lot for the content . Great videos :)
ps : Already subscribed !

ihebbibani
Автор

I think we don’t need to import the random Forest Module in order to use the pickled model. The pickled object works even without importing the sklearn module in the code. This was also strange for me but it works so far in my projects.
P.S. i use Joblib to dump trained models

marcelh-
Автор

Thank prof for this another beautiful tutorial.
I had a naive query though while using `get_dummies()`, why did we not pass the `drop_first=True` parameter since it is recommended we do that to remove redundant features.

Thanks again, looking forward to the next tutorial!

utkar
Автор

can you make a video on image classification app using streamlit and also deploy in Heroku

pranaykumarpokala
Автор

Hi Data Professor, your example csv file, i find that it was save in a public repository in Github. What if my file is in private repository, how can i 'call' the csv file?

afpafp
visit shbcf.ru