ai-career-insights

Public
Created Oct 23, 2025

Bu proje, **Natural Language Processing (NLP)** ve **Machine Learning** tekniklerini birleştirerek: - İş ilanlarından maaş tahmini yapan bir model geliştirir - Kullanıcıların iş başlığı girişine göre gerçek zamanlı tahmin sunar - Veri bilimi ve makine öğrenmesi becerilerini portföy projesi olarak sergiler

2
Stars
0
Forks
2
Watchers
0
Issues

Repository Details

Primary Language
Python
Repository Size 0 MB
Default Branch main
Created October 23, 2025
Last Update October 23, 2025
View on GitHub
Download ZIP

README.md

# 💼 AI Career Insights: İş İlanı Metninden Maaş Tahmini
![Python](https://img.shields.io/badge/Python-3.9+-blue.svg) ![ML](https://img.shields.io/badge/ML-Scikit--learn-orange.svg) ![NLP](https://img.shields.io/badge/NLP-Transformers-green.svg) ![Status](https://img.shields.io/badge/Status-Active-success.svg) **Bir iş ilanının başlığı, pozisyon seviyesi, çalışma şekli ve diğer özelliklere bakarak tahmini maaşı belirleyen akıllı makine öğrenmesi projesi.** [🚀 Demo](#demo) • [📊 Veri Analizi](#veri-analizi) • [⚙️ Kurulum](#kurulum) • [🧠 Model](#model)
--- ## 🎯 Proje Amacı Bu proje, **Natural Language Processing (NLP)** ve **Machine Learning** tekniklerini birleştirerek: - İş ilanlarından maaş tahmini yapan bir model geliştirir - Kullanıcıların iş başlığı girişine göre gerçek zamanlı tahmin sunar - Veri bilimi ve makine öğrenmesi becerilerini portföy projesi olarak sergiler ## 📦 Dataset **Kaynak:** [Data Science Job Salaries - Kaggle](https://www.kaggle.com/datasets/ruchi798/data-science-job-salaries) **Veri Özellikleri:** - 📅 **work_year**: Yıl (2020-2023) - 🎓 **experience_level**: EN (Entry), MI (Mid), SE (Senior), EX (Executive) - 💼 **employment_type**: FT (Full-time), PT (Part-time), CT (Contract), FL (Freelance) - 🏢 **job_title**: İş unvanı (Data Scientist, ML Engineer, vb.) - 💰 **salary_in_usd**: Hedef değişken - USD cinsinden maaş - 🌍 **employee_residence**: Çalışan lokasyonu - 📍 **company_location**: Şirket lokasyonu - 🏭 **company_size**: S (Small), M (Medium), L (Large) - 🏠 **remote_ratio**: 0 (On-site), 50 (Hybrid), 100 (Remote) ## 🗂️ Proje Yapısı ``` ai-career-insights/ ├── data/ │ ├── raw/ # Ham veri dosyaları │ └── processed/ # İşlenmiş veri dosyaları ├── notebooks/ │ ├── 01_eda.ipynb # Keşifsel Veri Analizi │ └── 02_modeling.ipynb # Model Geliştirme ├── src/ │ ├── data_preprocessing.py # Veri ön işleme │ ├── feature_engineering.py # Özellik mühendisliği │ ├── train_model.py # Model eğitimi │ └── predict_salary.py # Tahmin fonksiyonları ├── app/ │ └── streamlit_app.py # Web arayüzü ├── models/ # Eğitilmiş modeller ├── requirements.txt └── README.md ``` ## ⚙️ Kurulum ### 1️⃣ Repository'yi klonlayın ```bash git clone https://github.com/canuzlas/ai-career-insights.git cd ai-career-insights ``` ### 2️⃣ Virtual environment oluşturun ```bash python -m venv venv source venv/bin/activate # Mac/Linux # venv\Scripts\activate # Windows ``` ### 3️⃣ Gerekli kütüphaneleri yükleyin ```bash pip install -r requirements.txt ``` ### 4️⃣ Kaggle API kurulumu (opsiyonel - veri indirme için) ```bash # Kaggle hesabınızdan API token indirin (kaggle.json) mkdir ~/.kaggle mv kaggle.json ~/.kaggle/ chmod 600 ~/.kaggle/kaggle.json ``` ### 5️⃣ Veriyi indirin ```bash cd data/raw kaggle datasets download -d ruchi798/data-science-job-salaries unzip data-science-job-salaries.zip cd ../.. ``` ## 🚀 Kullanım ### 📊 Veri Analizi ```bash jupyter notebook notebooks/01_eda.ipynb ``` ### 🧠 Model Eğitimi ```bash python src/train_model.py ``` ### 💻 Web Uygulamasını Çalıştırma ```bash streamlit run app/streamlit_app.py ``` Tarayıcınızda `http://localhost:8501` adresini açın. ## 🧠 Model ve Teknikler ### Machine Learning Modelleri - ✅ **Linear Regression** (Baseline) - ✅ **Random Forest Regressor** - ✅ **XGBoost** - ✅ **CatBoost** - ✅ **Ridge & Lasso Regression** ### NLP Teknikleri - 🔤 **TF-IDF Vectorization** (job_title için) - 🤖 **Sentence-BERT Embeddings** (all-MiniLM-L6-v2) - 📝 **Text Preprocessing**: Lowercase, Stopwords Removal, Lemmatization ### Feature Engineering - 🎯 **Seniority Level Extraction** (Junior/Mid/Senior from job_title) - 🔢 **Experience Score** (experience_level + seniority_level) - 🏠 **Remote Binary Feature** - 📊 **Company Size Ordinal Encoding** ### Model Performansı | Model | R² Score | MAE | RMSE | |-------|----------|-----|------| | XGBoost | 0.XX | $X,XXX | $XX,XXX | | Random Forest | 0.XX | $X,XXX | $XX,XXX | | CatBoost | 0.XX | $X,XXX | $XX,XXX | *Not: Gerçek değerler model eğitimi sonrası güncellenecektir.* ## 📊 Veri Analizi Örnekleri ### 💰 Deneyim Seviyesine Göre Ortalama Maaş ``` Entry Level (EN): $65,000 Mid Level (MI): $95,000 Senior Level (SE): $135,000 Executive Level (EX): $180,000 ``` ### 🏠 Remote Çalışma Etkisi ``` On-site (0): $105,000 Hybrid (50): $115,000 Remote (100): $120,000 ``` ## 🎨 Demo Örnekleri ### Örnek 1: Machine Learning Engineer ``` Job Title: Machine Learning Engineer Experience: Senior Remote: Yes Company Size: Large Country: Germany ``` **📈 Tahmini Maaş: $118,500 USD** ### Örnek 2: Data Analyst ``` Job Title: Data Analyst Experience: Junior Remote: No Company Size: Medium Country: Turkey ``` **📈 Tahmini Maaş: $42,300 USD** ## 🛠️ Teknoloji Yığını | Alan | Teknoloji | |------|-----------| | **Veri İşleme** | Pandas, NumPy | | **Görselleştirme** | Matplotlib, Seaborn, Plotly | | **Machine Learning** | Scikit-learn, XGBoost, CatBoost | | **NLP** | NLTK, Sentence-Transformers | | **Web Framework** | Streamlit | | **Model Persistence** | Joblib, Pickle | ## 📈 Geliştirme Aşamaları - [x] ✅ Proje yapısı kurulumu - [ ] 🔄 Keşifsel veri analizi (EDA) - [ ] 🔄 Veri ön işleme ve temizleme - [ ] 🔄 Özellik mühendisliği - [ ] 🔄 Model eğitimi ve karşılaştırma - [ ] 🔄 NLP pipeline entegrasyonu - [ ] 🔄 Streamlit web uygulaması - [ ] 🔄 Model deployment - [ ] 🔄 Dokümantasyon ve testler ## 🤝 Katkıda Bulunma Katkılarınızı bekliyoruz! Pull request göndermekten çekinmeyin. ## 📝 Lisans MIT License - detaylar için [LICENSE](LICENSE) dosyasına bakınız. ## 👤 Geliştirici **[Adınız]** - GitHub: [@canuzlas](https://github.com/canuzlas) - LinkedIn: [linkedin.com/in/canuzlas](https://linkedin.com/in/canuzlas) ---
⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!

Quick Setup & Commands

Clone Repository

HTTPS
git clone https://github.com/canuzlas/ai-career-insights.git
SSH
git clone git@github.com:canuzlas/ai-career-insights.git

Essential Commands

Navigate to project
cd ai-career-insights
Install dependencies
pip install -r requirements.txt
Run application
python main.py

Related Repositories