This project aims to develop a deep learning-based system that calculates a real-time risk score for user logins, based on behavioral and contextual login data. The model compares each login attempt with the user's historical patterns and outputs a risk score between 0 and 100.
risk_skorlama_projesi/
│
├── data/ # Mock/generated datasets
├── src/ # Source code modules
│ ├── data_generation.py # Mock data generation
│ ├── labeling.py # Risk labeling & scoring
│ ├── model.py # Model training & evaluation
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── main.py # Main pipeline script
└── app.py # Streamlit web app
- Realistic Mock Data Generation: Simulates user login behavior with configurable randomness.
- Flexible Risk Labeling: Rule-based and statistical risk scoring for each login event.
- Deep Learning Model: Predicts risk scores using a neural network (TensorFlow/Keras).
- Interactive Web UI: Modern Streamlit interface for real-time scoring and data exploration.
- Modular & Reusable: Clean, well-documented, and easy to extend.
- Install dependencies:
pip install -r requirements.txt
- Run the main pipeline:
python main.py
- Launch the web app:
streamlit run app.py
- Data Generation: Produces mock login data with realistic user patterns and anomalies.
- Risk Labeling: Assigns a risk score (0-100) to each login based on time, IP, MFA, device, and behavioral deviations.
- Model Training: Trains a deep learning model to predict risk scores from login features.
- Web Interface: Allows users to simulate logins, get instant risk scores, and explore the dataset interactively.
- Python, Pandas, NumPy
- TensorFlow & Keras
- Scikit-learn
- Streamlit
- Faker (for data generation)
- Developed by Yusuf Uzun
- yusfuzn@hotmail.com
Feel free to contribute, open issues, or suggest improvements!