- CodeCraft by Dr. Christine Lee
- Posts
- 🔍 Career Path Predictor: Easy KNN Guide!
🔍 Career Path Predictor: Easy KNN Guide!
🛠️ Step-by-Step Guide
Building a Career Path Predictor with K-Nearest Neighbors
In this post, we’re diving into a fun and friendly exploration of a Python code snippet that predicts career paths based on your interests, skills, and goals using machine learning.
We'll break it down step-by-step so even beginners can follow along with ease!
🧠 Understanding the Data
The code starts with some sample data:
data = [
['technology', 'coding', 'problem-solving', 'Software Engineer'],
['art', 'creativity', 'design', 'Graphic Designer'],
['math', 'statistics', 'analysis', 'Data Scientist']
]
This data contains a list of career paths, each described by three features: interests, skills, and goals. The last item in each list is the career path.
For example, if you’re into technology, coding, and problem-solving, the model might suggest that you’d make a great Software Engineer.
🎛️ Encoding the Data
Machine learning algorithms like K-Nearest Neighbors (KNN) work best with numbers, but our data is made up of words!
That’s where LabelEncoder comes in. LabelEncoder transforms these words into numbers so the algorithm can process them.
from sklearn.preprocessing import LabelEncoder
# Initialize LabelEncoders for each feature column
encoders = [LabelEncoder() for _ in range(len(X[0]))]
# Transform each column in X
X_encoded = []
for col, encoder in zip(zip(*X), encoders):
X_encoded.append(encoder.fit_transform(col))
# Transpose back to original shape
X_encoded = list(zip(*X_encoded))
Here's what's happening:
LabelEncoder is created for each feature (interests, skills, goals).
Each feature column is transformed from words into numbers.
The result is an encoded dataset that the model can work with.
🧑🔧 Training the Model
Now that we have our data in numeric form, it's time to train the KNN model.
from sklearn.neighbors import KNeighborsClassifier
# Train the model
model = KNeighborsClassifier(n_neighbors=1)
model.fit(X_encoded, y_encoded)
The KNN algorithm is like a helpful neighbor who gives advice based on what they’ve seen before.
If you tell them what you like, they’ll look at similar people (in this case, career paths) and make a suggestion.
In this example, we set n_neighbors=1
, meaning the model will find the single closest match.
🔮 Making Predictions
Once the model is trained, you can predict a career path based on new input:
def predict_career(model, encoders, label_encoder, user_input):
user_input_encoded = [encoder.transform([feature])[0] for feature, encoder in zip(user_input, encoders)]
predicted_label = model.predict([user_input_encoded])[0]
# Decode the predicted label back to the career path
return label_encoder.inverse_transform([predicted_label])[0]
Here’s how it works:
User Input: You provide your interests, skills, and goals.
Encoding: The input is encoded using the same method as before.
Prediction: The model predicts a career path based on the input.
Decoding: Finally, the numerical prediction is converted back into a career path name.
💡 Example in Action
Let’s see it in action with some example input:
user_input = ['technology', 'coding', 'problem-solving']
predicted_career = predict_career(model, encoders, label_encoder, user_input)
print(predicted_career)
This would print "Software Engineer"—a career that matches your interests!
Software Engineer!
Final Thoughts
And there you have it! With this post, you've learned how to build a simple career path predictor using Python's KNeighborsClassifier
and LabelEncoder
.
It's a powerful way to explore how machine learning can make smart suggestions based on your input.
Keep experimenting and have fun with your new AI skills! 🎉
Coding with a Smile 🤣 😂
Lambda Love:
Falling for lambda functions is like discovering instant coffee.
It’s quick, efficient, and perfect for those moments when you need a little pick-me-up in your code.
Recommended Resources 📚
Stay up-to-date with 1440 Media…
Why 1440? The printing press was invented around the year 1440, spreading knowledge to the masses and changing the course of history.
More facts: In every day, there are 1,440 minutes.
Subscribe to make each one count.
Daily News for Curious Minds
Be the smartest person in the room by reading 1440! Dive into 1440, where 4 million Americans find their daily, fact-based news fix. We navigate through 100+ sources to deliver a comprehensive roundup from every corner of the internet – politics, global events, business, and culture, all in a quick, 5-minute newsletter. It's completely free and devoid of bias or political influence, ensuring you get the facts straight. Subscribe to 1440 today.
Let’s Inspire Future AI Coders Together! ☕
I’m excited to continue sharing my passion for Python programming and AI with you all. If you’ve enjoyed the content and found it helpful, do consider supporting my work with a small gift. Just click the link below to make a difference – it’s quick, easy, and every bit helps and motivates me to keep creating awesome contents for you.
Thank you for being amazing!
What’s Next? 📅
Plant Care Guide:
Design an app that gives advice on how to care for various plants.
Users can input plant types, current conditions, and desired outcomes, and the expert system provides tailored care instructions.
Ready for More Python Fun? 📬
Subscribe to our newsletter now and get a free Python cheat sheet! 📑 Dive deeper into Python programming with more exciting projects and tutorials designed just for beginners.
Keep learning, keep coding 👩💻👨💻, and keep discovering new possibilities! 💻✨
Enjoy your journey into artificial intelligence, machine learning, data analytics, data science and more with Python!
Stay tuned for our next exciting project in the following edition!
Happy coding!🚀📊✨
🎉 We want to hear from you! 🎉 How do you feel about our latest newsletter? Your feedback will help us make it even more awesome! |