An AI-powered medical diagnostic platform for cancer risk assessment using logistic regression with a modern web interface.
cancer-assessment/
├── main.py # Flask web application
├── templates/
│ └── index.html # Main web interface
├── data/
│ ├── database.py # PostgreSQL database models and operations
│ ├── utils.py # Data preprocessing utilities
│ └── Cancer_Data.csv # Training dataset
├── models/
│ ├── logistic_regression.py # Custom logistic regression implementation
│ ├── trained_model.pkl # Saved trained model (auto-generated)
│ ├── scaler.pkl # Saved data scaler (auto-generated)
│ └── visualizations.py # Visualization functions
├── attached_assets/
│ └── Cancer_Data_*.csv # Original dataset files
├── pyproject.toml # Dependencies
└── README.md
- Interactive Risk Assessment: Complete cancer risk evaluation through tumor measurement surveys
- AI-Powered Analysis: Advanced logistic regression model trained on medical data
- Real-time Results: Instant risk probability calculations with interactive gauge charts
- Patient History Tracking: Comprehensive dashboard showing assessment trends and history
- Medical Analytics: Platform-wide statistics and risk distribution analysis
- Responsive Design: Modern web interface with animations and professional medical styling
- Database Integration: PostgreSQL backend for secure data storage and retrieval
-
Install dependencies:
uv add flask flask-cors pandas numpy matplotlib seaborn plotly scikit-learn psycopg2-binary sqlalchemy
-
Set up PostgreSQL database and configure DATABASE_URL environment variable
-
Run the application:
python main.py
Access the web application at http://localhost:5000
and navigate through:
- New Assessment: Complete tumor measurement survey for risk evaluation
- My History: View personal assessment history with trend analysis
- Analytics: Platform-wide statistics and risk distribution data
-
Input Measurements: Provide 30 tumor characteristics across three categories:
- Mean measurements (radius, texture, perimeter, area, etc.)
- Standard error measurements
- Worst (largest) measurements
-
AI Analysis: The system processes measurements through trained logistic regression model
-
Risk Evaluation: Receive probability-based risk assessment with:
- Interactive gauge chart visualization
- Risk level classification (Very Low, Low, Moderate, High)
- Medical recommendations
- Detailed result explanation
The survey requires 30 tumor characteristics organized in three categories:
- Radius (6-30), Texture (9-40), Perimeter (40-190), Area (140-2500)
- Smoothness (0.05-0.16), Compactness (0.02-0.35), Concavity (0-0.43)
- Concave Points (0-0.2), Symmetry (0.1-0.3), Fractal Dimension (0.05-0.1)
- Standard errors for each of the above measurements
- Worst-case measurements for each characteristic
- Backend: Flask, Python, SQLAlchemy
- Frontend: HTML5, CSS3, JavaScript, Plotly.js
- Database: PostgreSQL
- Machine Learning: Scikit-learn, NumPy, Pandas
- Visualization: Plotly, interactive charts
- Algorithm: Logistic Regression (implemented from scratch)
- Training Data: Wisconsin Breast Cancer Dataset (569 samples)
- Features: 30 tumor characteristics
- Performance: High accuracy on benign/malignant classification
- Validation: Comprehensive model evaluation with medical metrics
- All assessment data is securely stored in PostgreSQL database
- User sessions are managed with secure session handling
- Medical data is processed with appropriate privacy considerations
This platform is designed for educational and research purposes. All assessments should be confirmed by qualified medical professionals. The AI predictions are not a substitute for professional medical diagnosis or treatment.
The system is trained on the Wisconsin Breast Cancer dataset containing features computed from digitized images of breast mass fine needle aspirates (569 samples, 30 features).
This project is for educational and research purposes.