Spaces:
Sleeping
Sleeping
Commit ·
a8b81f3
1
Parent(s): ea3b6d6
Files uploaded
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- 1.26.0 +0 -0
- =1.26.0, +0 -0
- =1.4.0, +0 -0
- Diabetes_Prediction (1).ipynb +1832 -0
- Diabetes_Prediction_Fixed.ipynb +0 -0
- Heart_Disease_Prediction.ipynb +1488 -0
- Parkinsons.ipynb +2211 -0
- Project_19_Breast_Cancer_Classification_using_Machine_Learning.ipynb +0 -0
- app/streamlit_app.py +1307 -0
- check_setup.py +35 -0
- datasets/data.csv +0 -0
- datasets/diabetes.csv +769 -0
- datasets/heart.csv +1026 -0
- datasets/parkinsons.csv +196 -0
- diabetes_prediction.py +77 -0
- models/breast_cancer_model.pkl +3 -0
- models/diabetes_model.pkl +3 -0
- models/heart_disease_model.pkl +3 -0
- models/parkinsons_model.pkl +3 -0
- requirements.txt +6 -0
- src/__init__.py +0 -0
- src/__pycache__/__init__.cpython-310.pyc +0 -0
- src/__pycache__/__init__.cpython-311.pyc +0 -0
- src/__pycache__/config.cpython-310.pyc +0 -0
- src/__pycache__/config.cpython-311.pyc +0 -0
- src/__pycache__/data_preprocessing.cpython-311.pyc +0 -0
- src/__pycache__/model.cpython-310.pyc +0 -0
- src/__pycache__/model.cpython-311.pyc +0 -0
- src/config.py +21 -0
- src/data_preprocessing.py +28 -0
- src/model.py +120 -0
- src/models/__pycache__/base_model.cpython-310.pyc +0 -0
- src/models/__pycache__/base_model.cpython-311.pyc +0 -0
- src/models/__pycache__/breast_cancer.cpython-311.pyc +0 -0
- src/models/__pycache__/diabetes.cpython-310.pyc +0 -0
- src/models/__pycache__/diabetes.cpython-311.pyc +0 -0
- src/models/__pycache__/heart_disease.cpython-310.pyc +0 -0
- src/models/__pycache__/heart_disease.cpython-311.pyc +0 -0
- src/models/__pycache__/parkinsons.cpython-310.pyc +0 -0
- src/models/__pycache__/parkinsons.cpython-311.pyc +0 -0
- src/models/base_model.py +45 -0
- src/models/breast_cancer.py +28 -0
- src/models/diabetes.py +61 -0
- src/models/heart_disease.py +112 -0
- src/models/parkinsons.py +148 -0
- src/preprocessing/__pycache__/diabetes.cpython-311.pyc +0 -0
- src/preprocessing/__pycache__/heart_disease.cpython-311.pyc +0 -0
- src/preprocessing/__pycache__/parkinsons.cpython-311.pyc +0 -0
- src/preprocessing/diabetes.py +50 -0
- src/preprocessing/heart_disease.py +36 -0
1.26.0
ADDED
|
File without changes
|
=1.26.0,
ADDED
|
File without changes
|
=1.4.0,
ADDED
|
File without changes
|
Diabetes_Prediction (1).ipynb
ADDED
|
@@ -0,0 +1,1832 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 3,
|
| 6 |
+
"metadata": {
|
| 7 |
+
"id": "_Gco0Fvcpu0m"
|
| 8 |
+
},
|
| 9 |
+
"outputs": [],
|
| 10 |
+
"source": [
|
| 11 |
+
"import numpy as np\n",
|
| 12 |
+
"import pandas as pd\n",
|
| 13 |
+
"from sklearn.preprocessing import StandardScaler\n",
|
| 14 |
+
"from sklearn.model_selection import train_test_split\n",
|
| 15 |
+
"from sklearn import svm\n",
|
| 16 |
+
"from sklearn.metrics import accuracy_score"
|
| 17 |
+
]
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"cell_type": "code",
|
| 21 |
+
"execution_count": 1,
|
| 22 |
+
"metadata": {
|
| 23 |
+
"id": "0JF5qkBivY5g"
|
| 24 |
+
},
|
| 25 |
+
"outputs": [
|
| 26 |
+
{
|
| 27 |
+
"ename": "NameError",
|
| 28 |
+
"evalue": "name 'pd' is not defined",
|
| 29 |
+
"output_type": "error",
|
| 30 |
+
"traceback": [
|
| 31 |
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
| 32 |
+
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
|
| 33 |
+
"Cell \u001b[1;32mIn[1], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m diabetes_dataset \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241m.\u001b[39mread_csv(\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mC:\u001b[39m\u001b[38;5;130;01m\\\\\u001b[39;00m\u001b[38;5;124mUsers\u001b[39m\u001b[38;5;130;01m\\\\\u001b[39;00m\u001b[38;5;124mHP\u001b[39m\u001b[38;5;130;01m\\\\\u001b[39;00m\u001b[38;5;124mOneDrive\u001b[39m\u001b[38;5;130;01m\\\\\u001b[39;00m\u001b[38;5;124mDesktop\u001b[39m\u001b[38;5;130;01m\\\\\u001b[39;00m\u001b[38;5;124mHackAI\u001b[39m\u001b[38;5;130;01m\\\\\u001b[39;00m\u001b[38;5;124mdiabetes.csv\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
|
| 34 |
+
"\u001b[1;31mNameError\u001b[0m: name 'pd' is not defined"
|
| 35 |
+
]
|
| 36 |
+
}
|
| 37 |
+
],
|
| 38 |
+
"source": [
|
| 39 |
+
"diabetes_dataset = pd.read_csv(r'C:\\\\Users\\\\HP\\\\OneDrive\\\\Desktop\\\\HackAI\\\\datasets\\\\diabetes.csv')"
|
| 40 |
+
]
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"cell_type": "code",
|
| 44 |
+
"execution_count": 5,
|
| 45 |
+
"metadata": {
|
| 46 |
+
"colab": {
|
| 47 |
+
"base_uri": "https://localhost:8080/",
|
| 48 |
+
"height": 206
|
| 49 |
+
},
|
| 50 |
+
"id": "Q2z7ibVjvylj",
|
| 51 |
+
"outputId": "e15b892b-8e84-41c8-dc99-496f77b6a072"
|
| 52 |
+
},
|
| 53 |
+
"outputs": [
|
| 54 |
+
{
|
| 55 |
+
"data": {
|
| 56 |
+
"text/html": [
|
| 57 |
+
"<div>\n",
|
| 58 |
+
"<style scoped>\n",
|
| 59 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 60 |
+
" vertical-align: middle;\n",
|
| 61 |
+
" }\n",
|
| 62 |
+
"\n",
|
| 63 |
+
" .dataframe tbody tr th {\n",
|
| 64 |
+
" vertical-align: top;\n",
|
| 65 |
+
" }\n",
|
| 66 |
+
"\n",
|
| 67 |
+
" .dataframe thead th {\n",
|
| 68 |
+
" text-align: right;\n",
|
| 69 |
+
" }\n",
|
| 70 |
+
"</style>\n",
|
| 71 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 72 |
+
" <thead>\n",
|
| 73 |
+
" <tr style=\"text-align: right;\">\n",
|
| 74 |
+
" <th></th>\n",
|
| 75 |
+
" <th>Pregnancies</th>\n",
|
| 76 |
+
" <th>Glucose</th>\n",
|
| 77 |
+
" <th>BloodPressure</th>\n",
|
| 78 |
+
" <th>SkinThickness</th>\n",
|
| 79 |
+
" <th>Insulin</th>\n",
|
| 80 |
+
" <th>BMI</th>\n",
|
| 81 |
+
" <th>DiabetesPedigreeFunction</th>\n",
|
| 82 |
+
" <th>Age</th>\n",
|
| 83 |
+
" <th>Outcome</th>\n",
|
| 84 |
+
" </tr>\n",
|
| 85 |
+
" </thead>\n",
|
| 86 |
+
" <tbody>\n",
|
| 87 |
+
" <tr>\n",
|
| 88 |
+
" <th>0</th>\n",
|
| 89 |
+
" <td>6</td>\n",
|
| 90 |
+
" <td>148</td>\n",
|
| 91 |
+
" <td>72</td>\n",
|
| 92 |
+
" <td>35</td>\n",
|
| 93 |
+
" <td>0</td>\n",
|
| 94 |
+
" <td>33.6</td>\n",
|
| 95 |
+
" <td>0.627</td>\n",
|
| 96 |
+
" <td>50</td>\n",
|
| 97 |
+
" <td>1</td>\n",
|
| 98 |
+
" </tr>\n",
|
| 99 |
+
" <tr>\n",
|
| 100 |
+
" <th>1</th>\n",
|
| 101 |
+
" <td>1</td>\n",
|
| 102 |
+
" <td>85</td>\n",
|
| 103 |
+
" <td>66</td>\n",
|
| 104 |
+
" <td>29</td>\n",
|
| 105 |
+
" <td>0</td>\n",
|
| 106 |
+
" <td>26.6</td>\n",
|
| 107 |
+
" <td>0.351</td>\n",
|
| 108 |
+
" <td>31</td>\n",
|
| 109 |
+
" <td>0</td>\n",
|
| 110 |
+
" </tr>\n",
|
| 111 |
+
" <tr>\n",
|
| 112 |
+
" <th>2</th>\n",
|
| 113 |
+
" <td>8</td>\n",
|
| 114 |
+
" <td>183</td>\n",
|
| 115 |
+
" <td>64</td>\n",
|
| 116 |
+
" <td>0</td>\n",
|
| 117 |
+
" <td>0</td>\n",
|
| 118 |
+
" <td>23.3</td>\n",
|
| 119 |
+
" <td>0.672</td>\n",
|
| 120 |
+
" <td>32</td>\n",
|
| 121 |
+
" <td>1</td>\n",
|
| 122 |
+
" </tr>\n",
|
| 123 |
+
" <tr>\n",
|
| 124 |
+
" <th>3</th>\n",
|
| 125 |
+
" <td>1</td>\n",
|
| 126 |
+
" <td>89</td>\n",
|
| 127 |
+
" <td>66</td>\n",
|
| 128 |
+
" <td>23</td>\n",
|
| 129 |
+
" <td>94</td>\n",
|
| 130 |
+
" <td>28.1</td>\n",
|
| 131 |
+
" <td>0.167</td>\n",
|
| 132 |
+
" <td>21</td>\n",
|
| 133 |
+
" <td>0</td>\n",
|
| 134 |
+
" </tr>\n",
|
| 135 |
+
" <tr>\n",
|
| 136 |
+
" <th>4</th>\n",
|
| 137 |
+
" <td>0</td>\n",
|
| 138 |
+
" <td>137</td>\n",
|
| 139 |
+
" <td>40</td>\n",
|
| 140 |
+
" <td>35</td>\n",
|
| 141 |
+
" <td>168</td>\n",
|
| 142 |
+
" <td>43.1</td>\n",
|
| 143 |
+
" <td>2.288</td>\n",
|
| 144 |
+
" <td>33</td>\n",
|
| 145 |
+
" <td>1</td>\n",
|
| 146 |
+
" </tr>\n",
|
| 147 |
+
" </tbody>\n",
|
| 148 |
+
"</table>\n",
|
| 149 |
+
"</div>"
|
| 150 |
+
],
|
| 151 |
+
"text/plain": [
|
| 152 |
+
" Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
|
| 153 |
+
"0 6 148 72 35 0 33.6 \n",
|
| 154 |
+
"1 1 85 66 29 0 26.6 \n",
|
| 155 |
+
"2 8 183 64 0 0 23.3 \n",
|
| 156 |
+
"3 1 89 66 23 94 28.1 \n",
|
| 157 |
+
"4 0 137 40 35 168 43.1 \n",
|
| 158 |
+
"\n",
|
| 159 |
+
" DiabetesPedigreeFunction Age Outcome \n",
|
| 160 |
+
"0 0.627 50 1 \n",
|
| 161 |
+
"1 0.351 31 0 \n",
|
| 162 |
+
"2 0.672 32 1 \n",
|
| 163 |
+
"3 0.167 21 0 \n",
|
| 164 |
+
"4 2.288 33 1 "
|
| 165 |
+
]
|
| 166 |
+
},
|
| 167 |
+
"execution_count": 5,
|
| 168 |
+
"metadata": {},
|
| 169 |
+
"output_type": "execute_result"
|
| 170 |
+
}
|
| 171 |
+
],
|
| 172 |
+
"source": [
|
| 173 |
+
"diabetes_dataset.head()"
|
| 174 |
+
]
|
| 175 |
+
},
|
| 176 |
+
{
|
| 177 |
+
"cell_type": "code",
|
| 178 |
+
"execution_count": 6,
|
| 179 |
+
"metadata": {
|
| 180 |
+
"colab": {
|
| 181 |
+
"base_uri": "https://localhost:8080/"
|
| 182 |
+
},
|
| 183 |
+
"id": "nrfucFyW6N2r",
|
| 184 |
+
"outputId": "415c0733-0b31-4f70-b8d7-8dd38ef00279"
|
| 185 |
+
},
|
| 186 |
+
"outputs": [
|
| 187 |
+
{
|
| 188 |
+
"data": {
|
| 189 |
+
"text/plain": [
|
| 190 |
+
"(768, 9)"
|
| 191 |
+
]
|
| 192 |
+
},
|
| 193 |
+
"execution_count": 6,
|
| 194 |
+
"metadata": {},
|
| 195 |
+
"output_type": "execute_result"
|
| 196 |
+
}
|
| 197 |
+
],
|
| 198 |
+
"source": [
|
| 199 |
+
"diabetes_dataset.shape"
|
| 200 |
+
]
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"cell_type": "code",
|
| 204 |
+
"execution_count": 7,
|
| 205 |
+
"metadata": {
|
| 206 |
+
"colab": {
|
| 207 |
+
"base_uri": "https://localhost:8080/",
|
| 208 |
+
"height": 300
|
| 209 |
+
},
|
| 210 |
+
"id": "DUjrYTQY6XFj",
|
| 211 |
+
"outputId": "6275bc84-0067-43ba-cd3c-91b9d4aee02c"
|
| 212 |
+
},
|
| 213 |
+
"outputs": [
|
| 214 |
+
{
|
| 215 |
+
"data": {
|
| 216 |
+
"text/html": [
|
| 217 |
+
"<div>\n",
|
| 218 |
+
"<style scoped>\n",
|
| 219 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 220 |
+
" vertical-align: middle;\n",
|
| 221 |
+
" }\n",
|
| 222 |
+
"\n",
|
| 223 |
+
" .dataframe tbody tr th {\n",
|
| 224 |
+
" vertical-align: top;\n",
|
| 225 |
+
" }\n",
|
| 226 |
+
"\n",
|
| 227 |
+
" .dataframe thead th {\n",
|
| 228 |
+
" text-align: right;\n",
|
| 229 |
+
" }\n",
|
| 230 |
+
"</style>\n",
|
| 231 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 232 |
+
" <thead>\n",
|
| 233 |
+
" <tr style=\"text-align: right;\">\n",
|
| 234 |
+
" <th></th>\n",
|
| 235 |
+
" <th>Pregnancies</th>\n",
|
| 236 |
+
" <th>Glucose</th>\n",
|
| 237 |
+
" <th>BloodPressure</th>\n",
|
| 238 |
+
" <th>SkinThickness</th>\n",
|
| 239 |
+
" <th>Insulin</th>\n",
|
| 240 |
+
" <th>BMI</th>\n",
|
| 241 |
+
" <th>DiabetesPedigreeFunction</th>\n",
|
| 242 |
+
" <th>Age</th>\n",
|
| 243 |
+
" <th>Outcome</th>\n",
|
| 244 |
+
" </tr>\n",
|
| 245 |
+
" </thead>\n",
|
| 246 |
+
" <tbody>\n",
|
| 247 |
+
" <tr>\n",
|
| 248 |
+
" <th>count</th>\n",
|
| 249 |
+
" <td>768.000000</td>\n",
|
| 250 |
+
" <td>768.000000</td>\n",
|
| 251 |
+
" <td>768.000000</td>\n",
|
| 252 |
+
" <td>768.000000</td>\n",
|
| 253 |
+
" <td>768.000000</td>\n",
|
| 254 |
+
" <td>768.000000</td>\n",
|
| 255 |
+
" <td>768.000000</td>\n",
|
| 256 |
+
" <td>768.000000</td>\n",
|
| 257 |
+
" <td>768.000000</td>\n",
|
| 258 |
+
" </tr>\n",
|
| 259 |
+
" <tr>\n",
|
| 260 |
+
" <th>mean</th>\n",
|
| 261 |
+
" <td>3.845052</td>\n",
|
| 262 |
+
" <td>120.894531</td>\n",
|
| 263 |
+
" <td>69.105469</td>\n",
|
| 264 |
+
" <td>20.536458</td>\n",
|
| 265 |
+
" <td>79.799479</td>\n",
|
| 266 |
+
" <td>31.992578</td>\n",
|
| 267 |
+
" <td>0.471876</td>\n",
|
| 268 |
+
" <td>33.240885</td>\n",
|
| 269 |
+
" <td>0.348958</td>\n",
|
| 270 |
+
" </tr>\n",
|
| 271 |
+
" <tr>\n",
|
| 272 |
+
" <th>std</th>\n",
|
| 273 |
+
" <td>3.369578</td>\n",
|
| 274 |
+
" <td>31.972618</td>\n",
|
| 275 |
+
" <td>19.355807</td>\n",
|
| 276 |
+
" <td>15.952218</td>\n",
|
| 277 |
+
" <td>115.244002</td>\n",
|
| 278 |
+
" <td>7.884160</td>\n",
|
| 279 |
+
" <td>0.331329</td>\n",
|
| 280 |
+
" <td>11.760232</td>\n",
|
| 281 |
+
" <td>0.476951</td>\n",
|
| 282 |
+
" </tr>\n",
|
| 283 |
+
" <tr>\n",
|
| 284 |
+
" <th>min</th>\n",
|
| 285 |
+
" <td>0.000000</td>\n",
|
| 286 |
+
" <td>0.000000</td>\n",
|
| 287 |
+
" <td>0.000000</td>\n",
|
| 288 |
+
" <td>0.000000</td>\n",
|
| 289 |
+
" <td>0.000000</td>\n",
|
| 290 |
+
" <td>0.000000</td>\n",
|
| 291 |
+
" <td>0.078000</td>\n",
|
| 292 |
+
" <td>21.000000</td>\n",
|
| 293 |
+
" <td>0.000000</td>\n",
|
| 294 |
+
" </tr>\n",
|
| 295 |
+
" <tr>\n",
|
| 296 |
+
" <th>25%</th>\n",
|
| 297 |
+
" <td>1.000000</td>\n",
|
| 298 |
+
" <td>99.000000</td>\n",
|
| 299 |
+
" <td>62.000000</td>\n",
|
| 300 |
+
" <td>0.000000</td>\n",
|
| 301 |
+
" <td>0.000000</td>\n",
|
| 302 |
+
" <td>27.300000</td>\n",
|
| 303 |
+
" <td>0.243750</td>\n",
|
| 304 |
+
" <td>24.000000</td>\n",
|
| 305 |
+
" <td>0.000000</td>\n",
|
| 306 |
+
" </tr>\n",
|
| 307 |
+
" <tr>\n",
|
| 308 |
+
" <th>50%</th>\n",
|
| 309 |
+
" <td>3.000000</td>\n",
|
| 310 |
+
" <td>117.000000</td>\n",
|
| 311 |
+
" <td>72.000000</td>\n",
|
| 312 |
+
" <td>23.000000</td>\n",
|
| 313 |
+
" <td>30.500000</td>\n",
|
| 314 |
+
" <td>32.000000</td>\n",
|
| 315 |
+
" <td>0.372500</td>\n",
|
| 316 |
+
" <td>29.000000</td>\n",
|
| 317 |
+
" <td>0.000000</td>\n",
|
| 318 |
+
" </tr>\n",
|
| 319 |
+
" <tr>\n",
|
| 320 |
+
" <th>75%</th>\n",
|
| 321 |
+
" <td>6.000000</td>\n",
|
| 322 |
+
" <td>140.250000</td>\n",
|
| 323 |
+
" <td>80.000000</td>\n",
|
| 324 |
+
" <td>32.000000</td>\n",
|
| 325 |
+
" <td>127.250000</td>\n",
|
| 326 |
+
" <td>36.600000</td>\n",
|
| 327 |
+
" <td>0.626250</td>\n",
|
| 328 |
+
" <td>41.000000</td>\n",
|
| 329 |
+
" <td>1.000000</td>\n",
|
| 330 |
+
" </tr>\n",
|
| 331 |
+
" <tr>\n",
|
| 332 |
+
" <th>max</th>\n",
|
| 333 |
+
" <td>17.000000</td>\n",
|
| 334 |
+
" <td>199.000000</td>\n",
|
| 335 |
+
" <td>122.000000</td>\n",
|
| 336 |
+
" <td>99.000000</td>\n",
|
| 337 |
+
" <td>846.000000</td>\n",
|
| 338 |
+
" <td>67.100000</td>\n",
|
| 339 |
+
" <td>2.420000</td>\n",
|
| 340 |
+
" <td>81.000000</td>\n",
|
| 341 |
+
" <td>1.000000</td>\n",
|
| 342 |
+
" </tr>\n",
|
| 343 |
+
" </tbody>\n",
|
| 344 |
+
"</table>\n",
|
| 345 |
+
"</div>"
|
| 346 |
+
],
|
| 347 |
+
"text/plain": [
|
| 348 |
+
" Pregnancies Glucose BloodPressure SkinThickness Insulin \\\n",
|
| 349 |
+
"count 768.000000 768.000000 768.000000 768.000000 768.000000 \n",
|
| 350 |
+
"mean 3.845052 120.894531 69.105469 20.536458 79.799479 \n",
|
| 351 |
+
"std 3.369578 31.972618 19.355807 15.952218 115.244002 \n",
|
| 352 |
+
"min 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
|
| 353 |
+
"25% 1.000000 99.000000 62.000000 0.000000 0.000000 \n",
|
| 354 |
+
"50% 3.000000 117.000000 72.000000 23.000000 30.500000 \n",
|
| 355 |
+
"75% 6.000000 140.250000 80.000000 32.000000 127.250000 \n",
|
| 356 |
+
"max 17.000000 199.000000 122.000000 99.000000 846.000000 \n",
|
| 357 |
+
"\n",
|
| 358 |
+
" BMI DiabetesPedigreeFunction Age Outcome \n",
|
| 359 |
+
"count 768.000000 768.000000 768.000000 768.000000 \n",
|
| 360 |
+
"mean 31.992578 0.471876 33.240885 0.348958 \n",
|
| 361 |
+
"std 7.884160 0.331329 11.760232 0.476951 \n",
|
| 362 |
+
"min 0.000000 0.078000 21.000000 0.000000 \n",
|
| 363 |
+
"25% 27.300000 0.243750 24.000000 0.000000 \n",
|
| 364 |
+
"50% 32.000000 0.372500 29.000000 0.000000 \n",
|
| 365 |
+
"75% 36.600000 0.626250 41.000000 1.000000 \n",
|
| 366 |
+
"max 67.100000 2.420000 81.000000 1.000000 "
|
| 367 |
+
]
|
| 368 |
+
},
|
| 369 |
+
"execution_count": 7,
|
| 370 |
+
"metadata": {},
|
| 371 |
+
"output_type": "execute_result"
|
| 372 |
+
}
|
| 373 |
+
],
|
| 374 |
+
"source": [
|
| 375 |
+
"diabetes_dataset.describe()"
|
| 376 |
+
]
|
| 377 |
+
},
|
| 378 |
+
{
|
| 379 |
+
"cell_type": "code",
|
| 380 |
+
"execution_count": 8,
|
| 381 |
+
"metadata": {
|
| 382 |
+
"colab": {
|
| 383 |
+
"base_uri": "https://localhost:8080/",
|
| 384 |
+
"height": 178
|
| 385 |
+
},
|
| 386 |
+
"id": "QNCCoOa_6bzV",
|
| 387 |
+
"outputId": "af9285a8-065e-4ac5-e2fb-df8fc58854ab"
|
| 388 |
+
},
|
| 389 |
+
"outputs": [
|
| 390 |
+
{
|
| 391 |
+
"data": {
|
| 392 |
+
"text/plain": [
|
| 393 |
+
"Outcome\n",
|
| 394 |
+
"0 500\n",
|
| 395 |
+
"1 268\n",
|
| 396 |
+
"Name: count, dtype: int64"
|
| 397 |
+
]
|
| 398 |
+
},
|
| 399 |
+
"execution_count": 8,
|
| 400 |
+
"metadata": {},
|
| 401 |
+
"output_type": "execute_result"
|
| 402 |
+
}
|
| 403 |
+
],
|
| 404 |
+
"source": [
|
| 405 |
+
"diabetes_dataset['Outcome'].value_counts()"
|
| 406 |
+
]
|
| 407 |
+
},
|
| 408 |
+
{
|
| 409 |
+
"cell_type": "code",
|
| 410 |
+
"execution_count": 9,
|
| 411 |
+
"metadata": {
|
| 412 |
+
"colab": {
|
| 413 |
+
"base_uri": "https://localhost:8080/",
|
| 414 |
+
"height": 143
|
| 415 |
+
},
|
| 416 |
+
"id": "j2lxGwDR6pdd",
|
| 417 |
+
"outputId": "048a63b5-e930-407e-d69d-a91152370eba"
|
| 418 |
+
},
|
| 419 |
+
"outputs": [
|
| 420 |
+
{
|
| 421 |
+
"data": {
|
| 422 |
+
"text/html": [
|
| 423 |
+
"<div>\n",
|
| 424 |
+
"<style scoped>\n",
|
| 425 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 426 |
+
" vertical-align: middle;\n",
|
| 427 |
+
" }\n",
|
| 428 |
+
"\n",
|
| 429 |
+
" .dataframe tbody tr th {\n",
|
| 430 |
+
" vertical-align: top;\n",
|
| 431 |
+
" }\n",
|
| 432 |
+
"\n",
|
| 433 |
+
" .dataframe thead th {\n",
|
| 434 |
+
" text-align: right;\n",
|
| 435 |
+
" }\n",
|
| 436 |
+
"</style>\n",
|
| 437 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 438 |
+
" <thead>\n",
|
| 439 |
+
" <tr style=\"text-align: right;\">\n",
|
| 440 |
+
" <th></th>\n",
|
| 441 |
+
" <th>Pregnancies</th>\n",
|
| 442 |
+
" <th>Glucose</th>\n",
|
| 443 |
+
" <th>BloodPressure</th>\n",
|
| 444 |
+
" <th>SkinThickness</th>\n",
|
| 445 |
+
" <th>Insulin</th>\n",
|
| 446 |
+
" <th>BMI</th>\n",
|
| 447 |
+
" <th>DiabetesPedigreeFunction</th>\n",
|
| 448 |
+
" <th>Age</th>\n",
|
| 449 |
+
" </tr>\n",
|
| 450 |
+
" <tr>\n",
|
| 451 |
+
" <th>Outcome</th>\n",
|
| 452 |
+
" <th></th>\n",
|
| 453 |
+
" <th></th>\n",
|
| 454 |
+
" <th></th>\n",
|
| 455 |
+
" <th></th>\n",
|
| 456 |
+
" <th></th>\n",
|
| 457 |
+
" <th></th>\n",
|
| 458 |
+
" <th></th>\n",
|
| 459 |
+
" <th></th>\n",
|
| 460 |
+
" </tr>\n",
|
| 461 |
+
" </thead>\n",
|
| 462 |
+
" <tbody>\n",
|
| 463 |
+
" <tr>\n",
|
| 464 |
+
" <th>0</th>\n",
|
| 465 |
+
" <td>3.298000</td>\n",
|
| 466 |
+
" <td>109.980000</td>\n",
|
| 467 |
+
" <td>68.184000</td>\n",
|
| 468 |
+
" <td>19.664000</td>\n",
|
| 469 |
+
" <td>68.792000</td>\n",
|
| 470 |
+
" <td>30.304200</td>\n",
|
| 471 |
+
" <td>0.429734</td>\n",
|
| 472 |
+
" <td>31.190000</td>\n",
|
| 473 |
+
" </tr>\n",
|
| 474 |
+
" <tr>\n",
|
| 475 |
+
" <th>1</th>\n",
|
| 476 |
+
" <td>4.865672</td>\n",
|
| 477 |
+
" <td>141.257463</td>\n",
|
| 478 |
+
" <td>70.824627</td>\n",
|
| 479 |
+
" <td>22.164179</td>\n",
|
| 480 |
+
" <td>100.335821</td>\n",
|
| 481 |
+
" <td>35.142537</td>\n",
|
| 482 |
+
" <td>0.550500</td>\n",
|
| 483 |
+
" <td>37.067164</td>\n",
|
| 484 |
+
" </tr>\n",
|
| 485 |
+
" </tbody>\n",
|
| 486 |
+
"</table>\n",
|
| 487 |
+
"</div>"
|
| 488 |
+
],
|
| 489 |
+
"text/plain": [
|
| 490 |
+
" Pregnancies Glucose BloodPressure SkinThickness Insulin \\\n",
|
| 491 |
+
"Outcome \n",
|
| 492 |
+
"0 3.298000 109.980000 68.184000 19.664000 68.792000 \n",
|
| 493 |
+
"1 4.865672 141.257463 70.824627 22.164179 100.335821 \n",
|
| 494 |
+
"\n",
|
| 495 |
+
" BMI DiabetesPedigreeFunction Age \n",
|
| 496 |
+
"Outcome \n",
|
| 497 |
+
"0 30.304200 0.429734 31.190000 \n",
|
| 498 |
+
"1 35.142537 0.550500 37.067164 "
|
| 499 |
+
]
|
| 500 |
+
},
|
| 501 |
+
"execution_count": 9,
|
| 502 |
+
"metadata": {},
|
| 503 |
+
"output_type": "execute_result"
|
| 504 |
+
}
|
| 505 |
+
],
|
| 506 |
+
"source": [
|
| 507 |
+
"diabetes_dataset.groupby('Outcome').mean()"
|
| 508 |
+
]
|
| 509 |
+
},
|
| 510 |
+
{
|
| 511 |
+
"cell_type": "code",
|
| 512 |
+
"execution_count": 10,
|
| 513 |
+
"metadata": {
|
| 514 |
+
"id": "7wLphCXC6yrX"
|
| 515 |
+
},
|
| 516 |
+
"outputs": [],
|
| 517 |
+
"source": [
|
| 518 |
+
"X = diabetes_dataset.drop(columns = 'Outcome', axis=1)\n",
|
| 519 |
+
"Y = diabetes_dataset['Outcome']"
|
| 520 |
+
]
|
| 521 |
+
},
|
| 522 |
+
{
|
| 523 |
+
"cell_type": "code",
|
| 524 |
+
"execution_count": 11,
|
| 525 |
+
"metadata": {
|
| 526 |
+
"colab": {
|
| 527 |
+
"base_uri": "https://localhost:8080/"
|
| 528 |
+
},
|
| 529 |
+
"id": "rtsUoiSX7BtH",
|
| 530 |
+
"outputId": "7d7679a5-1e8b-4111-c7b7-04494885ad01"
|
| 531 |
+
},
|
| 532 |
+
"outputs": [
|
| 533 |
+
{
|
| 534 |
+
"name": "stdout",
|
| 535 |
+
"output_type": "stream",
|
| 536 |
+
"text": [
|
| 537 |
+
" Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
|
| 538 |
+
"0 6 148 72 35 0 33.6 \n",
|
| 539 |
+
"1 1 85 66 29 0 26.6 \n",
|
| 540 |
+
"2 8 183 64 0 0 23.3 \n",
|
| 541 |
+
"3 1 89 66 23 94 28.1 \n",
|
| 542 |
+
"4 0 137 40 35 168 43.1 \n",
|
| 543 |
+
".. ... ... ... ... ... ... \n",
|
| 544 |
+
"763 10 101 76 48 180 32.9 \n",
|
| 545 |
+
"764 2 122 70 27 0 36.8 \n",
|
| 546 |
+
"765 5 121 72 23 112 26.2 \n",
|
| 547 |
+
"766 1 126 60 0 0 30.1 \n",
|
| 548 |
+
"767 1 93 70 31 0 30.4 \n",
|
| 549 |
+
"\n",
|
| 550 |
+
" DiabetesPedigreeFunction Age \n",
|
| 551 |
+
"0 0.627 50 \n",
|
| 552 |
+
"1 0.351 31 \n",
|
| 553 |
+
"2 0.672 32 \n",
|
| 554 |
+
"3 0.167 21 \n",
|
| 555 |
+
"4 2.288 33 \n",
|
| 556 |
+
".. ... ... \n",
|
| 557 |
+
"763 0.171 63 \n",
|
| 558 |
+
"764 0.340 27 \n",
|
| 559 |
+
"765 0.245 30 \n",
|
| 560 |
+
"766 0.349 47 \n",
|
| 561 |
+
"767 0.315 23 \n",
|
| 562 |
+
"\n",
|
| 563 |
+
"[768 rows x 8 columns]\n"
|
| 564 |
+
]
|
| 565 |
+
}
|
| 566 |
+
],
|
| 567 |
+
"source": [
|
| 568 |
+
"print(X)"
|
| 569 |
+
]
|
| 570 |
+
},
|
| 571 |
+
{
|
| 572 |
+
"cell_type": "code",
|
| 573 |
+
"execution_count": 12,
|
| 574 |
+
"metadata": {
|
| 575 |
+
"colab": {
|
| 576 |
+
"base_uri": "https://localhost:8080/"
|
| 577 |
+
},
|
| 578 |
+
"id": "_jnjO9kF7FYm",
|
| 579 |
+
"outputId": "526d8e6e-1d3b-4104-8e1c-ffc35616467c"
|
| 580 |
+
},
|
| 581 |
+
"outputs": [
|
| 582 |
+
{
|
| 583 |
+
"name": "stdout",
|
| 584 |
+
"output_type": "stream",
|
| 585 |
+
"text": [
|
| 586 |
+
"0 1\n",
|
| 587 |
+
"1 0\n",
|
| 588 |
+
"2 1\n",
|
| 589 |
+
"3 0\n",
|
| 590 |
+
"4 1\n",
|
| 591 |
+
" ..\n",
|
| 592 |
+
"763 0\n",
|
| 593 |
+
"764 0\n",
|
| 594 |
+
"765 0\n",
|
| 595 |
+
"766 1\n",
|
| 596 |
+
"767 0\n",
|
| 597 |
+
"Name: Outcome, Length: 768, dtype: int64\n"
|
| 598 |
+
]
|
| 599 |
+
}
|
| 600 |
+
],
|
| 601 |
+
"source": [
|
| 602 |
+
"print(Y)"
|
| 603 |
+
]
|
| 604 |
+
},
|
| 605 |
+
{
|
| 606 |
+
"cell_type": "code",
|
| 607 |
+
"execution_count": 13,
|
| 608 |
+
"metadata": {
|
| 609 |
+
"id": "b1qp_9cs7H7U"
|
| 610 |
+
},
|
| 611 |
+
"outputs": [],
|
| 612 |
+
"source": [
|
| 613 |
+
"scaler = StandardScaler()"
|
| 614 |
+
]
|
| 615 |
+
},
|
| 616 |
+
{
|
| 617 |
+
"cell_type": "markdown",
|
| 618 |
+
"metadata": {
|
| 619 |
+
"id": "yYM3oZMu8bfg"
|
| 620 |
+
},
|
| 621 |
+
"source": []
|
| 622 |
+
},
|
| 623 |
+
{
|
| 624 |
+
"cell_type": "code",
|
| 625 |
+
"execution_count": 14,
|
| 626 |
+
"metadata": {
|
| 627 |
+
"colab": {
|
| 628 |
+
"base_uri": "https://localhost:8080/",
|
| 629 |
+
"height": 57
|
| 630 |
+
},
|
| 631 |
+
"id": "IGdNbrwz7-gc",
|
| 632 |
+
"outputId": "90947c44-6f69-41f5-9e6b-7bdb5d6eb1b2"
|
| 633 |
+
},
|
| 634 |
+
"outputs": [
|
| 635 |
+
{
|
| 636 |
+
"data": {
|
| 637 |
+
"text/html": [
|
| 638 |
+
"<style>#sk-container-id-1 {\n",
|
| 639 |
+
" /* Definition of color scheme common for light and dark mode */\n",
|
| 640 |
+
" --sklearn-color-text: #000;\n",
|
| 641 |
+
" --sklearn-color-text-muted: #666;\n",
|
| 642 |
+
" --sklearn-color-line: gray;\n",
|
| 643 |
+
" /* Definition of color scheme for unfitted estimators */\n",
|
| 644 |
+
" --sklearn-color-unfitted-level-0: #fff5e6;\n",
|
| 645 |
+
" --sklearn-color-unfitted-level-1: #f6e4d2;\n",
|
| 646 |
+
" --sklearn-color-unfitted-level-2: #ffe0b3;\n",
|
| 647 |
+
" --sklearn-color-unfitted-level-3: chocolate;\n",
|
| 648 |
+
" /* Definition of color scheme for fitted estimators */\n",
|
| 649 |
+
" --sklearn-color-fitted-level-0: #f0f8ff;\n",
|
| 650 |
+
" --sklearn-color-fitted-level-1: #d4ebff;\n",
|
| 651 |
+
" --sklearn-color-fitted-level-2: #b3dbfd;\n",
|
| 652 |
+
" --sklearn-color-fitted-level-3: cornflowerblue;\n",
|
| 653 |
+
"\n",
|
| 654 |
+
" /* Specific color for light theme */\n",
|
| 655 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 656 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
|
| 657 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 658 |
+
" --sklearn-color-icon: #696969;\n",
|
| 659 |
+
"\n",
|
| 660 |
+
" @media (prefers-color-scheme: dark) {\n",
|
| 661 |
+
" /* Redefinition of color scheme for dark theme */\n",
|
| 662 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 663 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
|
| 664 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 665 |
+
" --sklearn-color-icon: #878787;\n",
|
| 666 |
+
" }\n",
|
| 667 |
+
"}\n",
|
| 668 |
+
"\n",
|
| 669 |
+
"#sk-container-id-1 {\n",
|
| 670 |
+
" color: var(--sklearn-color-text);\n",
|
| 671 |
+
"}\n",
|
| 672 |
+
"\n",
|
| 673 |
+
"#sk-container-id-1 pre {\n",
|
| 674 |
+
" padding: 0;\n",
|
| 675 |
+
"}\n",
|
| 676 |
+
"\n",
|
| 677 |
+
"#sk-container-id-1 input.sk-hidden--visually {\n",
|
| 678 |
+
" border: 0;\n",
|
| 679 |
+
" clip: rect(1px 1px 1px 1px);\n",
|
| 680 |
+
" clip: rect(1px, 1px, 1px, 1px);\n",
|
| 681 |
+
" height: 1px;\n",
|
| 682 |
+
" margin: -1px;\n",
|
| 683 |
+
" overflow: hidden;\n",
|
| 684 |
+
" padding: 0;\n",
|
| 685 |
+
" position: absolute;\n",
|
| 686 |
+
" width: 1px;\n",
|
| 687 |
+
"}\n",
|
| 688 |
+
"\n",
|
| 689 |
+
"#sk-container-id-1 div.sk-dashed-wrapped {\n",
|
| 690 |
+
" border: 1px dashed var(--sklearn-color-line);\n",
|
| 691 |
+
" margin: 0 0.4em 0.5em 0.4em;\n",
|
| 692 |
+
" box-sizing: border-box;\n",
|
| 693 |
+
" padding-bottom: 0.4em;\n",
|
| 694 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 695 |
+
"}\n",
|
| 696 |
+
"\n",
|
| 697 |
+
"#sk-container-id-1 div.sk-container {\n",
|
| 698 |
+
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
|
| 699 |
+
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
|
| 700 |
+
" so we also need the `!important` here to be able to override the\n",
|
| 701 |
+
" default hidden behavior on the sphinx rendered scikit-learn.org.\n",
|
| 702 |
+
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
|
| 703 |
+
" display: inline-block !important;\n",
|
| 704 |
+
" position: relative;\n",
|
| 705 |
+
"}\n",
|
| 706 |
+
"\n",
|
| 707 |
+
"#sk-container-id-1 div.sk-text-repr-fallback {\n",
|
| 708 |
+
" display: none;\n",
|
| 709 |
+
"}\n",
|
| 710 |
+
"\n",
|
| 711 |
+
"div.sk-parallel-item,\n",
|
| 712 |
+
"div.sk-serial,\n",
|
| 713 |
+
"div.sk-item {\n",
|
| 714 |
+
" /* draw centered vertical line to link estimators */\n",
|
| 715 |
+
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
|
| 716 |
+
" background-size: 2px 100%;\n",
|
| 717 |
+
" background-repeat: no-repeat;\n",
|
| 718 |
+
" background-position: center center;\n",
|
| 719 |
+
"}\n",
|
| 720 |
+
"\n",
|
| 721 |
+
"/* Parallel-specific style estimator block */\n",
|
| 722 |
+
"\n",
|
| 723 |
+
"#sk-container-id-1 div.sk-parallel-item::after {\n",
|
| 724 |
+
" content: \"\";\n",
|
| 725 |
+
" width: 100%;\n",
|
| 726 |
+
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
|
| 727 |
+
" flex-grow: 1;\n",
|
| 728 |
+
"}\n",
|
| 729 |
+
"\n",
|
| 730 |
+
"#sk-container-id-1 div.sk-parallel {\n",
|
| 731 |
+
" display: flex;\n",
|
| 732 |
+
" align-items: stretch;\n",
|
| 733 |
+
" justify-content: center;\n",
|
| 734 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 735 |
+
" position: relative;\n",
|
| 736 |
+
"}\n",
|
| 737 |
+
"\n",
|
| 738 |
+
"#sk-container-id-1 div.sk-parallel-item {\n",
|
| 739 |
+
" display: flex;\n",
|
| 740 |
+
" flex-direction: column;\n",
|
| 741 |
+
"}\n",
|
| 742 |
+
"\n",
|
| 743 |
+
"#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
|
| 744 |
+
" align-self: flex-end;\n",
|
| 745 |
+
" width: 50%;\n",
|
| 746 |
+
"}\n",
|
| 747 |
+
"\n",
|
| 748 |
+
"#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
|
| 749 |
+
" align-self: flex-start;\n",
|
| 750 |
+
" width: 50%;\n",
|
| 751 |
+
"}\n",
|
| 752 |
+
"\n",
|
| 753 |
+
"#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
|
| 754 |
+
" width: 0;\n",
|
| 755 |
+
"}\n",
|
| 756 |
+
"\n",
|
| 757 |
+
"/* Serial-specific style estimator block */\n",
|
| 758 |
+
"\n",
|
| 759 |
+
"#sk-container-id-1 div.sk-serial {\n",
|
| 760 |
+
" display: flex;\n",
|
| 761 |
+
" flex-direction: column;\n",
|
| 762 |
+
" align-items: center;\n",
|
| 763 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 764 |
+
" padding-right: 1em;\n",
|
| 765 |
+
" padding-left: 1em;\n",
|
| 766 |
+
"}\n",
|
| 767 |
+
"\n",
|
| 768 |
+
"\n",
|
| 769 |
+
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
|
| 770 |
+
"clickable and can be expanded/collapsed.\n",
|
| 771 |
+
"- Pipeline and ColumnTransformer use this feature and define the default style\n",
|
| 772 |
+
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
|
| 773 |
+
"*/\n",
|
| 774 |
+
"\n",
|
| 775 |
+
"/* Pipeline and ColumnTransformer style (default) */\n",
|
| 776 |
+
"\n",
|
| 777 |
+
"#sk-container-id-1 div.sk-toggleable {\n",
|
| 778 |
+
" /* Default theme specific background. It is overwritten whether we have a\n",
|
| 779 |
+
" specific estimator or a Pipeline/ColumnTransformer */\n",
|
| 780 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 781 |
+
"}\n",
|
| 782 |
+
"\n",
|
| 783 |
+
"/* Toggleable label */\n",
|
| 784 |
+
"#sk-container-id-1 label.sk-toggleable__label {\n",
|
| 785 |
+
" cursor: pointer;\n",
|
| 786 |
+
" display: flex;\n",
|
| 787 |
+
" width: 100%;\n",
|
| 788 |
+
" margin-bottom: 0;\n",
|
| 789 |
+
" padding: 0.5em;\n",
|
| 790 |
+
" box-sizing: border-box;\n",
|
| 791 |
+
" text-align: center;\n",
|
| 792 |
+
" align-items: start;\n",
|
| 793 |
+
" justify-content: space-between;\n",
|
| 794 |
+
" gap: 0.5em;\n",
|
| 795 |
+
"}\n",
|
| 796 |
+
"\n",
|
| 797 |
+
"#sk-container-id-1 label.sk-toggleable__label .caption {\n",
|
| 798 |
+
" font-size: 0.6rem;\n",
|
| 799 |
+
" font-weight: lighter;\n",
|
| 800 |
+
" color: var(--sklearn-color-text-muted);\n",
|
| 801 |
+
"}\n",
|
| 802 |
+
"\n",
|
| 803 |
+
"#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
|
| 804 |
+
" /* Arrow on the left of the label */\n",
|
| 805 |
+
" content: \"▸\";\n",
|
| 806 |
+
" float: left;\n",
|
| 807 |
+
" margin-right: 0.25em;\n",
|
| 808 |
+
" color: var(--sklearn-color-icon);\n",
|
| 809 |
+
"}\n",
|
| 810 |
+
"\n",
|
| 811 |
+
"#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
|
| 812 |
+
" color: var(--sklearn-color-text);\n",
|
| 813 |
+
"}\n",
|
| 814 |
+
"\n",
|
| 815 |
+
"/* Toggleable content - dropdown */\n",
|
| 816 |
+
"\n",
|
| 817 |
+
"#sk-container-id-1 div.sk-toggleable__content {\n",
|
| 818 |
+
" max-height: 0;\n",
|
| 819 |
+
" max-width: 0;\n",
|
| 820 |
+
" overflow: hidden;\n",
|
| 821 |
+
" text-align: left;\n",
|
| 822 |
+
" /* unfitted */\n",
|
| 823 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 824 |
+
"}\n",
|
| 825 |
+
"\n",
|
| 826 |
+
"#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
|
| 827 |
+
" /* fitted */\n",
|
| 828 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 829 |
+
"}\n",
|
| 830 |
+
"\n",
|
| 831 |
+
"#sk-container-id-1 div.sk-toggleable__content pre {\n",
|
| 832 |
+
" margin: 0.2em;\n",
|
| 833 |
+
" border-radius: 0.25em;\n",
|
| 834 |
+
" color: var(--sklearn-color-text);\n",
|
| 835 |
+
" /* unfitted */\n",
|
| 836 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 837 |
+
"}\n",
|
| 838 |
+
"\n",
|
| 839 |
+
"#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
|
| 840 |
+
" /* unfitted */\n",
|
| 841 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 842 |
+
"}\n",
|
| 843 |
+
"\n",
|
| 844 |
+
"#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
|
| 845 |
+
" /* Expand drop-down */\n",
|
| 846 |
+
" max-height: 200px;\n",
|
| 847 |
+
" max-width: 100%;\n",
|
| 848 |
+
" overflow: auto;\n",
|
| 849 |
+
"}\n",
|
| 850 |
+
"\n",
|
| 851 |
+
"#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
|
| 852 |
+
" content: \"▾\";\n",
|
| 853 |
+
"}\n",
|
| 854 |
+
"\n",
|
| 855 |
+
"/* Pipeline/ColumnTransformer-specific style */\n",
|
| 856 |
+
"\n",
|
| 857 |
+
"#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 858 |
+
" color: var(--sklearn-color-text);\n",
|
| 859 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 860 |
+
"}\n",
|
| 861 |
+
"\n",
|
| 862 |
+
"#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 863 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 864 |
+
"}\n",
|
| 865 |
+
"\n",
|
| 866 |
+
"/* Estimator-specific style */\n",
|
| 867 |
+
"\n",
|
| 868 |
+
"/* Colorize estimator box */\n",
|
| 869 |
+
"#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 870 |
+
" /* unfitted */\n",
|
| 871 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 872 |
+
"}\n",
|
| 873 |
+
"\n",
|
| 874 |
+
"#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 875 |
+
" /* fitted */\n",
|
| 876 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 877 |
+
"}\n",
|
| 878 |
+
"\n",
|
| 879 |
+
"#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
|
| 880 |
+
"#sk-container-id-1 div.sk-label label {\n",
|
| 881 |
+
" /* The background is the default theme color */\n",
|
| 882 |
+
" color: var(--sklearn-color-text-on-default-background);\n",
|
| 883 |
+
"}\n",
|
| 884 |
+
"\n",
|
| 885 |
+
"/* On hover, darken the color of the background */\n",
|
| 886 |
+
"#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
|
| 887 |
+
" color: var(--sklearn-color-text);\n",
|
| 888 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 889 |
+
"}\n",
|
| 890 |
+
"\n",
|
| 891 |
+
"/* Label box, darken color on hover, fitted */\n",
|
| 892 |
+
"#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
|
| 893 |
+
" color: var(--sklearn-color-text);\n",
|
| 894 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 895 |
+
"}\n",
|
| 896 |
+
"\n",
|
| 897 |
+
"/* Estimator label */\n",
|
| 898 |
+
"\n",
|
| 899 |
+
"#sk-container-id-1 div.sk-label label {\n",
|
| 900 |
+
" font-family: monospace;\n",
|
| 901 |
+
" font-weight: bold;\n",
|
| 902 |
+
" display: inline-block;\n",
|
| 903 |
+
" line-height: 1.2em;\n",
|
| 904 |
+
"}\n",
|
| 905 |
+
"\n",
|
| 906 |
+
"#sk-container-id-1 div.sk-label-container {\n",
|
| 907 |
+
" text-align: center;\n",
|
| 908 |
+
"}\n",
|
| 909 |
+
"\n",
|
| 910 |
+
"/* Estimator-specific */\n",
|
| 911 |
+
"#sk-container-id-1 div.sk-estimator {\n",
|
| 912 |
+
" font-family: monospace;\n",
|
| 913 |
+
" border: 1px dotted var(--sklearn-color-border-box);\n",
|
| 914 |
+
" border-radius: 0.25em;\n",
|
| 915 |
+
" box-sizing: border-box;\n",
|
| 916 |
+
" margin-bottom: 0.5em;\n",
|
| 917 |
+
" /* unfitted */\n",
|
| 918 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 919 |
+
"}\n",
|
| 920 |
+
"\n",
|
| 921 |
+
"#sk-container-id-1 div.sk-estimator.fitted {\n",
|
| 922 |
+
" /* fitted */\n",
|
| 923 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 924 |
+
"}\n",
|
| 925 |
+
"\n",
|
| 926 |
+
"/* on hover */\n",
|
| 927 |
+
"#sk-container-id-1 div.sk-estimator:hover {\n",
|
| 928 |
+
" /* unfitted */\n",
|
| 929 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 930 |
+
"}\n",
|
| 931 |
+
"\n",
|
| 932 |
+
"#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
|
| 933 |
+
" /* fitted */\n",
|
| 934 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 935 |
+
"}\n",
|
| 936 |
+
"\n",
|
| 937 |
+
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
|
| 938 |
+
"\n",
|
| 939 |
+
"/* Common style for \"i\" and \"?\" */\n",
|
| 940 |
+
"\n",
|
| 941 |
+
".sk-estimator-doc-link,\n",
|
| 942 |
+
"a:link.sk-estimator-doc-link,\n",
|
| 943 |
+
"a:visited.sk-estimator-doc-link {\n",
|
| 944 |
+
" float: right;\n",
|
| 945 |
+
" font-size: smaller;\n",
|
| 946 |
+
" line-height: 1em;\n",
|
| 947 |
+
" font-family: monospace;\n",
|
| 948 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 949 |
+
" border-radius: 1em;\n",
|
| 950 |
+
" height: 1em;\n",
|
| 951 |
+
" width: 1em;\n",
|
| 952 |
+
" text-decoration: none !important;\n",
|
| 953 |
+
" margin-left: 0.5em;\n",
|
| 954 |
+
" text-align: center;\n",
|
| 955 |
+
" /* unfitted */\n",
|
| 956 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 957 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 958 |
+
"}\n",
|
| 959 |
+
"\n",
|
| 960 |
+
".sk-estimator-doc-link.fitted,\n",
|
| 961 |
+
"a:link.sk-estimator-doc-link.fitted,\n",
|
| 962 |
+
"a:visited.sk-estimator-doc-link.fitted {\n",
|
| 963 |
+
" /* fitted */\n",
|
| 964 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 965 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 966 |
+
"}\n",
|
| 967 |
+
"\n",
|
| 968 |
+
"/* On hover */\n",
|
| 969 |
+
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
|
| 970 |
+
".sk-estimator-doc-link:hover,\n",
|
| 971 |
+
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
|
| 972 |
+
".sk-estimator-doc-link:hover {\n",
|
| 973 |
+
" /* unfitted */\n",
|
| 974 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 975 |
+
" color: var(--sklearn-color-background);\n",
|
| 976 |
+
" text-decoration: none;\n",
|
| 977 |
+
"}\n",
|
| 978 |
+
"\n",
|
| 979 |
+
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 980 |
+
".sk-estimator-doc-link.fitted:hover,\n",
|
| 981 |
+
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 982 |
+
".sk-estimator-doc-link.fitted:hover {\n",
|
| 983 |
+
" /* fitted */\n",
|
| 984 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 985 |
+
" color: var(--sklearn-color-background);\n",
|
| 986 |
+
" text-decoration: none;\n",
|
| 987 |
+
"}\n",
|
| 988 |
+
"\n",
|
| 989 |
+
"/* Span, style for the box shown on hovering the info icon */\n",
|
| 990 |
+
".sk-estimator-doc-link span {\n",
|
| 991 |
+
" display: none;\n",
|
| 992 |
+
" z-index: 9999;\n",
|
| 993 |
+
" position: relative;\n",
|
| 994 |
+
" font-weight: normal;\n",
|
| 995 |
+
" right: .2ex;\n",
|
| 996 |
+
" padding: .5ex;\n",
|
| 997 |
+
" margin: .5ex;\n",
|
| 998 |
+
" width: min-content;\n",
|
| 999 |
+
" min-width: 20ex;\n",
|
| 1000 |
+
" max-width: 50ex;\n",
|
| 1001 |
+
" color: var(--sklearn-color-text);\n",
|
| 1002 |
+
" box-shadow: 2pt 2pt 4pt #999;\n",
|
| 1003 |
+
" /* unfitted */\n",
|
| 1004 |
+
" background: var(--sklearn-color-unfitted-level-0);\n",
|
| 1005 |
+
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
|
| 1006 |
+
"}\n",
|
| 1007 |
+
"\n",
|
| 1008 |
+
".sk-estimator-doc-link.fitted span {\n",
|
| 1009 |
+
" /* fitted */\n",
|
| 1010 |
+
" background: var(--sklearn-color-fitted-level-0);\n",
|
| 1011 |
+
" border: var(--sklearn-color-fitted-level-3);\n",
|
| 1012 |
+
"}\n",
|
| 1013 |
+
"\n",
|
| 1014 |
+
".sk-estimator-doc-link:hover span {\n",
|
| 1015 |
+
" display: block;\n",
|
| 1016 |
+
"}\n",
|
| 1017 |
+
"\n",
|
| 1018 |
+
"/* \"?\"-specific style due to the `<a>` HTML tag */\n",
|
| 1019 |
+
"\n",
|
| 1020 |
+
"#sk-container-id-1 a.estimator_doc_link {\n",
|
| 1021 |
+
" float: right;\n",
|
| 1022 |
+
" font-size: 1rem;\n",
|
| 1023 |
+
" line-height: 1em;\n",
|
| 1024 |
+
" font-family: monospace;\n",
|
| 1025 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1026 |
+
" border-radius: 1rem;\n",
|
| 1027 |
+
" height: 1rem;\n",
|
| 1028 |
+
" width: 1rem;\n",
|
| 1029 |
+
" text-decoration: none;\n",
|
| 1030 |
+
" /* unfitted */\n",
|
| 1031 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1032 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1033 |
+
"}\n",
|
| 1034 |
+
"\n",
|
| 1035 |
+
"#sk-container-id-1 a.estimator_doc_link.fitted {\n",
|
| 1036 |
+
" /* fitted */\n",
|
| 1037 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1038 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1039 |
+
"}\n",
|
| 1040 |
+
"\n",
|
| 1041 |
+
"/* On hover */\n",
|
| 1042 |
+
"#sk-container-id-1 a.estimator_doc_link:hover {\n",
|
| 1043 |
+
" /* unfitted */\n",
|
| 1044 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1045 |
+
" color: var(--sklearn-color-background);\n",
|
| 1046 |
+
" text-decoration: none;\n",
|
| 1047 |
+
"}\n",
|
| 1048 |
+
"\n",
|
| 1049 |
+
"#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
|
| 1050 |
+
" /* fitted */\n",
|
| 1051 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1052 |
+
"}\n",
|
| 1053 |
+
"</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>StandardScaler()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>StandardScaler</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.preprocessing.StandardScaler.html\">?<span>Documentation for StandardScaler</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>StandardScaler()</pre></div> </div></div></div></div>"
|
| 1054 |
+
],
|
| 1055 |
+
"text/plain": [
|
| 1056 |
+
"StandardScaler()"
|
| 1057 |
+
]
|
| 1058 |
+
},
|
| 1059 |
+
"execution_count": 14,
|
| 1060 |
+
"metadata": {},
|
| 1061 |
+
"output_type": "execute_result"
|
| 1062 |
+
}
|
| 1063 |
+
],
|
| 1064 |
+
"source": [
|
| 1065 |
+
"scaler.fit(X)"
|
| 1066 |
+
]
|
| 1067 |
+
},
|
| 1068 |
+
{
|
| 1069 |
+
"cell_type": "markdown",
|
| 1070 |
+
"metadata": {
|
| 1071 |
+
"id": "KsS6JOFw8bZk"
|
| 1072 |
+
},
|
| 1073 |
+
"source": []
|
| 1074 |
+
},
|
| 1075 |
+
{
|
| 1076 |
+
"cell_type": "markdown",
|
| 1077 |
+
"metadata": {
|
| 1078 |
+
"id": "huU7m8Pd8bWR"
|
| 1079 |
+
},
|
| 1080 |
+
"source": []
|
| 1081 |
+
},
|
| 1082 |
+
{
|
| 1083 |
+
"cell_type": "code",
|
| 1084 |
+
"execution_count": 15,
|
| 1085 |
+
"metadata": {
|
| 1086 |
+
"id": "s49vp8nQ8Gxe"
|
| 1087 |
+
},
|
| 1088 |
+
"outputs": [],
|
| 1089 |
+
"source": [
|
| 1090 |
+
"standardized_data = scaler.transform(X)"
|
| 1091 |
+
]
|
| 1092 |
+
},
|
| 1093 |
+
{
|
| 1094 |
+
"cell_type": "code",
|
| 1095 |
+
"execution_count": 16,
|
| 1096 |
+
"metadata": {
|
| 1097 |
+
"colab": {
|
| 1098 |
+
"base_uri": "https://localhost:8080/"
|
| 1099 |
+
},
|
| 1100 |
+
"id": "Lsyq0mji8I9B",
|
| 1101 |
+
"outputId": "dfb7b721-08c8-45f7-ff07-20fa4e4136be"
|
| 1102 |
+
},
|
| 1103 |
+
"outputs": [
|
| 1104 |
+
{
|
| 1105 |
+
"name": "stdout",
|
| 1106 |
+
"output_type": "stream",
|
| 1107 |
+
"text": [
|
| 1108 |
+
"[[ 0.63994726 0.84832379 0.14964075 ... 0.20401277 0.46849198\n",
|
| 1109 |
+
" 1.4259954 ]\n",
|
| 1110 |
+
" [-0.84488505 -1.12339636 -0.16054575 ... -0.68442195 -0.36506078\n",
|
| 1111 |
+
" -0.19067191]\n",
|
| 1112 |
+
" [ 1.23388019 1.94372388 -0.26394125 ... -1.10325546 0.60439732\n",
|
| 1113 |
+
" -0.10558415]\n",
|
| 1114 |
+
" ...\n",
|
| 1115 |
+
" [ 0.3429808 0.00330087 0.14964075 ... -0.73518964 -0.68519336\n",
|
| 1116 |
+
" -0.27575966]\n",
|
| 1117 |
+
" [-0.84488505 0.1597866 -0.47073225 ... -0.24020459 -0.37110101\n",
|
| 1118 |
+
" 1.17073215]\n",
|
| 1119 |
+
" [-0.84488505 -0.8730192 0.04624525 ... -0.20212881 -0.47378505\n",
|
| 1120 |
+
" -0.87137393]]\n"
|
| 1121 |
+
]
|
| 1122 |
+
}
|
| 1123 |
+
],
|
| 1124 |
+
"source": [
|
| 1125 |
+
"print(standardized_data)"
|
| 1126 |
+
]
|
| 1127 |
+
},
|
| 1128 |
+
{
|
| 1129 |
+
"cell_type": "code",
|
| 1130 |
+
"execution_count": 17,
|
| 1131 |
+
"metadata": {
|
| 1132 |
+
"id": "crWoLd0r8iz8"
|
| 1133 |
+
},
|
| 1134 |
+
"outputs": [],
|
| 1135 |
+
"source": [
|
| 1136 |
+
"X = standardized_data\n",
|
| 1137 |
+
"Y = diabetes_dataset['Outcome']"
|
| 1138 |
+
]
|
| 1139 |
+
},
|
| 1140 |
+
{
|
| 1141 |
+
"cell_type": "code",
|
| 1142 |
+
"execution_count": 18,
|
| 1143 |
+
"metadata": {
|
| 1144 |
+
"colab": {
|
| 1145 |
+
"base_uri": "https://localhost:8080/"
|
| 1146 |
+
},
|
| 1147 |
+
"id": "uyefyWM48mm7",
|
| 1148 |
+
"outputId": "05ef46a6-3bf5-45a1-9f76-5be5629757fb"
|
| 1149 |
+
},
|
| 1150 |
+
"outputs": [
|
| 1151 |
+
{
|
| 1152 |
+
"name": "stdout",
|
| 1153 |
+
"output_type": "stream",
|
| 1154 |
+
"text": [
|
| 1155 |
+
"[[ 0.63994726 0.84832379 0.14964075 ... 0.20401277 0.46849198\n",
|
| 1156 |
+
" 1.4259954 ]\n",
|
| 1157 |
+
" [-0.84488505 -1.12339636 -0.16054575 ... -0.68442195 -0.36506078\n",
|
| 1158 |
+
" -0.19067191]\n",
|
| 1159 |
+
" [ 1.23388019 1.94372388 -0.26394125 ... -1.10325546 0.60439732\n",
|
| 1160 |
+
" -0.10558415]\n",
|
| 1161 |
+
" ...\n",
|
| 1162 |
+
" [ 0.3429808 0.00330087 0.14964075 ... -0.73518964 -0.68519336\n",
|
| 1163 |
+
" -0.27575966]\n",
|
| 1164 |
+
" [-0.84488505 0.1597866 -0.47073225 ... -0.24020459 -0.37110101\n",
|
| 1165 |
+
" 1.17073215]\n",
|
| 1166 |
+
" [-0.84488505 -0.8730192 0.04624525 ... -0.20212881 -0.47378505\n",
|
| 1167 |
+
" -0.87137393]]\n",
|
| 1168 |
+
"0 1\n",
|
| 1169 |
+
"1 0\n",
|
| 1170 |
+
"2 1\n",
|
| 1171 |
+
"3 0\n",
|
| 1172 |
+
"4 1\n",
|
| 1173 |
+
" ..\n",
|
| 1174 |
+
"763 0\n",
|
| 1175 |
+
"764 0\n",
|
| 1176 |
+
"765 0\n",
|
| 1177 |
+
"766 1\n",
|
| 1178 |
+
"767 0\n",
|
| 1179 |
+
"Name: Outcome, Length: 768, dtype: int64\n"
|
| 1180 |
+
]
|
| 1181 |
+
}
|
| 1182 |
+
],
|
| 1183 |
+
"source": [
|
| 1184 |
+
"print(X)\n",
|
| 1185 |
+
"print(Y)"
|
| 1186 |
+
]
|
| 1187 |
+
},
|
| 1188 |
+
{
|
| 1189 |
+
"cell_type": "code",
|
| 1190 |
+
"execution_count": 19,
|
| 1191 |
+
"metadata": {
|
| 1192 |
+
"id": "LNHOwa_A8wAP"
|
| 1193 |
+
},
|
| 1194 |
+
"outputs": [],
|
| 1195 |
+
"source": [
|
| 1196 |
+
"X_train, X_test, Y_train, Y_test = train_test_split(X,Y, test_size = 0.2, stratify=Y, random_state=2)"
|
| 1197 |
+
]
|
| 1198 |
+
},
|
| 1199 |
+
{
|
| 1200 |
+
"cell_type": "code",
|
| 1201 |
+
"execution_count": 20,
|
| 1202 |
+
"metadata": {
|
| 1203 |
+
"colab": {
|
| 1204 |
+
"base_uri": "https://localhost:8080/"
|
| 1205 |
+
},
|
| 1206 |
+
"id": "VoL2r2Xj80cz",
|
| 1207 |
+
"outputId": "53133539-64b7-4136-993d-a51e2c4e7541"
|
| 1208 |
+
},
|
| 1209 |
+
"outputs": [
|
| 1210 |
+
{
|
| 1211 |
+
"name": "stdout",
|
| 1212 |
+
"output_type": "stream",
|
| 1213 |
+
"text": [
|
| 1214 |
+
"(768, 8) (614, 8) (154, 8)\n"
|
| 1215 |
+
]
|
| 1216 |
+
}
|
| 1217 |
+
],
|
| 1218 |
+
"source": [
|
| 1219 |
+
"print(X.shape, X_train.shape, X_test.shape)"
|
| 1220 |
+
]
|
| 1221 |
+
},
|
| 1222 |
+
{
|
| 1223 |
+
"cell_type": "code",
|
| 1224 |
+
"execution_count": 21,
|
| 1225 |
+
"metadata": {
|
| 1226 |
+
"id": "yVIrVzEJ84vp"
|
| 1227 |
+
},
|
| 1228 |
+
"outputs": [],
|
| 1229 |
+
"source": [
|
| 1230 |
+
"classifier = svm.SVC(kernel='linear')"
|
| 1231 |
+
]
|
| 1232 |
+
},
|
| 1233 |
+
{
|
| 1234 |
+
"cell_type": "code",
|
| 1235 |
+
"execution_count": 22,
|
| 1236 |
+
"metadata": {
|
| 1237 |
+
"colab": {
|
| 1238 |
+
"base_uri": "https://localhost:8080/",
|
| 1239 |
+
"height": 80
|
| 1240 |
+
},
|
| 1241 |
+
"id": "XZqCLlbL9I2v",
|
| 1242 |
+
"outputId": "298621ed-b9f8-4b32-fe46-48052263e1e5"
|
| 1243 |
+
},
|
| 1244 |
+
"outputs": [
|
| 1245 |
+
{
|
| 1246 |
+
"data": {
|
| 1247 |
+
"text/html": [
|
| 1248 |
+
"<style>#sk-container-id-2 {\n",
|
| 1249 |
+
" /* Definition of color scheme common for light and dark mode */\n",
|
| 1250 |
+
" --sklearn-color-text: #000;\n",
|
| 1251 |
+
" --sklearn-color-text-muted: #666;\n",
|
| 1252 |
+
" --sklearn-color-line: gray;\n",
|
| 1253 |
+
" /* Definition of color scheme for unfitted estimators */\n",
|
| 1254 |
+
" --sklearn-color-unfitted-level-0: #fff5e6;\n",
|
| 1255 |
+
" --sklearn-color-unfitted-level-1: #f6e4d2;\n",
|
| 1256 |
+
" --sklearn-color-unfitted-level-2: #ffe0b3;\n",
|
| 1257 |
+
" --sklearn-color-unfitted-level-3: chocolate;\n",
|
| 1258 |
+
" /* Definition of color scheme for fitted estimators */\n",
|
| 1259 |
+
" --sklearn-color-fitted-level-0: #f0f8ff;\n",
|
| 1260 |
+
" --sklearn-color-fitted-level-1: #d4ebff;\n",
|
| 1261 |
+
" --sklearn-color-fitted-level-2: #b3dbfd;\n",
|
| 1262 |
+
" --sklearn-color-fitted-level-3: cornflowerblue;\n",
|
| 1263 |
+
"\n",
|
| 1264 |
+
" /* Specific color for light theme */\n",
|
| 1265 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 1266 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
|
| 1267 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 1268 |
+
" --sklearn-color-icon: #696969;\n",
|
| 1269 |
+
"\n",
|
| 1270 |
+
" @media (prefers-color-scheme: dark) {\n",
|
| 1271 |
+
" /* Redefinition of color scheme for dark theme */\n",
|
| 1272 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 1273 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
|
| 1274 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 1275 |
+
" --sklearn-color-icon: #878787;\n",
|
| 1276 |
+
" }\n",
|
| 1277 |
+
"}\n",
|
| 1278 |
+
"\n",
|
| 1279 |
+
"#sk-container-id-2 {\n",
|
| 1280 |
+
" color: var(--sklearn-color-text);\n",
|
| 1281 |
+
"}\n",
|
| 1282 |
+
"\n",
|
| 1283 |
+
"#sk-container-id-2 pre {\n",
|
| 1284 |
+
" padding: 0;\n",
|
| 1285 |
+
"}\n",
|
| 1286 |
+
"\n",
|
| 1287 |
+
"#sk-container-id-2 input.sk-hidden--visually {\n",
|
| 1288 |
+
" border: 0;\n",
|
| 1289 |
+
" clip: rect(1px 1px 1px 1px);\n",
|
| 1290 |
+
" clip: rect(1px, 1px, 1px, 1px);\n",
|
| 1291 |
+
" height: 1px;\n",
|
| 1292 |
+
" margin: -1px;\n",
|
| 1293 |
+
" overflow: hidden;\n",
|
| 1294 |
+
" padding: 0;\n",
|
| 1295 |
+
" position: absolute;\n",
|
| 1296 |
+
" width: 1px;\n",
|
| 1297 |
+
"}\n",
|
| 1298 |
+
"\n",
|
| 1299 |
+
"#sk-container-id-2 div.sk-dashed-wrapped {\n",
|
| 1300 |
+
" border: 1px dashed var(--sklearn-color-line);\n",
|
| 1301 |
+
" margin: 0 0.4em 0.5em 0.4em;\n",
|
| 1302 |
+
" box-sizing: border-box;\n",
|
| 1303 |
+
" padding-bottom: 0.4em;\n",
|
| 1304 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1305 |
+
"}\n",
|
| 1306 |
+
"\n",
|
| 1307 |
+
"#sk-container-id-2 div.sk-container {\n",
|
| 1308 |
+
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
|
| 1309 |
+
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
|
| 1310 |
+
" so we also need the `!important` here to be able to override the\n",
|
| 1311 |
+
" default hidden behavior on the sphinx rendered scikit-learn.org.\n",
|
| 1312 |
+
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
|
| 1313 |
+
" display: inline-block !important;\n",
|
| 1314 |
+
" position: relative;\n",
|
| 1315 |
+
"}\n",
|
| 1316 |
+
"\n",
|
| 1317 |
+
"#sk-container-id-2 div.sk-text-repr-fallback {\n",
|
| 1318 |
+
" display: none;\n",
|
| 1319 |
+
"}\n",
|
| 1320 |
+
"\n",
|
| 1321 |
+
"div.sk-parallel-item,\n",
|
| 1322 |
+
"div.sk-serial,\n",
|
| 1323 |
+
"div.sk-item {\n",
|
| 1324 |
+
" /* draw centered vertical line to link estimators */\n",
|
| 1325 |
+
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
|
| 1326 |
+
" background-size: 2px 100%;\n",
|
| 1327 |
+
" background-repeat: no-repeat;\n",
|
| 1328 |
+
" background-position: center center;\n",
|
| 1329 |
+
"}\n",
|
| 1330 |
+
"\n",
|
| 1331 |
+
"/* Parallel-specific style estimator block */\n",
|
| 1332 |
+
"\n",
|
| 1333 |
+
"#sk-container-id-2 div.sk-parallel-item::after {\n",
|
| 1334 |
+
" content: \"\";\n",
|
| 1335 |
+
" width: 100%;\n",
|
| 1336 |
+
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
|
| 1337 |
+
" flex-grow: 1;\n",
|
| 1338 |
+
"}\n",
|
| 1339 |
+
"\n",
|
| 1340 |
+
"#sk-container-id-2 div.sk-parallel {\n",
|
| 1341 |
+
" display: flex;\n",
|
| 1342 |
+
" align-items: stretch;\n",
|
| 1343 |
+
" justify-content: center;\n",
|
| 1344 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1345 |
+
" position: relative;\n",
|
| 1346 |
+
"}\n",
|
| 1347 |
+
"\n",
|
| 1348 |
+
"#sk-container-id-2 div.sk-parallel-item {\n",
|
| 1349 |
+
" display: flex;\n",
|
| 1350 |
+
" flex-direction: column;\n",
|
| 1351 |
+
"}\n",
|
| 1352 |
+
"\n",
|
| 1353 |
+
"#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
|
| 1354 |
+
" align-self: flex-end;\n",
|
| 1355 |
+
" width: 50%;\n",
|
| 1356 |
+
"}\n",
|
| 1357 |
+
"\n",
|
| 1358 |
+
"#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
|
| 1359 |
+
" align-self: flex-start;\n",
|
| 1360 |
+
" width: 50%;\n",
|
| 1361 |
+
"}\n",
|
| 1362 |
+
"\n",
|
| 1363 |
+
"#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
|
| 1364 |
+
" width: 0;\n",
|
| 1365 |
+
"}\n",
|
| 1366 |
+
"\n",
|
| 1367 |
+
"/* Serial-specific style estimator block */\n",
|
| 1368 |
+
"\n",
|
| 1369 |
+
"#sk-container-id-2 div.sk-serial {\n",
|
| 1370 |
+
" display: flex;\n",
|
| 1371 |
+
" flex-direction: column;\n",
|
| 1372 |
+
" align-items: center;\n",
|
| 1373 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1374 |
+
" padding-right: 1em;\n",
|
| 1375 |
+
" padding-left: 1em;\n",
|
| 1376 |
+
"}\n",
|
| 1377 |
+
"\n",
|
| 1378 |
+
"\n",
|
| 1379 |
+
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
|
| 1380 |
+
"clickable and can be expanded/collapsed.\n",
|
| 1381 |
+
"- Pipeline and ColumnTransformer use this feature and define the default style\n",
|
| 1382 |
+
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
|
| 1383 |
+
"*/\n",
|
| 1384 |
+
"\n",
|
| 1385 |
+
"/* Pipeline and ColumnTransformer style (default) */\n",
|
| 1386 |
+
"\n",
|
| 1387 |
+
"#sk-container-id-2 div.sk-toggleable {\n",
|
| 1388 |
+
" /* Default theme specific background. It is overwritten whether we have a\n",
|
| 1389 |
+
" specific estimator or a Pipeline/ColumnTransformer */\n",
|
| 1390 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1391 |
+
"}\n",
|
| 1392 |
+
"\n",
|
| 1393 |
+
"/* Toggleable label */\n",
|
| 1394 |
+
"#sk-container-id-2 label.sk-toggleable__label {\n",
|
| 1395 |
+
" cursor: pointer;\n",
|
| 1396 |
+
" display: flex;\n",
|
| 1397 |
+
" width: 100%;\n",
|
| 1398 |
+
" margin-bottom: 0;\n",
|
| 1399 |
+
" padding: 0.5em;\n",
|
| 1400 |
+
" box-sizing: border-box;\n",
|
| 1401 |
+
" text-align: center;\n",
|
| 1402 |
+
" align-items: start;\n",
|
| 1403 |
+
" justify-content: space-between;\n",
|
| 1404 |
+
" gap: 0.5em;\n",
|
| 1405 |
+
"}\n",
|
| 1406 |
+
"\n",
|
| 1407 |
+
"#sk-container-id-2 label.sk-toggleable__label .caption {\n",
|
| 1408 |
+
" font-size: 0.6rem;\n",
|
| 1409 |
+
" font-weight: lighter;\n",
|
| 1410 |
+
" color: var(--sklearn-color-text-muted);\n",
|
| 1411 |
+
"}\n",
|
| 1412 |
+
"\n",
|
| 1413 |
+
"#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n",
|
| 1414 |
+
" /* Arrow on the left of the label */\n",
|
| 1415 |
+
" content: \"▸\";\n",
|
| 1416 |
+
" float: left;\n",
|
| 1417 |
+
" margin-right: 0.25em;\n",
|
| 1418 |
+
" color: var(--sklearn-color-icon);\n",
|
| 1419 |
+
"}\n",
|
| 1420 |
+
"\n",
|
| 1421 |
+
"#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n",
|
| 1422 |
+
" color: var(--sklearn-color-text);\n",
|
| 1423 |
+
"}\n",
|
| 1424 |
+
"\n",
|
| 1425 |
+
"/* Toggleable content - dropdown */\n",
|
| 1426 |
+
"\n",
|
| 1427 |
+
"#sk-container-id-2 div.sk-toggleable__content {\n",
|
| 1428 |
+
" max-height: 0;\n",
|
| 1429 |
+
" max-width: 0;\n",
|
| 1430 |
+
" overflow: hidden;\n",
|
| 1431 |
+
" text-align: left;\n",
|
| 1432 |
+
" /* unfitted */\n",
|
| 1433 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1434 |
+
"}\n",
|
| 1435 |
+
"\n",
|
| 1436 |
+
"#sk-container-id-2 div.sk-toggleable__content.fitted {\n",
|
| 1437 |
+
" /* fitted */\n",
|
| 1438 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1439 |
+
"}\n",
|
| 1440 |
+
"\n",
|
| 1441 |
+
"#sk-container-id-2 div.sk-toggleable__content pre {\n",
|
| 1442 |
+
" margin: 0.2em;\n",
|
| 1443 |
+
" border-radius: 0.25em;\n",
|
| 1444 |
+
" color: var(--sklearn-color-text);\n",
|
| 1445 |
+
" /* unfitted */\n",
|
| 1446 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1447 |
+
"}\n",
|
| 1448 |
+
"\n",
|
| 1449 |
+
"#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n",
|
| 1450 |
+
" /* unfitted */\n",
|
| 1451 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1452 |
+
"}\n",
|
| 1453 |
+
"\n",
|
| 1454 |
+
"#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
|
| 1455 |
+
" /* Expand drop-down */\n",
|
| 1456 |
+
" max-height: 200px;\n",
|
| 1457 |
+
" max-width: 100%;\n",
|
| 1458 |
+
" overflow: auto;\n",
|
| 1459 |
+
"}\n",
|
| 1460 |
+
"\n",
|
| 1461 |
+
"#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
|
| 1462 |
+
" content: \"▾\";\n",
|
| 1463 |
+
"}\n",
|
| 1464 |
+
"\n",
|
| 1465 |
+
"/* Pipeline/ColumnTransformer-specific style */\n",
|
| 1466 |
+
"\n",
|
| 1467 |
+
"#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1468 |
+
" color: var(--sklearn-color-text);\n",
|
| 1469 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1470 |
+
"}\n",
|
| 1471 |
+
"\n",
|
| 1472 |
+
"#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1473 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1474 |
+
"}\n",
|
| 1475 |
+
"\n",
|
| 1476 |
+
"/* Estimator-specific style */\n",
|
| 1477 |
+
"\n",
|
| 1478 |
+
"/* Colorize estimator box */\n",
|
| 1479 |
+
"#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1480 |
+
" /* unfitted */\n",
|
| 1481 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1482 |
+
"}\n",
|
| 1483 |
+
"\n",
|
| 1484 |
+
"#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1485 |
+
" /* fitted */\n",
|
| 1486 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1487 |
+
"}\n",
|
| 1488 |
+
"\n",
|
| 1489 |
+
"#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n",
|
| 1490 |
+
"#sk-container-id-2 div.sk-label label {\n",
|
| 1491 |
+
" /* The background is the default theme color */\n",
|
| 1492 |
+
" color: var(--sklearn-color-text-on-default-background);\n",
|
| 1493 |
+
"}\n",
|
| 1494 |
+
"\n",
|
| 1495 |
+
"/* On hover, darken the color of the background */\n",
|
| 1496 |
+
"#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n",
|
| 1497 |
+
" color: var(--sklearn-color-text);\n",
|
| 1498 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1499 |
+
"}\n",
|
| 1500 |
+
"\n",
|
| 1501 |
+
"/* Label box, darken color on hover, fitted */\n",
|
| 1502 |
+
"#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
|
| 1503 |
+
" color: var(--sklearn-color-text);\n",
|
| 1504 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1505 |
+
"}\n",
|
| 1506 |
+
"\n",
|
| 1507 |
+
"/* Estimator label */\n",
|
| 1508 |
+
"\n",
|
| 1509 |
+
"#sk-container-id-2 div.sk-label label {\n",
|
| 1510 |
+
" font-family: monospace;\n",
|
| 1511 |
+
" font-weight: bold;\n",
|
| 1512 |
+
" display: inline-block;\n",
|
| 1513 |
+
" line-height: 1.2em;\n",
|
| 1514 |
+
"}\n",
|
| 1515 |
+
"\n",
|
| 1516 |
+
"#sk-container-id-2 div.sk-label-container {\n",
|
| 1517 |
+
" text-align: center;\n",
|
| 1518 |
+
"}\n",
|
| 1519 |
+
"\n",
|
| 1520 |
+
"/* Estimator-specific */\n",
|
| 1521 |
+
"#sk-container-id-2 div.sk-estimator {\n",
|
| 1522 |
+
" font-family: monospace;\n",
|
| 1523 |
+
" border: 1px dotted var(--sklearn-color-border-box);\n",
|
| 1524 |
+
" border-radius: 0.25em;\n",
|
| 1525 |
+
" box-sizing: border-box;\n",
|
| 1526 |
+
" margin-bottom: 0.5em;\n",
|
| 1527 |
+
" /* unfitted */\n",
|
| 1528 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1529 |
+
"}\n",
|
| 1530 |
+
"\n",
|
| 1531 |
+
"#sk-container-id-2 div.sk-estimator.fitted {\n",
|
| 1532 |
+
" /* fitted */\n",
|
| 1533 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1534 |
+
"}\n",
|
| 1535 |
+
"\n",
|
| 1536 |
+
"/* on hover */\n",
|
| 1537 |
+
"#sk-container-id-2 div.sk-estimator:hover {\n",
|
| 1538 |
+
" /* unfitted */\n",
|
| 1539 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1540 |
+
"}\n",
|
| 1541 |
+
"\n",
|
| 1542 |
+
"#sk-container-id-2 div.sk-estimator.fitted:hover {\n",
|
| 1543 |
+
" /* fitted */\n",
|
| 1544 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1545 |
+
"}\n",
|
| 1546 |
+
"\n",
|
| 1547 |
+
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
|
| 1548 |
+
"\n",
|
| 1549 |
+
"/* Common style for \"i\" and \"?\" */\n",
|
| 1550 |
+
"\n",
|
| 1551 |
+
".sk-estimator-doc-link,\n",
|
| 1552 |
+
"a:link.sk-estimator-doc-link,\n",
|
| 1553 |
+
"a:visited.sk-estimator-doc-link {\n",
|
| 1554 |
+
" float: right;\n",
|
| 1555 |
+
" font-size: smaller;\n",
|
| 1556 |
+
" line-height: 1em;\n",
|
| 1557 |
+
" font-family: monospace;\n",
|
| 1558 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1559 |
+
" border-radius: 1em;\n",
|
| 1560 |
+
" height: 1em;\n",
|
| 1561 |
+
" width: 1em;\n",
|
| 1562 |
+
" text-decoration: none !important;\n",
|
| 1563 |
+
" margin-left: 0.5em;\n",
|
| 1564 |
+
" text-align: center;\n",
|
| 1565 |
+
" /* unfitted */\n",
|
| 1566 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1567 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1568 |
+
"}\n",
|
| 1569 |
+
"\n",
|
| 1570 |
+
".sk-estimator-doc-link.fitted,\n",
|
| 1571 |
+
"a:link.sk-estimator-doc-link.fitted,\n",
|
| 1572 |
+
"a:visited.sk-estimator-doc-link.fitted {\n",
|
| 1573 |
+
" /* fitted */\n",
|
| 1574 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1575 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1576 |
+
"}\n",
|
| 1577 |
+
"\n",
|
| 1578 |
+
"/* On hover */\n",
|
| 1579 |
+
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
|
| 1580 |
+
".sk-estimator-doc-link:hover,\n",
|
| 1581 |
+
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
|
| 1582 |
+
".sk-estimator-doc-link:hover {\n",
|
| 1583 |
+
" /* unfitted */\n",
|
| 1584 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1585 |
+
" color: var(--sklearn-color-background);\n",
|
| 1586 |
+
" text-decoration: none;\n",
|
| 1587 |
+
"}\n",
|
| 1588 |
+
"\n",
|
| 1589 |
+
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1590 |
+
".sk-estimator-doc-link.fitted:hover,\n",
|
| 1591 |
+
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1592 |
+
".sk-estimator-doc-link.fitted:hover {\n",
|
| 1593 |
+
" /* fitted */\n",
|
| 1594 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1595 |
+
" color: var(--sklearn-color-background);\n",
|
| 1596 |
+
" text-decoration: none;\n",
|
| 1597 |
+
"}\n",
|
| 1598 |
+
"\n",
|
| 1599 |
+
"/* Span, style for the box shown on hovering the info icon */\n",
|
| 1600 |
+
".sk-estimator-doc-link span {\n",
|
| 1601 |
+
" display: none;\n",
|
| 1602 |
+
" z-index: 9999;\n",
|
| 1603 |
+
" position: relative;\n",
|
| 1604 |
+
" font-weight: normal;\n",
|
| 1605 |
+
" right: .2ex;\n",
|
| 1606 |
+
" padding: .5ex;\n",
|
| 1607 |
+
" margin: .5ex;\n",
|
| 1608 |
+
" width: min-content;\n",
|
| 1609 |
+
" min-width: 20ex;\n",
|
| 1610 |
+
" max-width: 50ex;\n",
|
| 1611 |
+
" color: var(--sklearn-color-text);\n",
|
| 1612 |
+
" box-shadow: 2pt 2pt 4pt #999;\n",
|
| 1613 |
+
" /* unfitted */\n",
|
| 1614 |
+
" background: var(--sklearn-color-unfitted-level-0);\n",
|
| 1615 |
+
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
|
| 1616 |
+
"}\n",
|
| 1617 |
+
"\n",
|
| 1618 |
+
".sk-estimator-doc-link.fitted span {\n",
|
| 1619 |
+
" /* fitted */\n",
|
| 1620 |
+
" background: var(--sklearn-color-fitted-level-0);\n",
|
| 1621 |
+
" border: var(--sklearn-color-fitted-level-3);\n",
|
| 1622 |
+
"}\n",
|
| 1623 |
+
"\n",
|
| 1624 |
+
".sk-estimator-doc-link:hover span {\n",
|
| 1625 |
+
" display: block;\n",
|
| 1626 |
+
"}\n",
|
| 1627 |
+
"\n",
|
| 1628 |
+
"/* \"?\"-specific style due to the `<a>` HTML tag */\n",
|
| 1629 |
+
"\n",
|
| 1630 |
+
"#sk-container-id-2 a.estimator_doc_link {\n",
|
| 1631 |
+
" float: right;\n",
|
| 1632 |
+
" font-size: 1rem;\n",
|
| 1633 |
+
" line-height: 1em;\n",
|
| 1634 |
+
" font-family: monospace;\n",
|
| 1635 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1636 |
+
" border-radius: 1rem;\n",
|
| 1637 |
+
" height: 1rem;\n",
|
| 1638 |
+
" width: 1rem;\n",
|
| 1639 |
+
" text-decoration: none;\n",
|
| 1640 |
+
" /* unfitted */\n",
|
| 1641 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1642 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1643 |
+
"}\n",
|
| 1644 |
+
"\n",
|
| 1645 |
+
"#sk-container-id-2 a.estimator_doc_link.fitted {\n",
|
| 1646 |
+
" /* fitted */\n",
|
| 1647 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1648 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1649 |
+
"}\n",
|
| 1650 |
+
"\n",
|
| 1651 |
+
"/* On hover */\n",
|
| 1652 |
+
"#sk-container-id-2 a.estimator_doc_link:hover {\n",
|
| 1653 |
+
" /* unfitted */\n",
|
| 1654 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1655 |
+
" color: var(--sklearn-color-background);\n",
|
| 1656 |
+
" text-decoration: none;\n",
|
| 1657 |
+
"}\n",
|
| 1658 |
+
"\n",
|
| 1659 |
+
"#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n",
|
| 1660 |
+
" /* fitted */\n",
|
| 1661 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1662 |
+
"}\n",
|
| 1663 |
+
"</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>SVC(kernel='linear')</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>SVC</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.svm.SVC.html\">?<span>Documentation for SVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>SVC(kernel='linear')</pre></div> </div></div></div></div>"
|
| 1664 |
+
],
|
| 1665 |
+
"text/plain": [
|
| 1666 |
+
"SVC(kernel='linear')"
|
| 1667 |
+
]
|
| 1668 |
+
},
|
| 1669 |
+
"execution_count": 22,
|
| 1670 |
+
"metadata": {},
|
| 1671 |
+
"output_type": "execute_result"
|
| 1672 |
+
}
|
| 1673 |
+
],
|
| 1674 |
+
"source": [
|
| 1675 |
+
"classifier.fit(X_train, Y_train)"
|
| 1676 |
+
]
|
| 1677 |
+
},
|
| 1678 |
+
{
|
| 1679 |
+
"cell_type": "code",
|
| 1680 |
+
"execution_count": 23,
|
| 1681 |
+
"metadata": {
|
| 1682 |
+
"id": "LqgHSt5t9RxB"
|
| 1683 |
+
},
|
| 1684 |
+
"outputs": [],
|
| 1685 |
+
"source": [
|
| 1686 |
+
"# accuracy score on the training data\n",
|
| 1687 |
+
"X_train_prediction = classifier.predict(X_train)\n",
|
| 1688 |
+
"training_data_accuracy = accuracy_score(X_train_prediction, Y_train)"
|
| 1689 |
+
]
|
| 1690 |
+
},
|
| 1691 |
+
{
|
| 1692 |
+
"cell_type": "code",
|
| 1693 |
+
"execution_count": 24,
|
| 1694 |
+
"metadata": {
|
| 1695 |
+
"colab": {
|
| 1696 |
+
"base_uri": "https://localhost:8080/"
|
| 1697 |
+
},
|
| 1698 |
+
"id": "Q3bpRt_r9q7s",
|
| 1699 |
+
"outputId": "55be24af-15ab-4bce-9e3a-a04c14556ac8"
|
| 1700 |
+
},
|
| 1701 |
+
"outputs": [
|
| 1702 |
+
{
|
| 1703 |
+
"name": "stdout",
|
| 1704 |
+
"output_type": "stream",
|
| 1705 |
+
"text": [
|
| 1706 |
+
"Accuracy score of the training data : 0.7866449511400652\n"
|
| 1707 |
+
]
|
| 1708 |
+
}
|
| 1709 |
+
],
|
| 1710 |
+
"source": [
|
| 1711 |
+
"print('Accuracy score of the training data : ', training_data_accuracy)"
|
| 1712 |
+
]
|
| 1713 |
+
},
|
| 1714 |
+
{
|
| 1715 |
+
"cell_type": "markdown",
|
| 1716 |
+
"metadata": {
|
| 1717 |
+
"id": "8wi8t8OC-DYw"
|
| 1718 |
+
},
|
| 1719 |
+
"source": []
|
| 1720 |
+
},
|
| 1721 |
+
{
|
| 1722 |
+
"cell_type": "code",
|
| 1723 |
+
"execution_count": 25,
|
| 1724 |
+
"metadata": {
|
| 1725 |
+
"id": "Ym9wCTqB-D3O"
|
| 1726 |
+
},
|
| 1727 |
+
"outputs": [],
|
| 1728 |
+
"source": [
|
| 1729 |
+
"X_test_prediction = classifier.predict(X_test)\n",
|
| 1730 |
+
"test_data_accuracy = accuracy_score(X_test_prediction, Y_test)"
|
| 1731 |
+
]
|
| 1732 |
+
},
|
| 1733 |
+
{
|
| 1734 |
+
"cell_type": "code",
|
| 1735 |
+
"execution_count": 26,
|
| 1736 |
+
"metadata": {
|
| 1737 |
+
"colab": {
|
| 1738 |
+
"base_uri": "https://localhost:8080/"
|
| 1739 |
+
},
|
| 1740 |
+
"id": "5kPa3HRc-idN",
|
| 1741 |
+
"outputId": "3087aa3a-a0a9-4993-b930-a31e03b685de"
|
| 1742 |
+
},
|
| 1743 |
+
"outputs": [
|
| 1744 |
+
{
|
| 1745 |
+
"name": "stdout",
|
| 1746 |
+
"output_type": "stream",
|
| 1747 |
+
"text": [
|
| 1748 |
+
"Accuracy score of the test data : 0.7727272727272727\n"
|
| 1749 |
+
]
|
| 1750 |
+
}
|
| 1751 |
+
],
|
| 1752 |
+
"source": [
|
| 1753 |
+
"print('Accuracy score of the test data : ', test_data_accuracy)"
|
| 1754 |
+
]
|
| 1755 |
+
},
|
| 1756 |
+
{
|
| 1757 |
+
"cell_type": "code",
|
| 1758 |
+
"execution_count": 27,
|
| 1759 |
+
"metadata": {
|
| 1760 |
+
"colab": {
|
| 1761 |
+
"base_uri": "https://localhost:8080/"
|
| 1762 |
+
},
|
| 1763 |
+
"id": "LQX8Vy2e-qWj",
|
| 1764 |
+
"outputId": "aced3a44-0dc6-4ea6-b787-7cf6708ff96b"
|
| 1765 |
+
},
|
| 1766 |
+
"outputs": [
|
| 1767 |
+
{
|
| 1768 |
+
"name": "stdout",
|
| 1769 |
+
"output_type": "stream",
|
| 1770 |
+
"text": [
|
| 1771 |
+
"[[ 0.3429808 1.41167241 0.14964075 -0.09637905 0.82661621 -0.78595734\n",
|
| 1772 |
+
" 0.34768723 1.51108316]]\n",
|
| 1773 |
+
"[1]\n",
|
| 1774 |
+
"The person is diabetic\n"
|
| 1775 |
+
]
|
| 1776 |
+
},
|
| 1777 |
+
{
|
| 1778 |
+
"name": "stderr",
|
| 1779 |
+
"output_type": "stream",
|
| 1780 |
+
"text": [
|
| 1781 |
+
"c:\\Users\\HP\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\sklearn\\utils\\validation.py:2739: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n",
|
| 1782 |
+
" warnings.warn(\n"
|
| 1783 |
+
]
|
| 1784 |
+
}
|
| 1785 |
+
],
|
| 1786 |
+
"source": [
|
| 1787 |
+
"input_data = (5,166,72,19,175,25.8,0.587,51)\n",
|
| 1788 |
+
"\n",
|
| 1789 |
+
"# changing the input_data to numpy array\n",
|
| 1790 |
+
"input_data_as_numpy_array = np.asarray(input_data)\n",
|
| 1791 |
+
"\n",
|
| 1792 |
+
"# reshape the array as we are predicting for one instance\n",
|
| 1793 |
+
"input_data_reshaped = input_data_as_numpy_array.reshape(1,-1)\n",
|
| 1794 |
+
"\n",
|
| 1795 |
+
"# standardize the input data\n",
|
| 1796 |
+
"std_data = scaler.transform(input_data_reshaped)\n",
|
| 1797 |
+
"print(std_data)\n",
|
| 1798 |
+
"\n",
|
| 1799 |
+
"prediction = classifier.predict(std_data)\n",
|
| 1800 |
+
"print(prediction)\n",
|
| 1801 |
+
"\n",
|
| 1802 |
+
"if (prediction[0] == 0):\n",
|
| 1803 |
+
" print('The person is not diabetic')\n",
|
| 1804 |
+
"else:\n",
|
| 1805 |
+
" print('The person is diabetic')"
|
| 1806 |
+
]
|
| 1807 |
+
}
|
| 1808 |
+
],
|
| 1809 |
+
"metadata": {
|
| 1810 |
+
"colab": {
|
| 1811 |
+
"provenance": []
|
| 1812 |
+
},
|
| 1813 |
+
"kernelspec": {
|
| 1814 |
+
"display_name": "Python 3",
|
| 1815 |
+
"name": "python3"
|
| 1816 |
+
},
|
| 1817 |
+
"language_info": {
|
| 1818 |
+
"codemirror_mode": {
|
| 1819 |
+
"name": "ipython",
|
| 1820 |
+
"version": 3
|
| 1821 |
+
},
|
| 1822 |
+
"file_extension": ".py",
|
| 1823 |
+
"mimetype": "text/x-python",
|
| 1824 |
+
"name": "python",
|
| 1825 |
+
"nbconvert_exporter": "python",
|
| 1826 |
+
"pygments_lexer": "ipython3",
|
| 1827 |
+
"version": "3.11.4"
|
| 1828 |
+
}
|
| 1829 |
+
},
|
| 1830 |
+
"nbformat": 4,
|
| 1831 |
+
"nbformat_minor": 0
|
| 1832 |
+
}
|
Diabetes_Prediction_Fixed.ipynb
ADDED
|
File without changes
|
Heart_Disease_Prediction.ipynb
ADDED
|
@@ -0,0 +1,1488 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 1,
|
| 6 |
+
"metadata": {
|
| 7 |
+
"id": "opakNSBXYnr7"
|
| 8 |
+
},
|
| 9 |
+
"outputs": [],
|
| 10 |
+
"source": [
|
| 11 |
+
"import pandas as pd\n",
|
| 12 |
+
"import numpy as np\n",
|
| 13 |
+
"from sklearn.model_selection import train_test_split\n",
|
| 14 |
+
"from sklearn.linear_model import LogisticRegression\n",
|
| 15 |
+
"from sklearn.metrics import accuracy_score\n"
|
| 16 |
+
]
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"cell_type": "code",
|
| 20 |
+
"execution_count": 2,
|
| 21 |
+
"metadata": {
|
| 22 |
+
"id": "V_dgpge_wKay"
|
| 23 |
+
},
|
| 24 |
+
"outputs": [],
|
| 25 |
+
"source": [
|
| 26 |
+
"heart_data = pd.read_csv(r'C:\\\\Users\\\\HP\\\\OneDrive\\\\Desktop\\\\HackAI\\\\datasets\\\\heart.csv')"
|
| 27 |
+
]
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"cell_type": "code",
|
| 31 |
+
"execution_count": 3,
|
| 32 |
+
"metadata": {
|
| 33 |
+
"colab": {
|
| 34 |
+
"base_uri": "https://localhost:8080/",
|
| 35 |
+
"height": 206
|
| 36 |
+
},
|
| 37 |
+
"id": "hR4tVdiwwqe6",
|
| 38 |
+
"outputId": "b3509daf-e057-4f5d-da58-4eea2eea7445"
|
| 39 |
+
},
|
| 40 |
+
"outputs": [
|
| 41 |
+
{
|
| 42 |
+
"data": {
|
| 43 |
+
"text/html": [
|
| 44 |
+
"<div>\n",
|
| 45 |
+
"<style scoped>\n",
|
| 46 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 47 |
+
" vertical-align: middle;\n",
|
| 48 |
+
" }\n",
|
| 49 |
+
"\n",
|
| 50 |
+
" .dataframe tbody tr th {\n",
|
| 51 |
+
" vertical-align: top;\n",
|
| 52 |
+
" }\n",
|
| 53 |
+
"\n",
|
| 54 |
+
" .dataframe thead th {\n",
|
| 55 |
+
" text-align: right;\n",
|
| 56 |
+
" }\n",
|
| 57 |
+
"</style>\n",
|
| 58 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 59 |
+
" <thead>\n",
|
| 60 |
+
" <tr style=\"text-align: right;\">\n",
|
| 61 |
+
" <th></th>\n",
|
| 62 |
+
" <th>age</th>\n",
|
| 63 |
+
" <th>sex</th>\n",
|
| 64 |
+
" <th>cp</th>\n",
|
| 65 |
+
" <th>trestbps</th>\n",
|
| 66 |
+
" <th>chol</th>\n",
|
| 67 |
+
" <th>fbs</th>\n",
|
| 68 |
+
" <th>restecg</th>\n",
|
| 69 |
+
" <th>thalach</th>\n",
|
| 70 |
+
" <th>exang</th>\n",
|
| 71 |
+
" <th>oldpeak</th>\n",
|
| 72 |
+
" <th>slope</th>\n",
|
| 73 |
+
" <th>ca</th>\n",
|
| 74 |
+
" <th>thal</th>\n",
|
| 75 |
+
" <th>target</th>\n",
|
| 76 |
+
" </tr>\n",
|
| 77 |
+
" </thead>\n",
|
| 78 |
+
" <tbody>\n",
|
| 79 |
+
" <tr>\n",
|
| 80 |
+
" <th>0</th>\n",
|
| 81 |
+
" <td>52</td>\n",
|
| 82 |
+
" <td>1</td>\n",
|
| 83 |
+
" <td>0</td>\n",
|
| 84 |
+
" <td>125</td>\n",
|
| 85 |
+
" <td>212</td>\n",
|
| 86 |
+
" <td>0</td>\n",
|
| 87 |
+
" <td>1</td>\n",
|
| 88 |
+
" <td>168</td>\n",
|
| 89 |
+
" <td>0</td>\n",
|
| 90 |
+
" <td>1.0</td>\n",
|
| 91 |
+
" <td>2</td>\n",
|
| 92 |
+
" <td>2</td>\n",
|
| 93 |
+
" <td>3</td>\n",
|
| 94 |
+
" <td>0</td>\n",
|
| 95 |
+
" </tr>\n",
|
| 96 |
+
" <tr>\n",
|
| 97 |
+
" <th>1</th>\n",
|
| 98 |
+
" <td>53</td>\n",
|
| 99 |
+
" <td>1</td>\n",
|
| 100 |
+
" <td>0</td>\n",
|
| 101 |
+
" <td>140</td>\n",
|
| 102 |
+
" <td>203</td>\n",
|
| 103 |
+
" <td>1</td>\n",
|
| 104 |
+
" <td>0</td>\n",
|
| 105 |
+
" <td>155</td>\n",
|
| 106 |
+
" <td>1</td>\n",
|
| 107 |
+
" <td>3.1</td>\n",
|
| 108 |
+
" <td>0</td>\n",
|
| 109 |
+
" <td>0</td>\n",
|
| 110 |
+
" <td>3</td>\n",
|
| 111 |
+
" <td>0</td>\n",
|
| 112 |
+
" </tr>\n",
|
| 113 |
+
" <tr>\n",
|
| 114 |
+
" <th>2</th>\n",
|
| 115 |
+
" <td>70</td>\n",
|
| 116 |
+
" <td>1</td>\n",
|
| 117 |
+
" <td>0</td>\n",
|
| 118 |
+
" <td>145</td>\n",
|
| 119 |
+
" <td>174</td>\n",
|
| 120 |
+
" <td>0</td>\n",
|
| 121 |
+
" <td>1</td>\n",
|
| 122 |
+
" <td>125</td>\n",
|
| 123 |
+
" <td>1</td>\n",
|
| 124 |
+
" <td>2.6</td>\n",
|
| 125 |
+
" <td>0</td>\n",
|
| 126 |
+
" <td>0</td>\n",
|
| 127 |
+
" <td>3</td>\n",
|
| 128 |
+
" <td>0</td>\n",
|
| 129 |
+
" </tr>\n",
|
| 130 |
+
" <tr>\n",
|
| 131 |
+
" <th>3</th>\n",
|
| 132 |
+
" <td>61</td>\n",
|
| 133 |
+
" <td>1</td>\n",
|
| 134 |
+
" <td>0</td>\n",
|
| 135 |
+
" <td>148</td>\n",
|
| 136 |
+
" <td>203</td>\n",
|
| 137 |
+
" <td>0</td>\n",
|
| 138 |
+
" <td>1</td>\n",
|
| 139 |
+
" <td>161</td>\n",
|
| 140 |
+
" <td>0</td>\n",
|
| 141 |
+
" <td>0.0</td>\n",
|
| 142 |
+
" <td>2</td>\n",
|
| 143 |
+
" <td>1</td>\n",
|
| 144 |
+
" <td>3</td>\n",
|
| 145 |
+
" <td>0</td>\n",
|
| 146 |
+
" </tr>\n",
|
| 147 |
+
" <tr>\n",
|
| 148 |
+
" <th>4</th>\n",
|
| 149 |
+
" <td>62</td>\n",
|
| 150 |
+
" <td>0</td>\n",
|
| 151 |
+
" <td>0</td>\n",
|
| 152 |
+
" <td>138</td>\n",
|
| 153 |
+
" <td>294</td>\n",
|
| 154 |
+
" <td>1</td>\n",
|
| 155 |
+
" <td>1</td>\n",
|
| 156 |
+
" <td>106</td>\n",
|
| 157 |
+
" <td>0</td>\n",
|
| 158 |
+
" <td>1.9</td>\n",
|
| 159 |
+
" <td>1</td>\n",
|
| 160 |
+
" <td>3</td>\n",
|
| 161 |
+
" <td>2</td>\n",
|
| 162 |
+
" <td>0</td>\n",
|
| 163 |
+
" </tr>\n",
|
| 164 |
+
" </tbody>\n",
|
| 165 |
+
"</table>\n",
|
| 166 |
+
"</div>"
|
| 167 |
+
],
|
| 168 |
+
"text/plain": [
|
| 169 |
+
" age sex cp trestbps chol fbs restecg thalach exang oldpeak slope \\\n",
|
| 170 |
+
"0 52 1 0 125 212 0 1 168 0 1.0 2 \n",
|
| 171 |
+
"1 53 1 0 140 203 1 0 155 1 3.1 0 \n",
|
| 172 |
+
"2 70 1 0 145 174 0 1 125 1 2.6 0 \n",
|
| 173 |
+
"3 61 1 0 148 203 0 1 161 0 0.0 2 \n",
|
| 174 |
+
"4 62 0 0 138 294 1 1 106 0 1.9 1 \n",
|
| 175 |
+
"\n",
|
| 176 |
+
" ca thal target \n",
|
| 177 |
+
"0 2 3 0 \n",
|
| 178 |
+
"1 0 3 0 \n",
|
| 179 |
+
"2 0 3 0 \n",
|
| 180 |
+
"3 1 3 0 \n",
|
| 181 |
+
"4 3 2 0 "
|
| 182 |
+
]
|
| 183 |
+
},
|
| 184 |
+
"execution_count": 3,
|
| 185 |
+
"metadata": {},
|
| 186 |
+
"output_type": "execute_result"
|
| 187 |
+
}
|
| 188 |
+
],
|
| 189 |
+
"source": [
|
| 190 |
+
"heart_data.head()"
|
| 191 |
+
]
|
| 192 |
+
},
|
| 193 |
+
{
|
| 194 |
+
"cell_type": "code",
|
| 195 |
+
"execution_count": 4,
|
| 196 |
+
"metadata": {
|
| 197 |
+
"colab": {
|
| 198 |
+
"base_uri": "https://localhost:8080/",
|
| 199 |
+
"height": 206
|
| 200 |
+
},
|
| 201 |
+
"id": "r0SfmiRPw7eU",
|
| 202 |
+
"outputId": "fc940326-ee3b-45ac-a2d0-d613c1739c22"
|
| 203 |
+
},
|
| 204 |
+
"outputs": [
|
| 205 |
+
{
|
| 206 |
+
"data": {
|
| 207 |
+
"text/html": [
|
| 208 |
+
"<div>\n",
|
| 209 |
+
"<style scoped>\n",
|
| 210 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 211 |
+
" vertical-align: middle;\n",
|
| 212 |
+
" }\n",
|
| 213 |
+
"\n",
|
| 214 |
+
" .dataframe tbody tr th {\n",
|
| 215 |
+
" vertical-align: top;\n",
|
| 216 |
+
" }\n",
|
| 217 |
+
"\n",
|
| 218 |
+
" .dataframe thead th {\n",
|
| 219 |
+
" text-align: right;\n",
|
| 220 |
+
" }\n",
|
| 221 |
+
"</style>\n",
|
| 222 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 223 |
+
" <thead>\n",
|
| 224 |
+
" <tr style=\"text-align: right;\">\n",
|
| 225 |
+
" <th></th>\n",
|
| 226 |
+
" <th>age</th>\n",
|
| 227 |
+
" <th>sex</th>\n",
|
| 228 |
+
" <th>cp</th>\n",
|
| 229 |
+
" <th>trestbps</th>\n",
|
| 230 |
+
" <th>chol</th>\n",
|
| 231 |
+
" <th>fbs</th>\n",
|
| 232 |
+
" <th>restecg</th>\n",
|
| 233 |
+
" <th>thalach</th>\n",
|
| 234 |
+
" <th>exang</th>\n",
|
| 235 |
+
" <th>oldpeak</th>\n",
|
| 236 |
+
" <th>slope</th>\n",
|
| 237 |
+
" <th>ca</th>\n",
|
| 238 |
+
" <th>thal</th>\n",
|
| 239 |
+
" <th>target</th>\n",
|
| 240 |
+
" </tr>\n",
|
| 241 |
+
" </thead>\n",
|
| 242 |
+
" <tbody>\n",
|
| 243 |
+
" <tr>\n",
|
| 244 |
+
" <th>1020</th>\n",
|
| 245 |
+
" <td>59</td>\n",
|
| 246 |
+
" <td>1</td>\n",
|
| 247 |
+
" <td>1</td>\n",
|
| 248 |
+
" <td>140</td>\n",
|
| 249 |
+
" <td>221</td>\n",
|
| 250 |
+
" <td>0</td>\n",
|
| 251 |
+
" <td>1</td>\n",
|
| 252 |
+
" <td>164</td>\n",
|
| 253 |
+
" <td>1</td>\n",
|
| 254 |
+
" <td>0.0</td>\n",
|
| 255 |
+
" <td>2</td>\n",
|
| 256 |
+
" <td>0</td>\n",
|
| 257 |
+
" <td>2</td>\n",
|
| 258 |
+
" <td>1</td>\n",
|
| 259 |
+
" </tr>\n",
|
| 260 |
+
" <tr>\n",
|
| 261 |
+
" <th>1021</th>\n",
|
| 262 |
+
" <td>60</td>\n",
|
| 263 |
+
" <td>1</td>\n",
|
| 264 |
+
" <td>0</td>\n",
|
| 265 |
+
" <td>125</td>\n",
|
| 266 |
+
" <td>258</td>\n",
|
| 267 |
+
" <td>0</td>\n",
|
| 268 |
+
" <td>0</td>\n",
|
| 269 |
+
" <td>141</td>\n",
|
| 270 |
+
" <td>1</td>\n",
|
| 271 |
+
" <td>2.8</td>\n",
|
| 272 |
+
" <td>1</td>\n",
|
| 273 |
+
" <td>1</td>\n",
|
| 274 |
+
" <td>3</td>\n",
|
| 275 |
+
" <td>0</td>\n",
|
| 276 |
+
" </tr>\n",
|
| 277 |
+
" <tr>\n",
|
| 278 |
+
" <th>1022</th>\n",
|
| 279 |
+
" <td>47</td>\n",
|
| 280 |
+
" <td>1</td>\n",
|
| 281 |
+
" <td>0</td>\n",
|
| 282 |
+
" <td>110</td>\n",
|
| 283 |
+
" <td>275</td>\n",
|
| 284 |
+
" <td>0</td>\n",
|
| 285 |
+
" <td>0</td>\n",
|
| 286 |
+
" <td>118</td>\n",
|
| 287 |
+
" <td>1</td>\n",
|
| 288 |
+
" <td>1.0</td>\n",
|
| 289 |
+
" <td>1</td>\n",
|
| 290 |
+
" <td>1</td>\n",
|
| 291 |
+
" <td>2</td>\n",
|
| 292 |
+
" <td>0</td>\n",
|
| 293 |
+
" </tr>\n",
|
| 294 |
+
" <tr>\n",
|
| 295 |
+
" <th>1023</th>\n",
|
| 296 |
+
" <td>50</td>\n",
|
| 297 |
+
" <td>0</td>\n",
|
| 298 |
+
" <td>0</td>\n",
|
| 299 |
+
" <td>110</td>\n",
|
| 300 |
+
" <td>254</td>\n",
|
| 301 |
+
" <td>0</td>\n",
|
| 302 |
+
" <td>0</td>\n",
|
| 303 |
+
" <td>159</td>\n",
|
| 304 |
+
" <td>0</td>\n",
|
| 305 |
+
" <td>0.0</td>\n",
|
| 306 |
+
" <td>2</td>\n",
|
| 307 |
+
" <td>0</td>\n",
|
| 308 |
+
" <td>2</td>\n",
|
| 309 |
+
" <td>1</td>\n",
|
| 310 |
+
" </tr>\n",
|
| 311 |
+
" <tr>\n",
|
| 312 |
+
" <th>1024</th>\n",
|
| 313 |
+
" <td>54</td>\n",
|
| 314 |
+
" <td>1</td>\n",
|
| 315 |
+
" <td>0</td>\n",
|
| 316 |
+
" <td>120</td>\n",
|
| 317 |
+
" <td>188</td>\n",
|
| 318 |
+
" <td>0</td>\n",
|
| 319 |
+
" <td>1</td>\n",
|
| 320 |
+
" <td>113</td>\n",
|
| 321 |
+
" <td>0</td>\n",
|
| 322 |
+
" <td>1.4</td>\n",
|
| 323 |
+
" <td>1</td>\n",
|
| 324 |
+
" <td>1</td>\n",
|
| 325 |
+
" <td>3</td>\n",
|
| 326 |
+
" <td>0</td>\n",
|
| 327 |
+
" </tr>\n",
|
| 328 |
+
" </tbody>\n",
|
| 329 |
+
"</table>\n",
|
| 330 |
+
"</div>"
|
| 331 |
+
],
|
| 332 |
+
"text/plain": [
|
| 333 |
+
" age sex cp trestbps chol fbs restecg thalach exang oldpeak \\\n",
|
| 334 |
+
"1020 59 1 1 140 221 0 1 164 1 0.0 \n",
|
| 335 |
+
"1021 60 1 0 125 258 0 0 141 1 2.8 \n",
|
| 336 |
+
"1022 47 1 0 110 275 0 0 118 1 1.0 \n",
|
| 337 |
+
"1023 50 0 0 110 254 0 0 159 0 0.0 \n",
|
| 338 |
+
"1024 54 1 0 120 188 0 1 113 0 1.4 \n",
|
| 339 |
+
"\n",
|
| 340 |
+
" slope ca thal target \n",
|
| 341 |
+
"1020 2 0 2 1 \n",
|
| 342 |
+
"1021 1 1 3 0 \n",
|
| 343 |
+
"1022 1 1 2 0 \n",
|
| 344 |
+
"1023 2 0 2 1 \n",
|
| 345 |
+
"1024 1 1 3 0 "
|
| 346 |
+
]
|
| 347 |
+
},
|
| 348 |
+
"execution_count": 4,
|
| 349 |
+
"metadata": {},
|
| 350 |
+
"output_type": "execute_result"
|
| 351 |
+
}
|
| 352 |
+
],
|
| 353 |
+
"source": [
|
| 354 |
+
"heart_data.tail()"
|
| 355 |
+
]
|
| 356 |
+
},
|
| 357 |
+
{
|
| 358 |
+
"cell_type": "code",
|
| 359 |
+
"execution_count": 5,
|
| 360 |
+
"metadata": {
|
| 361 |
+
"colab": {
|
| 362 |
+
"base_uri": "https://localhost:8080/"
|
| 363 |
+
},
|
| 364 |
+
"id": "1ZW9RUGs3bWj",
|
| 365 |
+
"outputId": "d197eb58-b8de-412e-81dd-75556b52534b"
|
| 366 |
+
},
|
| 367 |
+
"outputs": [
|
| 368 |
+
{
|
| 369 |
+
"data": {
|
| 370 |
+
"text/plain": [
|
| 371 |
+
"(1025, 14)"
|
| 372 |
+
]
|
| 373 |
+
},
|
| 374 |
+
"execution_count": 5,
|
| 375 |
+
"metadata": {},
|
| 376 |
+
"output_type": "execute_result"
|
| 377 |
+
}
|
| 378 |
+
],
|
| 379 |
+
"source": [
|
| 380 |
+
"heart_data.shape"
|
| 381 |
+
]
|
| 382 |
+
},
|
| 383 |
+
{
|
| 384 |
+
"cell_type": "code",
|
| 385 |
+
"execution_count": 6,
|
| 386 |
+
"metadata": {
|
| 387 |
+
"colab": {
|
| 388 |
+
"base_uri": "https://localhost:8080/"
|
| 389 |
+
},
|
| 390 |
+
"id": "ctW8j5Ux3k4L",
|
| 391 |
+
"outputId": "12ab3ecd-a657-46f8-84ee-62c5aa2d28df"
|
| 392 |
+
},
|
| 393 |
+
"outputs": [
|
| 394 |
+
{
|
| 395 |
+
"name": "stdout",
|
| 396 |
+
"output_type": "stream",
|
| 397 |
+
"text": [
|
| 398 |
+
"<class 'pandas.core.frame.DataFrame'>\n",
|
| 399 |
+
"RangeIndex: 1025 entries, 0 to 1024\n",
|
| 400 |
+
"Data columns (total 14 columns):\n",
|
| 401 |
+
" # Column Non-Null Count Dtype \n",
|
| 402 |
+
"--- ------ -------------- ----- \n",
|
| 403 |
+
" 0 age 1025 non-null int64 \n",
|
| 404 |
+
" 1 sex 1025 non-null int64 \n",
|
| 405 |
+
" 2 cp 1025 non-null int64 \n",
|
| 406 |
+
" 3 trestbps 1025 non-null int64 \n",
|
| 407 |
+
" 4 chol 1025 non-null int64 \n",
|
| 408 |
+
" 5 fbs 1025 non-null int64 \n",
|
| 409 |
+
" 6 restecg 1025 non-null int64 \n",
|
| 410 |
+
" 7 thalach 1025 non-null int64 \n",
|
| 411 |
+
" 8 exang 1025 non-null int64 \n",
|
| 412 |
+
" 9 oldpeak 1025 non-null float64\n",
|
| 413 |
+
" 10 slope 1025 non-null int64 \n",
|
| 414 |
+
" 11 ca 1025 non-null int64 \n",
|
| 415 |
+
" 12 thal 1025 non-null int64 \n",
|
| 416 |
+
" 13 target 1025 non-null int64 \n",
|
| 417 |
+
"dtypes: float64(1), int64(13)\n",
|
| 418 |
+
"memory usage: 112.2 KB\n"
|
| 419 |
+
]
|
| 420 |
+
}
|
| 421 |
+
],
|
| 422 |
+
"source": [
|
| 423 |
+
"heart_data.info()"
|
| 424 |
+
]
|
| 425 |
+
},
|
| 426 |
+
{
|
| 427 |
+
"cell_type": "code",
|
| 428 |
+
"execution_count": 7,
|
| 429 |
+
"metadata": {
|
| 430 |
+
"colab": {
|
| 431 |
+
"base_uri": "https://localhost:8080/",
|
| 432 |
+
"height": 523
|
| 433 |
+
},
|
| 434 |
+
"id": "9j6Xoe5j6gkA",
|
| 435 |
+
"outputId": "d8725fa6-e008-479a-893c-e7a51193161a"
|
| 436 |
+
},
|
| 437 |
+
"outputs": [
|
| 438 |
+
{
|
| 439 |
+
"data": {
|
| 440 |
+
"text/plain": [
|
| 441 |
+
"age 0\n",
|
| 442 |
+
"sex 0\n",
|
| 443 |
+
"cp 0\n",
|
| 444 |
+
"trestbps 0\n",
|
| 445 |
+
"chol 0\n",
|
| 446 |
+
"fbs 0\n",
|
| 447 |
+
"restecg 0\n",
|
| 448 |
+
"thalach 0\n",
|
| 449 |
+
"exang 0\n",
|
| 450 |
+
"oldpeak 0\n",
|
| 451 |
+
"slope 0\n",
|
| 452 |
+
"ca 0\n",
|
| 453 |
+
"thal 0\n",
|
| 454 |
+
"target 0\n",
|
| 455 |
+
"dtype: int64"
|
| 456 |
+
]
|
| 457 |
+
},
|
| 458 |
+
"execution_count": 7,
|
| 459 |
+
"metadata": {},
|
| 460 |
+
"output_type": "execute_result"
|
| 461 |
+
}
|
| 462 |
+
],
|
| 463 |
+
"source": [
|
| 464 |
+
"heart_data.isnull().sum()"
|
| 465 |
+
]
|
| 466 |
+
},
|
| 467 |
+
{
|
| 468 |
+
"cell_type": "code",
|
| 469 |
+
"execution_count": 8,
|
| 470 |
+
"metadata": {
|
| 471 |
+
"colab": {
|
| 472 |
+
"base_uri": "https://localhost:8080/",
|
| 473 |
+
"height": 320
|
| 474 |
+
},
|
| 475 |
+
"id": "V8NCblxZ6ljJ",
|
| 476 |
+
"outputId": "3dade486-a966-402d-c003-bac7a7d83be6"
|
| 477 |
+
},
|
| 478 |
+
"outputs": [
|
| 479 |
+
{
|
| 480 |
+
"data": {
|
| 481 |
+
"text/html": [
|
| 482 |
+
"<div>\n",
|
| 483 |
+
"<style scoped>\n",
|
| 484 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 485 |
+
" vertical-align: middle;\n",
|
| 486 |
+
" }\n",
|
| 487 |
+
"\n",
|
| 488 |
+
" .dataframe tbody tr th {\n",
|
| 489 |
+
" vertical-align: top;\n",
|
| 490 |
+
" }\n",
|
| 491 |
+
"\n",
|
| 492 |
+
" .dataframe thead th {\n",
|
| 493 |
+
" text-align: right;\n",
|
| 494 |
+
" }\n",
|
| 495 |
+
"</style>\n",
|
| 496 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 497 |
+
" <thead>\n",
|
| 498 |
+
" <tr style=\"text-align: right;\">\n",
|
| 499 |
+
" <th></th>\n",
|
| 500 |
+
" <th>age</th>\n",
|
| 501 |
+
" <th>sex</th>\n",
|
| 502 |
+
" <th>cp</th>\n",
|
| 503 |
+
" <th>trestbps</th>\n",
|
| 504 |
+
" <th>chol</th>\n",
|
| 505 |
+
" <th>fbs</th>\n",
|
| 506 |
+
" <th>restecg</th>\n",
|
| 507 |
+
" <th>thalach</th>\n",
|
| 508 |
+
" <th>exang</th>\n",
|
| 509 |
+
" <th>oldpeak</th>\n",
|
| 510 |
+
" <th>slope</th>\n",
|
| 511 |
+
" <th>ca</th>\n",
|
| 512 |
+
" <th>thal</th>\n",
|
| 513 |
+
" <th>target</th>\n",
|
| 514 |
+
" </tr>\n",
|
| 515 |
+
" </thead>\n",
|
| 516 |
+
" <tbody>\n",
|
| 517 |
+
" <tr>\n",
|
| 518 |
+
" <th>count</th>\n",
|
| 519 |
+
" <td>1025.000000</td>\n",
|
| 520 |
+
" <td>1025.000000</td>\n",
|
| 521 |
+
" <td>1025.000000</td>\n",
|
| 522 |
+
" <td>1025.000000</td>\n",
|
| 523 |
+
" <td>1025.00000</td>\n",
|
| 524 |
+
" <td>1025.000000</td>\n",
|
| 525 |
+
" <td>1025.000000</td>\n",
|
| 526 |
+
" <td>1025.000000</td>\n",
|
| 527 |
+
" <td>1025.000000</td>\n",
|
| 528 |
+
" <td>1025.000000</td>\n",
|
| 529 |
+
" <td>1025.000000</td>\n",
|
| 530 |
+
" <td>1025.000000</td>\n",
|
| 531 |
+
" <td>1025.000000</td>\n",
|
| 532 |
+
" <td>1025.000000</td>\n",
|
| 533 |
+
" </tr>\n",
|
| 534 |
+
" <tr>\n",
|
| 535 |
+
" <th>mean</th>\n",
|
| 536 |
+
" <td>54.434146</td>\n",
|
| 537 |
+
" <td>0.695610</td>\n",
|
| 538 |
+
" <td>0.942439</td>\n",
|
| 539 |
+
" <td>131.611707</td>\n",
|
| 540 |
+
" <td>246.00000</td>\n",
|
| 541 |
+
" <td>0.149268</td>\n",
|
| 542 |
+
" <td>0.529756</td>\n",
|
| 543 |
+
" <td>149.114146</td>\n",
|
| 544 |
+
" <td>0.336585</td>\n",
|
| 545 |
+
" <td>1.071512</td>\n",
|
| 546 |
+
" <td>1.385366</td>\n",
|
| 547 |
+
" <td>0.754146</td>\n",
|
| 548 |
+
" <td>2.323902</td>\n",
|
| 549 |
+
" <td>0.513171</td>\n",
|
| 550 |
+
" </tr>\n",
|
| 551 |
+
" <tr>\n",
|
| 552 |
+
" <th>std</th>\n",
|
| 553 |
+
" <td>9.072290</td>\n",
|
| 554 |
+
" <td>0.460373</td>\n",
|
| 555 |
+
" <td>1.029641</td>\n",
|
| 556 |
+
" <td>17.516718</td>\n",
|
| 557 |
+
" <td>51.59251</td>\n",
|
| 558 |
+
" <td>0.356527</td>\n",
|
| 559 |
+
" <td>0.527878</td>\n",
|
| 560 |
+
" <td>23.005724</td>\n",
|
| 561 |
+
" <td>0.472772</td>\n",
|
| 562 |
+
" <td>1.175053</td>\n",
|
| 563 |
+
" <td>0.617755</td>\n",
|
| 564 |
+
" <td>1.030798</td>\n",
|
| 565 |
+
" <td>0.620660</td>\n",
|
| 566 |
+
" <td>0.500070</td>\n",
|
| 567 |
+
" </tr>\n",
|
| 568 |
+
" <tr>\n",
|
| 569 |
+
" <th>min</th>\n",
|
| 570 |
+
" <td>29.000000</td>\n",
|
| 571 |
+
" <td>0.000000</td>\n",
|
| 572 |
+
" <td>0.000000</td>\n",
|
| 573 |
+
" <td>94.000000</td>\n",
|
| 574 |
+
" <td>126.00000</td>\n",
|
| 575 |
+
" <td>0.000000</td>\n",
|
| 576 |
+
" <td>0.000000</td>\n",
|
| 577 |
+
" <td>71.000000</td>\n",
|
| 578 |
+
" <td>0.000000</td>\n",
|
| 579 |
+
" <td>0.000000</td>\n",
|
| 580 |
+
" <td>0.000000</td>\n",
|
| 581 |
+
" <td>0.000000</td>\n",
|
| 582 |
+
" <td>0.000000</td>\n",
|
| 583 |
+
" <td>0.000000</td>\n",
|
| 584 |
+
" </tr>\n",
|
| 585 |
+
" <tr>\n",
|
| 586 |
+
" <th>25%</th>\n",
|
| 587 |
+
" <td>48.000000</td>\n",
|
| 588 |
+
" <td>0.000000</td>\n",
|
| 589 |
+
" <td>0.000000</td>\n",
|
| 590 |
+
" <td>120.000000</td>\n",
|
| 591 |
+
" <td>211.00000</td>\n",
|
| 592 |
+
" <td>0.000000</td>\n",
|
| 593 |
+
" <td>0.000000</td>\n",
|
| 594 |
+
" <td>132.000000</td>\n",
|
| 595 |
+
" <td>0.000000</td>\n",
|
| 596 |
+
" <td>0.000000</td>\n",
|
| 597 |
+
" <td>1.000000</td>\n",
|
| 598 |
+
" <td>0.000000</td>\n",
|
| 599 |
+
" <td>2.000000</td>\n",
|
| 600 |
+
" <td>0.000000</td>\n",
|
| 601 |
+
" </tr>\n",
|
| 602 |
+
" <tr>\n",
|
| 603 |
+
" <th>50%</th>\n",
|
| 604 |
+
" <td>56.000000</td>\n",
|
| 605 |
+
" <td>1.000000</td>\n",
|
| 606 |
+
" <td>1.000000</td>\n",
|
| 607 |
+
" <td>130.000000</td>\n",
|
| 608 |
+
" <td>240.00000</td>\n",
|
| 609 |
+
" <td>0.000000</td>\n",
|
| 610 |
+
" <td>1.000000</td>\n",
|
| 611 |
+
" <td>152.000000</td>\n",
|
| 612 |
+
" <td>0.000000</td>\n",
|
| 613 |
+
" <td>0.800000</td>\n",
|
| 614 |
+
" <td>1.000000</td>\n",
|
| 615 |
+
" <td>0.000000</td>\n",
|
| 616 |
+
" <td>2.000000</td>\n",
|
| 617 |
+
" <td>1.000000</td>\n",
|
| 618 |
+
" </tr>\n",
|
| 619 |
+
" <tr>\n",
|
| 620 |
+
" <th>75%</th>\n",
|
| 621 |
+
" <td>61.000000</td>\n",
|
| 622 |
+
" <td>1.000000</td>\n",
|
| 623 |
+
" <td>2.000000</td>\n",
|
| 624 |
+
" <td>140.000000</td>\n",
|
| 625 |
+
" <td>275.00000</td>\n",
|
| 626 |
+
" <td>0.000000</td>\n",
|
| 627 |
+
" <td>1.000000</td>\n",
|
| 628 |
+
" <td>166.000000</td>\n",
|
| 629 |
+
" <td>1.000000</td>\n",
|
| 630 |
+
" <td>1.800000</td>\n",
|
| 631 |
+
" <td>2.000000</td>\n",
|
| 632 |
+
" <td>1.000000</td>\n",
|
| 633 |
+
" <td>3.000000</td>\n",
|
| 634 |
+
" <td>1.000000</td>\n",
|
| 635 |
+
" </tr>\n",
|
| 636 |
+
" <tr>\n",
|
| 637 |
+
" <th>max</th>\n",
|
| 638 |
+
" <td>77.000000</td>\n",
|
| 639 |
+
" <td>1.000000</td>\n",
|
| 640 |
+
" <td>3.000000</td>\n",
|
| 641 |
+
" <td>200.000000</td>\n",
|
| 642 |
+
" <td>564.00000</td>\n",
|
| 643 |
+
" <td>1.000000</td>\n",
|
| 644 |
+
" <td>2.000000</td>\n",
|
| 645 |
+
" <td>202.000000</td>\n",
|
| 646 |
+
" <td>1.000000</td>\n",
|
| 647 |
+
" <td>6.200000</td>\n",
|
| 648 |
+
" <td>2.000000</td>\n",
|
| 649 |
+
" <td>4.000000</td>\n",
|
| 650 |
+
" <td>3.000000</td>\n",
|
| 651 |
+
" <td>1.000000</td>\n",
|
| 652 |
+
" </tr>\n",
|
| 653 |
+
" </tbody>\n",
|
| 654 |
+
"</table>\n",
|
| 655 |
+
"</div>"
|
| 656 |
+
],
|
| 657 |
+
"text/plain": [
|
| 658 |
+
" age sex cp trestbps chol \\\n",
|
| 659 |
+
"count 1025.000000 1025.000000 1025.000000 1025.000000 1025.00000 \n",
|
| 660 |
+
"mean 54.434146 0.695610 0.942439 131.611707 246.00000 \n",
|
| 661 |
+
"std 9.072290 0.460373 1.029641 17.516718 51.59251 \n",
|
| 662 |
+
"min 29.000000 0.000000 0.000000 94.000000 126.00000 \n",
|
| 663 |
+
"25% 48.000000 0.000000 0.000000 120.000000 211.00000 \n",
|
| 664 |
+
"50% 56.000000 1.000000 1.000000 130.000000 240.00000 \n",
|
| 665 |
+
"75% 61.000000 1.000000 2.000000 140.000000 275.00000 \n",
|
| 666 |
+
"max 77.000000 1.000000 3.000000 200.000000 564.00000 \n",
|
| 667 |
+
"\n",
|
| 668 |
+
" fbs restecg thalach exang oldpeak \\\n",
|
| 669 |
+
"count 1025.000000 1025.000000 1025.000000 1025.000000 1025.000000 \n",
|
| 670 |
+
"mean 0.149268 0.529756 149.114146 0.336585 1.071512 \n",
|
| 671 |
+
"std 0.356527 0.527878 23.005724 0.472772 1.175053 \n",
|
| 672 |
+
"min 0.000000 0.000000 71.000000 0.000000 0.000000 \n",
|
| 673 |
+
"25% 0.000000 0.000000 132.000000 0.000000 0.000000 \n",
|
| 674 |
+
"50% 0.000000 1.000000 152.000000 0.000000 0.800000 \n",
|
| 675 |
+
"75% 0.000000 1.000000 166.000000 1.000000 1.800000 \n",
|
| 676 |
+
"max 1.000000 2.000000 202.000000 1.000000 6.200000 \n",
|
| 677 |
+
"\n",
|
| 678 |
+
" slope ca thal target \n",
|
| 679 |
+
"count 1025.000000 1025.000000 1025.000000 1025.000000 \n",
|
| 680 |
+
"mean 1.385366 0.754146 2.323902 0.513171 \n",
|
| 681 |
+
"std 0.617755 1.030798 0.620660 0.500070 \n",
|
| 682 |
+
"min 0.000000 0.000000 0.000000 0.000000 \n",
|
| 683 |
+
"25% 1.000000 0.000000 2.000000 0.000000 \n",
|
| 684 |
+
"50% 1.000000 0.000000 2.000000 1.000000 \n",
|
| 685 |
+
"75% 2.000000 1.000000 3.000000 1.000000 \n",
|
| 686 |
+
"max 2.000000 4.000000 3.000000 1.000000 "
|
| 687 |
+
]
|
| 688 |
+
},
|
| 689 |
+
"execution_count": 8,
|
| 690 |
+
"metadata": {},
|
| 691 |
+
"output_type": "execute_result"
|
| 692 |
+
}
|
| 693 |
+
],
|
| 694 |
+
"source": [
|
| 695 |
+
"heart_data.describe()"
|
| 696 |
+
]
|
| 697 |
+
},
|
| 698 |
+
{
|
| 699 |
+
"cell_type": "code",
|
| 700 |
+
"execution_count": 9,
|
| 701 |
+
"metadata": {
|
| 702 |
+
"colab": {
|
| 703 |
+
"base_uri": "https://localhost:8080/",
|
| 704 |
+
"height": 178
|
| 705 |
+
},
|
| 706 |
+
"id": "j8pTTnqz7ACP",
|
| 707 |
+
"outputId": "083a80e6-894d-4e46-c429-30de288ff1b5"
|
| 708 |
+
},
|
| 709 |
+
"outputs": [
|
| 710 |
+
{
|
| 711 |
+
"data": {
|
| 712 |
+
"text/plain": [
|
| 713 |
+
"target\n",
|
| 714 |
+
"1 526\n",
|
| 715 |
+
"0 499\n",
|
| 716 |
+
"Name: count, dtype: int64"
|
| 717 |
+
]
|
| 718 |
+
},
|
| 719 |
+
"execution_count": 9,
|
| 720 |
+
"metadata": {},
|
| 721 |
+
"output_type": "execute_result"
|
| 722 |
+
}
|
| 723 |
+
],
|
| 724 |
+
"source": [
|
| 725 |
+
"heart_data['target'].value_counts()"
|
| 726 |
+
]
|
| 727 |
+
},
|
| 728 |
+
{
|
| 729 |
+
"cell_type": "markdown",
|
| 730 |
+
"metadata": {
|
| 731 |
+
"id": "qjK7x8cr8JCP"
|
| 732 |
+
},
|
| 733 |
+
"source": [
|
| 734 |
+
"1 --> Defective Heart\n",
|
| 735 |
+
"0 --> Safe Heart"
|
| 736 |
+
]
|
| 737 |
+
},
|
| 738 |
+
{
|
| 739 |
+
"cell_type": "code",
|
| 740 |
+
"execution_count": 10,
|
| 741 |
+
"metadata": {
|
| 742 |
+
"id": "tJYZOKzr8VBM"
|
| 743 |
+
},
|
| 744 |
+
"outputs": [],
|
| 745 |
+
"source": [
|
| 746 |
+
"X = heart_data.drop(columns='target', axis=1)\n",
|
| 747 |
+
"Y = heart_data['target']"
|
| 748 |
+
]
|
| 749 |
+
},
|
| 750 |
+
{
|
| 751 |
+
"cell_type": "code",
|
| 752 |
+
"execution_count": 11,
|
| 753 |
+
"metadata": {
|
| 754 |
+
"colab": {
|
| 755 |
+
"base_uri": "https://localhost:8080/"
|
| 756 |
+
},
|
| 757 |
+
"id": "Y6ctMrFf8mQY",
|
| 758 |
+
"outputId": "694c5cb5-3316-4a8a-b334-2831f6366537"
|
| 759 |
+
},
|
| 760 |
+
"outputs": [
|
| 761 |
+
{
|
| 762 |
+
"name": "stdout",
|
| 763 |
+
"output_type": "stream",
|
| 764 |
+
"text": [
|
| 765 |
+
" age sex cp trestbps chol fbs restecg thalach exang oldpeak \\\n",
|
| 766 |
+
"0 52 1 0 125 212 0 1 168 0 1.0 \n",
|
| 767 |
+
"1 53 1 0 140 203 1 0 155 1 3.1 \n",
|
| 768 |
+
"2 70 1 0 145 174 0 1 125 1 2.6 \n",
|
| 769 |
+
"3 61 1 0 148 203 0 1 161 0 0.0 \n",
|
| 770 |
+
"4 62 0 0 138 294 1 1 106 0 1.9 \n",
|
| 771 |
+
"... ... ... .. ... ... ... ... ... ... ... \n",
|
| 772 |
+
"1020 59 1 1 140 221 0 1 164 1 0.0 \n",
|
| 773 |
+
"1021 60 1 0 125 258 0 0 141 1 2.8 \n",
|
| 774 |
+
"1022 47 1 0 110 275 0 0 118 1 1.0 \n",
|
| 775 |
+
"1023 50 0 0 110 254 0 0 159 0 0.0 \n",
|
| 776 |
+
"1024 54 1 0 120 188 0 1 113 0 1.4 \n",
|
| 777 |
+
"\n",
|
| 778 |
+
" slope ca thal \n",
|
| 779 |
+
"0 2 2 3 \n",
|
| 780 |
+
"1 0 0 3 \n",
|
| 781 |
+
"2 0 0 3 \n",
|
| 782 |
+
"3 2 1 3 \n",
|
| 783 |
+
"4 1 3 2 \n",
|
| 784 |
+
"... ... .. ... \n",
|
| 785 |
+
"1020 2 0 2 \n",
|
| 786 |
+
"1021 1 1 3 \n",
|
| 787 |
+
"1022 1 1 2 \n",
|
| 788 |
+
"1023 2 0 2 \n",
|
| 789 |
+
"1024 1 1 3 \n",
|
| 790 |
+
"\n",
|
| 791 |
+
"[1025 rows x 13 columns]\n"
|
| 792 |
+
]
|
| 793 |
+
}
|
| 794 |
+
],
|
| 795 |
+
"source": [
|
| 796 |
+
"print(X)"
|
| 797 |
+
]
|
| 798 |
+
},
|
| 799 |
+
{
|
| 800 |
+
"cell_type": "code",
|
| 801 |
+
"execution_count": 12,
|
| 802 |
+
"metadata": {
|
| 803 |
+
"colab": {
|
| 804 |
+
"base_uri": "https://localhost:8080/"
|
| 805 |
+
},
|
| 806 |
+
"id": "82dAzkCb8qOa",
|
| 807 |
+
"outputId": "48f04ed5-d96f-480e-b579-afc41b4b8a4e"
|
| 808 |
+
},
|
| 809 |
+
"outputs": [
|
| 810 |
+
{
|
| 811 |
+
"name": "stdout",
|
| 812 |
+
"output_type": "stream",
|
| 813 |
+
"text": [
|
| 814 |
+
"0 0\n",
|
| 815 |
+
"1 0\n",
|
| 816 |
+
"2 0\n",
|
| 817 |
+
"3 0\n",
|
| 818 |
+
"4 0\n",
|
| 819 |
+
" ..\n",
|
| 820 |
+
"1020 1\n",
|
| 821 |
+
"1021 0\n",
|
| 822 |
+
"1022 0\n",
|
| 823 |
+
"1023 1\n",
|
| 824 |
+
"1024 0\n",
|
| 825 |
+
"Name: target, Length: 1025, dtype: int64\n"
|
| 826 |
+
]
|
| 827 |
+
}
|
| 828 |
+
],
|
| 829 |
+
"source": [
|
| 830 |
+
"print(Y)"
|
| 831 |
+
]
|
| 832 |
+
},
|
| 833 |
+
{
|
| 834 |
+
"cell_type": "code",
|
| 835 |
+
"execution_count": 13,
|
| 836 |
+
"metadata": {
|
| 837 |
+
"id": "4pD6YJrq8uzz"
|
| 838 |
+
},
|
| 839 |
+
"outputs": [],
|
| 840 |
+
"source": [
|
| 841 |
+
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, stratify=Y, random_state=2)"
|
| 842 |
+
]
|
| 843 |
+
},
|
| 844 |
+
{
|
| 845 |
+
"cell_type": "code",
|
| 846 |
+
"execution_count": 14,
|
| 847 |
+
"metadata": {
|
| 848 |
+
"colab": {
|
| 849 |
+
"base_uri": "https://localhost:8080/"
|
| 850 |
+
},
|
| 851 |
+
"id": "fmfEkDJf-C0A",
|
| 852 |
+
"outputId": "177d52f0-2200-4789-9e1d-fdaf07c80d43"
|
| 853 |
+
},
|
| 854 |
+
"outputs": [
|
| 855 |
+
{
|
| 856 |
+
"name": "stdout",
|
| 857 |
+
"output_type": "stream",
|
| 858 |
+
"text": [
|
| 859 |
+
"(1025, 13) (820, 13) (205, 13)\n"
|
| 860 |
+
]
|
| 861 |
+
}
|
| 862 |
+
],
|
| 863 |
+
"source": [
|
| 864 |
+
"print(X.shape, X_train.shape, X_test.shape)"
|
| 865 |
+
]
|
| 866 |
+
},
|
| 867 |
+
{
|
| 868 |
+
"cell_type": "code",
|
| 869 |
+
"execution_count": 15,
|
| 870 |
+
"metadata": {
|
| 871 |
+
"id": "CcefyC_l-e_2"
|
| 872 |
+
},
|
| 873 |
+
"outputs": [],
|
| 874 |
+
"source": [
|
| 875 |
+
"model = LogisticRegression()"
|
| 876 |
+
]
|
| 877 |
+
},
|
| 878 |
+
{
|
| 879 |
+
"cell_type": "code",
|
| 880 |
+
"execution_count": 16,
|
| 881 |
+
"metadata": {
|
| 882 |
+
"colab": {
|
| 883 |
+
"base_uri": "https://localhost:8080/",
|
| 884 |
+
"height": 239
|
| 885 |
+
},
|
| 886 |
+
"id": "oR2hoKF-AeSi",
|
| 887 |
+
"outputId": "24038f03-865f-440f-84dc-91483bf6fea3"
|
| 888 |
+
},
|
| 889 |
+
"outputs": [
|
| 890 |
+
{
|
| 891 |
+
"name": "stderr",
|
| 892 |
+
"output_type": "stream",
|
| 893 |
+
"text": [
|
| 894 |
+
"c:\\Users\\HP\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:465: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
|
| 895 |
+
"STOP: TOTAL NO. OF ITERATIONS REACHED LIMIT.\n",
|
| 896 |
+
"\n",
|
| 897 |
+
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
|
| 898 |
+
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
|
| 899 |
+
"Please also refer to the documentation for alternative solver options:\n",
|
| 900 |
+
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
|
| 901 |
+
" n_iter_i = _check_optimize_result(\n"
|
| 902 |
+
]
|
| 903 |
+
},
|
| 904 |
+
{
|
| 905 |
+
"data": {
|
| 906 |
+
"text/html": [
|
| 907 |
+
"<style>#sk-container-id-1 {\n",
|
| 908 |
+
" /* Definition of color scheme common for light and dark mode */\n",
|
| 909 |
+
" --sklearn-color-text: #000;\n",
|
| 910 |
+
" --sklearn-color-text-muted: #666;\n",
|
| 911 |
+
" --sklearn-color-line: gray;\n",
|
| 912 |
+
" /* Definition of color scheme for unfitted estimators */\n",
|
| 913 |
+
" --sklearn-color-unfitted-level-0: #fff5e6;\n",
|
| 914 |
+
" --sklearn-color-unfitted-level-1: #f6e4d2;\n",
|
| 915 |
+
" --sklearn-color-unfitted-level-2: #ffe0b3;\n",
|
| 916 |
+
" --sklearn-color-unfitted-level-3: chocolate;\n",
|
| 917 |
+
" /* Definition of color scheme for fitted estimators */\n",
|
| 918 |
+
" --sklearn-color-fitted-level-0: #f0f8ff;\n",
|
| 919 |
+
" --sklearn-color-fitted-level-1: #d4ebff;\n",
|
| 920 |
+
" --sklearn-color-fitted-level-2: #b3dbfd;\n",
|
| 921 |
+
" --sklearn-color-fitted-level-3: cornflowerblue;\n",
|
| 922 |
+
"\n",
|
| 923 |
+
" /* Specific color for light theme */\n",
|
| 924 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 925 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
|
| 926 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 927 |
+
" --sklearn-color-icon: #696969;\n",
|
| 928 |
+
"\n",
|
| 929 |
+
" @media (prefers-color-scheme: dark) {\n",
|
| 930 |
+
" /* Redefinition of color scheme for dark theme */\n",
|
| 931 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 932 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
|
| 933 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 934 |
+
" --sklearn-color-icon: #878787;\n",
|
| 935 |
+
" }\n",
|
| 936 |
+
"}\n",
|
| 937 |
+
"\n",
|
| 938 |
+
"#sk-container-id-1 {\n",
|
| 939 |
+
" color: var(--sklearn-color-text);\n",
|
| 940 |
+
"}\n",
|
| 941 |
+
"\n",
|
| 942 |
+
"#sk-container-id-1 pre {\n",
|
| 943 |
+
" padding: 0;\n",
|
| 944 |
+
"}\n",
|
| 945 |
+
"\n",
|
| 946 |
+
"#sk-container-id-1 input.sk-hidden--visually {\n",
|
| 947 |
+
" border: 0;\n",
|
| 948 |
+
" clip: rect(1px 1px 1px 1px);\n",
|
| 949 |
+
" clip: rect(1px, 1px, 1px, 1px);\n",
|
| 950 |
+
" height: 1px;\n",
|
| 951 |
+
" margin: -1px;\n",
|
| 952 |
+
" overflow: hidden;\n",
|
| 953 |
+
" padding: 0;\n",
|
| 954 |
+
" position: absolute;\n",
|
| 955 |
+
" width: 1px;\n",
|
| 956 |
+
"}\n",
|
| 957 |
+
"\n",
|
| 958 |
+
"#sk-container-id-1 div.sk-dashed-wrapped {\n",
|
| 959 |
+
" border: 1px dashed var(--sklearn-color-line);\n",
|
| 960 |
+
" margin: 0 0.4em 0.5em 0.4em;\n",
|
| 961 |
+
" box-sizing: border-box;\n",
|
| 962 |
+
" padding-bottom: 0.4em;\n",
|
| 963 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 964 |
+
"}\n",
|
| 965 |
+
"\n",
|
| 966 |
+
"#sk-container-id-1 div.sk-container {\n",
|
| 967 |
+
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
|
| 968 |
+
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
|
| 969 |
+
" so we also need the `!important` here to be able to override the\n",
|
| 970 |
+
" default hidden behavior on the sphinx rendered scikit-learn.org.\n",
|
| 971 |
+
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
|
| 972 |
+
" display: inline-block !important;\n",
|
| 973 |
+
" position: relative;\n",
|
| 974 |
+
"}\n",
|
| 975 |
+
"\n",
|
| 976 |
+
"#sk-container-id-1 div.sk-text-repr-fallback {\n",
|
| 977 |
+
" display: none;\n",
|
| 978 |
+
"}\n",
|
| 979 |
+
"\n",
|
| 980 |
+
"div.sk-parallel-item,\n",
|
| 981 |
+
"div.sk-serial,\n",
|
| 982 |
+
"div.sk-item {\n",
|
| 983 |
+
" /* draw centered vertical line to link estimators */\n",
|
| 984 |
+
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
|
| 985 |
+
" background-size: 2px 100%;\n",
|
| 986 |
+
" background-repeat: no-repeat;\n",
|
| 987 |
+
" background-position: center center;\n",
|
| 988 |
+
"}\n",
|
| 989 |
+
"\n",
|
| 990 |
+
"/* Parallel-specific style estimator block */\n",
|
| 991 |
+
"\n",
|
| 992 |
+
"#sk-container-id-1 div.sk-parallel-item::after {\n",
|
| 993 |
+
" content: \"\";\n",
|
| 994 |
+
" width: 100%;\n",
|
| 995 |
+
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
|
| 996 |
+
" flex-grow: 1;\n",
|
| 997 |
+
"}\n",
|
| 998 |
+
"\n",
|
| 999 |
+
"#sk-container-id-1 div.sk-parallel {\n",
|
| 1000 |
+
" display: flex;\n",
|
| 1001 |
+
" align-items: stretch;\n",
|
| 1002 |
+
" justify-content: center;\n",
|
| 1003 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1004 |
+
" position: relative;\n",
|
| 1005 |
+
"}\n",
|
| 1006 |
+
"\n",
|
| 1007 |
+
"#sk-container-id-1 div.sk-parallel-item {\n",
|
| 1008 |
+
" display: flex;\n",
|
| 1009 |
+
" flex-direction: column;\n",
|
| 1010 |
+
"}\n",
|
| 1011 |
+
"\n",
|
| 1012 |
+
"#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
|
| 1013 |
+
" align-self: flex-end;\n",
|
| 1014 |
+
" width: 50%;\n",
|
| 1015 |
+
"}\n",
|
| 1016 |
+
"\n",
|
| 1017 |
+
"#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
|
| 1018 |
+
" align-self: flex-start;\n",
|
| 1019 |
+
" width: 50%;\n",
|
| 1020 |
+
"}\n",
|
| 1021 |
+
"\n",
|
| 1022 |
+
"#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
|
| 1023 |
+
" width: 0;\n",
|
| 1024 |
+
"}\n",
|
| 1025 |
+
"\n",
|
| 1026 |
+
"/* Serial-specific style estimator block */\n",
|
| 1027 |
+
"\n",
|
| 1028 |
+
"#sk-container-id-1 div.sk-serial {\n",
|
| 1029 |
+
" display: flex;\n",
|
| 1030 |
+
" flex-direction: column;\n",
|
| 1031 |
+
" align-items: center;\n",
|
| 1032 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1033 |
+
" padding-right: 1em;\n",
|
| 1034 |
+
" padding-left: 1em;\n",
|
| 1035 |
+
"}\n",
|
| 1036 |
+
"\n",
|
| 1037 |
+
"\n",
|
| 1038 |
+
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
|
| 1039 |
+
"clickable and can be expanded/collapsed.\n",
|
| 1040 |
+
"- Pipeline and ColumnTransformer use this feature and define the default style\n",
|
| 1041 |
+
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
|
| 1042 |
+
"*/\n",
|
| 1043 |
+
"\n",
|
| 1044 |
+
"/* Pipeline and ColumnTransformer style (default) */\n",
|
| 1045 |
+
"\n",
|
| 1046 |
+
"#sk-container-id-1 div.sk-toggleable {\n",
|
| 1047 |
+
" /* Default theme specific background. It is overwritten whether we have a\n",
|
| 1048 |
+
" specific estimator or a Pipeline/ColumnTransformer */\n",
|
| 1049 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1050 |
+
"}\n",
|
| 1051 |
+
"\n",
|
| 1052 |
+
"/* Toggleable label */\n",
|
| 1053 |
+
"#sk-container-id-1 label.sk-toggleable__label {\n",
|
| 1054 |
+
" cursor: pointer;\n",
|
| 1055 |
+
" display: flex;\n",
|
| 1056 |
+
" width: 100%;\n",
|
| 1057 |
+
" margin-bottom: 0;\n",
|
| 1058 |
+
" padding: 0.5em;\n",
|
| 1059 |
+
" box-sizing: border-box;\n",
|
| 1060 |
+
" text-align: center;\n",
|
| 1061 |
+
" align-items: start;\n",
|
| 1062 |
+
" justify-content: space-between;\n",
|
| 1063 |
+
" gap: 0.5em;\n",
|
| 1064 |
+
"}\n",
|
| 1065 |
+
"\n",
|
| 1066 |
+
"#sk-container-id-1 label.sk-toggleable__label .caption {\n",
|
| 1067 |
+
" font-size: 0.6rem;\n",
|
| 1068 |
+
" font-weight: lighter;\n",
|
| 1069 |
+
" color: var(--sklearn-color-text-muted);\n",
|
| 1070 |
+
"}\n",
|
| 1071 |
+
"\n",
|
| 1072 |
+
"#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
|
| 1073 |
+
" /* Arrow on the left of the label */\n",
|
| 1074 |
+
" content: \"▸\";\n",
|
| 1075 |
+
" float: left;\n",
|
| 1076 |
+
" margin-right: 0.25em;\n",
|
| 1077 |
+
" color: var(--sklearn-color-icon);\n",
|
| 1078 |
+
"}\n",
|
| 1079 |
+
"\n",
|
| 1080 |
+
"#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
|
| 1081 |
+
" color: var(--sklearn-color-text);\n",
|
| 1082 |
+
"}\n",
|
| 1083 |
+
"\n",
|
| 1084 |
+
"/* Toggleable content - dropdown */\n",
|
| 1085 |
+
"\n",
|
| 1086 |
+
"#sk-container-id-1 div.sk-toggleable__content {\n",
|
| 1087 |
+
" max-height: 0;\n",
|
| 1088 |
+
" max-width: 0;\n",
|
| 1089 |
+
" overflow: hidden;\n",
|
| 1090 |
+
" text-align: left;\n",
|
| 1091 |
+
" /* unfitted */\n",
|
| 1092 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1093 |
+
"}\n",
|
| 1094 |
+
"\n",
|
| 1095 |
+
"#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
|
| 1096 |
+
" /* fitted */\n",
|
| 1097 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1098 |
+
"}\n",
|
| 1099 |
+
"\n",
|
| 1100 |
+
"#sk-container-id-1 div.sk-toggleable__content pre {\n",
|
| 1101 |
+
" margin: 0.2em;\n",
|
| 1102 |
+
" border-radius: 0.25em;\n",
|
| 1103 |
+
" color: var(--sklearn-color-text);\n",
|
| 1104 |
+
" /* unfitted */\n",
|
| 1105 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1106 |
+
"}\n",
|
| 1107 |
+
"\n",
|
| 1108 |
+
"#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
|
| 1109 |
+
" /* unfitted */\n",
|
| 1110 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1111 |
+
"}\n",
|
| 1112 |
+
"\n",
|
| 1113 |
+
"#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
|
| 1114 |
+
" /* Expand drop-down */\n",
|
| 1115 |
+
" max-height: 200px;\n",
|
| 1116 |
+
" max-width: 100%;\n",
|
| 1117 |
+
" overflow: auto;\n",
|
| 1118 |
+
"}\n",
|
| 1119 |
+
"\n",
|
| 1120 |
+
"#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
|
| 1121 |
+
" content: \"▾\";\n",
|
| 1122 |
+
"}\n",
|
| 1123 |
+
"\n",
|
| 1124 |
+
"/* Pipeline/ColumnTransformer-specific style */\n",
|
| 1125 |
+
"\n",
|
| 1126 |
+
"#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1127 |
+
" color: var(--sklearn-color-text);\n",
|
| 1128 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1129 |
+
"}\n",
|
| 1130 |
+
"\n",
|
| 1131 |
+
"#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1132 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1133 |
+
"}\n",
|
| 1134 |
+
"\n",
|
| 1135 |
+
"/* Estimator-specific style */\n",
|
| 1136 |
+
"\n",
|
| 1137 |
+
"/* Colorize estimator box */\n",
|
| 1138 |
+
"#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1139 |
+
" /* unfitted */\n",
|
| 1140 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1141 |
+
"}\n",
|
| 1142 |
+
"\n",
|
| 1143 |
+
"#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1144 |
+
" /* fitted */\n",
|
| 1145 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1146 |
+
"}\n",
|
| 1147 |
+
"\n",
|
| 1148 |
+
"#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
|
| 1149 |
+
"#sk-container-id-1 div.sk-label label {\n",
|
| 1150 |
+
" /* The background is the default theme color */\n",
|
| 1151 |
+
" color: var(--sklearn-color-text-on-default-background);\n",
|
| 1152 |
+
"}\n",
|
| 1153 |
+
"\n",
|
| 1154 |
+
"/* On hover, darken the color of the background */\n",
|
| 1155 |
+
"#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
|
| 1156 |
+
" color: var(--sklearn-color-text);\n",
|
| 1157 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1158 |
+
"}\n",
|
| 1159 |
+
"\n",
|
| 1160 |
+
"/* Label box, darken color on hover, fitted */\n",
|
| 1161 |
+
"#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
|
| 1162 |
+
" color: var(--sklearn-color-text);\n",
|
| 1163 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1164 |
+
"}\n",
|
| 1165 |
+
"\n",
|
| 1166 |
+
"/* Estimator label */\n",
|
| 1167 |
+
"\n",
|
| 1168 |
+
"#sk-container-id-1 div.sk-label label {\n",
|
| 1169 |
+
" font-family: monospace;\n",
|
| 1170 |
+
" font-weight: bold;\n",
|
| 1171 |
+
" display: inline-block;\n",
|
| 1172 |
+
" line-height: 1.2em;\n",
|
| 1173 |
+
"}\n",
|
| 1174 |
+
"\n",
|
| 1175 |
+
"#sk-container-id-1 div.sk-label-container {\n",
|
| 1176 |
+
" text-align: center;\n",
|
| 1177 |
+
"}\n",
|
| 1178 |
+
"\n",
|
| 1179 |
+
"/* Estimator-specific */\n",
|
| 1180 |
+
"#sk-container-id-1 div.sk-estimator {\n",
|
| 1181 |
+
" font-family: monospace;\n",
|
| 1182 |
+
" border: 1px dotted var(--sklearn-color-border-box);\n",
|
| 1183 |
+
" border-radius: 0.25em;\n",
|
| 1184 |
+
" box-sizing: border-box;\n",
|
| 1185 |
+
" margin-bottom: 0.5em;\n",
|
| 1186 |
+
" /* unfitted */\n",
|
| 1187 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1188 |
+
"}\n",
|
| 1189 |
+
"\n",
|
| 1190 |
+
"#sk-container-id-1 div.sk-estimator.fitted {\n",
|
| 1191 |
+
" /* fitted */\n",
|
| 1192 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1193 |
+
"}\n",
|
| 1194 |
+
"\n",
|
| 1195 |
+
"/* on hover */\n",
|
| 1196 |
+
"#sk-container-id-1 div.sk-estimator:hover {\n",
|
| 1197 |
+
" /* unfitted */\n",
|
| 1198 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1199 |
+
"}\n",
|
| 1200 |
+
"\n",
|
| 1201 |
+
"#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
|
| 1202 |
+
" /* fitted */\n",
|
| 1203 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1204 |
+
"}\n",
|
| 1205 |
+
"\n",
|
| 1206 |
+
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
|
| 1207 |
+
"\n",
|
| 1208 |
+
"/* Common style for \"i\" and \"?\" */\n",
|
| 1209 |
+
"\n",
|
| 1210 |
+
".sk-estimator-doc-link,\n",
|
| 1211 |
+
"a:link.sk-estimator-doc-link,\n",
|
| 1212 |
+
"a:visited.sk-estimator-doc-link {\n",
|
| 1213 |
+
" float: right;\n",
|
| 1214 |
+
" font-size: smaller;\n",
|
| 1215 |
+
" line-height: 1em;\n",
|
| 1216 |
+
" font-family: monospace;\n",
|
| 1217 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1218 |
+
" border-radius: 1em;\n",
|
| 1219 |
+
" height: 1em;\n",
|
| 1220 |
+
" width: 1em;\n",
|
| 1221 |
+
" text-decoration: none !important;\n",
|
| 1222 |
+
" margin-left: 0.5em;\n",
|
| 1223 |
+
" text-align: center;\n",
|
| 1224 |
+
" /* unfitted */\n",
|
| 1225 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1226 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1227 |
+
"}\n",
|
| 1228 |
+
"\n",
|
| 1229 |
+
".sk-estimator-doc-link.fitted,\n",
|
| 1230 |
+
"a:link.sk-estimator-doc-link.fitted,\n",
|
| 1231 |
+
"a:visited.sk-estimator-doc-link.fitted {\n",
|
| 1232 |
+
" /* fitted */\n",
|
| 1233 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1234 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1235 |
+
"}\n",
|
| 1236 |
+
"\n",
|
| 1237 |
+
"/* On hover */\n",
|
| 1238 |
+
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
|
| 1239 |
+
".sk-estimator-doc-link:hover,\n",
|
| 1240 |
+
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
|
| 1241 |
+
".sk-estimator-doc-link:hover {\n",
|
| 1242 |
+
" /* unfitted */\n",
|
| 1243 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1244 |
+
" color: var(--sklearn-color-background);\n",
|
| 1245 |
+
" text-decoration: none;\n",
|
| 1246 |
+
"}\n",
|
| 1247 |
+
"\n",
|
| 1248 |
+
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1249 |
+
".sk-estimator-doc-link.fitted:hover,\n",
|
| 1250 |
+
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1251 |
+
".sk-estimator-doc-link.fitted:hover {\n",
|
| 1252 |
+
" /* fitted */\n",
|
| 1253 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1254 |
+
" color: var(--sklearn-color-background);\n",
|
| 1255 |
+
" text-decoration: none;\n",
|
| 1256 |
+
"}\n",
|
| 1257 |
+
"\n",
|
| 1258 |
+
"/* Span, style for the box shown on hovering the info icon */\n",
|
| 1259 |
+
".sk-estimator-doc-link span {\n",
|
| 1260 |
+
" display: none;\n",
|
| 1261 |
+
" z-index: 9999;\n",
|
| 1262 |
+
" position: relative;\n",
|
| 1263 |
+
" font-weight: normal;\n",
|
| 1264 |
+
" right: .2ex;\n",
|
| 1265 |
+
" padding: .5ex;\n",
|
| 1266 |
+
" margin: .5ex;\n",
|
| 1267 |
+
" width: min-content;\n",
|
| 1268 |
+
" min-width: 20ex;\n",
|
| 1269 |
+
" max-width: 50ex;\n",
|
| 1270 |
+
" color: var(--sklearn-color-text);\n",
|
| 1271 |
+
" box-shadow: 2pt 2pt 4pt #999;\n",
|
| 1272 |
+
" /* unfitted */\n",
|
| 1273 |
+
" background: var(--sklearn-color-unfitted-level-0);\n",
|
| 1274 |
+
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
|
| 1275 |
+
"}\n",
|
| 1276 |
+
"\n",
|
| 1277 |
+
".sk-estimator-doc-link.fitted span {\n",
|
| 1278 |
+
" /* fitted */\n",
|
| 1279 |
+
" background: var(--sklearn-color-fitted-level-0);\n",
|
| 1280 |
+
" border: var(--sklearn-color-fitted-level-3);\n",
|
| 1281 |
+
"}\n",
|
| 1282 |
+
"\n",
|
| 1283 |
+
".sk-estimator-doc-link:hover span {\n",
|
| 1284 |
+
" display: block;\n",
|
| 1285 |
+
"}\n",
|
| 1286 |
+
"\n",
|
| 1287 |
+
"/* \"?\"-specific style due to the `<a>` HTML tag */\n",
|
| 1288 |
+
"\n",
|
| 1289 |
+
"#sk-container-id-1 a.estimator_doc_link {\n",
|
| 1290 |
+
" float: right;\n",
|
| 1291 |
+
" font-size: 1rem;\n",
|
| 1292 |
+
" line-height: 1em;\n",
|
| 1293 |
+
" font-family: monospace;\n",
|
| 1294 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1295 |
+
" border-radius: 1rem;\n",
|
| 1296 |
+
" height: 1rem;\n",
|
| 1297 |
+
" width: 1rem;\n",
|
| 1298 |
+
" text-decoration: none;\n",
|
| 1299 |
+
" /* unfitted */\n",
|
| 1300 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1301 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1302 |
+
"}\n",
|
| 1303 |
+
"\n",
|
| 1304 |
+
"#sk-container-id-1 a.estimator_doc_link.fitted {\n",
|
| 1305 |
+
" /* fitted */\n",
|
| 1306 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1307 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1308 |
+
"}\n",
|
| 1309 |
+
"\n",
|
| 1310 |
+
"/* On hover */\n",
|
| 1311 |
+
"#sk-container-id-1 a.estimator_doc_link:hover {\n",
|
| 1312 |
+
" /* unfitted */\n",
|
| 1313 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1314 |
+
" color: var(--sklearn-color-background);\n",
|
| 1315 |
+
" text-decoration: none;\n",
|
| 1316 |
+
"}\n",
|
| 1317 |
+
"\n",
|
| 1318 |
+
"#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
|
| 1319 |
+
" /* fitted */\n",
|
| 1320 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1321 |
+
"}\n",
|
| 1322 |
+
"</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LogisticRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>LogisticRegression</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.linear_model.LogisticRegression.html\">?<span>Documentation for LogisticRegression</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>LogisticRegression()</pre></div> </div></div></div></div>"
|
| 1323 |
+
],
|
| 1324 |
+
"text/plain": [
|
| 1325 |
+
"LogisticRegression()"
|
| 1326 |
+
]
|
| 1327 |
+
},
|
| 1328 |
+
"execution_count": 16,
|
| 1329 |
+
"metadata": {},
|
| 1330 |
+
"output_type": "execute_result"
|
| 1331 |
+
}
|
| 1332 |
+
],
|
| 1333 |
+
"source": [
|
| 1334 |
+
"model.fit(X_train, Y_train)\n"
|
| 1335 |
+
]
|
| 1336 |
+
},
|
| 1337 |
+
{
|
| 1338 |
+
"cell_type": "code",
|
| 1339 |
+
"execution_count": 17,
|
| 1340 |
+
"metadata": {
|
| 1341 |
+
"id": "_GWqF6QWB2XW"
|
| 1342 |
+
},
|
| 1343 |
+
"outputs": [],
|
| 1344 |
+
"source": [
|
| 1345 |
+
"X_train_prediction = model.predict(X_train)\n",
|
| 1346 |
+
"training_data_accuracy = accuracy_score(X_train_prediction, Y_train)"
|
| 1347 |
+
]
|
| 1348 |
+
},
|
| 1349 |
+
{
|
| 1350 |
+
"cell_type": "code",
|
| 1351 |
+
"execution_count": 18,
|
| 1352 |
+
"metadata": {
|
| 1353 |
+
"colab": {
|
| 1354 |
+
"base_uri": "https://localhost:8080/"
|
| 1355 |
+
},
|
| 1356 |
+
"id": "Et6OwzBTCeM7",
|
| 1357 |
+
"outputId": "18cb8204-c2cc-4df1-859f-904f91e85ea2"
|
| 1358 |
+
},
|
| 1359 |
+
"outputs": [
|
| 1360 |
+
{
|
| 1361 |
+
"name": "stdout",
|
| 1362 |
+
"output_type": "stream",
|
| 1363 |
+
"text": [
|
| 1364 |
+
"Accuracy on training data: 0.8524390243902439\n"
|
| 1365 |
+
]
|
| 1366 |
+
}
|
| 1367 |
+
],
|
| 1368 |
+
"source": [
|
| 1369 |
+
"print(\"Accuracy on training data: \", training_data_accuracy)"
|
| 1370 |
+
]
|
| 1371 |
+
},
|
| 1372 |
+
{
|
| 1373 |
+
"cell_type": "code",
|
| 1374 |
+
"execution_count": 19,
|
| 1375 |
+
"metadata": {
|
| 1376 |
+
"id": "MAC5ynnbDBak"
|
| 1377 |
+
},
|
| 1378 |
+
"outputs": [],
|
| 1379 |
+
"source": [
|
| 1380 |
+
"X_train_prediction = model.predict(X_test)\n",
|
| 1381 |
+
"test_data_accuracy = accuracy_score(X_train_prediction, Y_test)"
|
| 1382 |
+
]
|
| 1383 |
+
},
|
| 1384 |
+
{
|
| 1385 |
+
"cell_type": "code",
|
| 1386 |
+
"execution_count": 20,
|
| 1387 |
+
"metadata": {
|
| 1388 |
+
"colab": {
|
| 1389 |
+
"base_uri": "https://localhost:8080/"
|
| 1390 |
+
},
|
| 1391 |
+
"id": "o7BWuD9ODMpJ",
|
| 1392 |
+
"outputId": "4001ab07-7548-4cc5-c2a6-e419f19d5df2"
|
| 1393 |
+
},
|
| 1394 |
+
"outputs": [
|
| 1395 |
+
{
|
| 1396 |
+
"name": "stdout",
|
| 1397 |
+
"output_type": "stream",
|
| 1398 |
+
"text": [
|
| 1399 |
+
"Accuracy on test data: 0.8048780487804879\n"
|
| 1400 |
+
]
|
| 1401 |
+
}
|
| 1402 |
+
],
|
| 1403 |
+
"source": [
|
| 1404 |
+
"print(\"Accuracy on test data: \", test_data_accuracy)"
|
| 1405 |
+
]
|
| 1406 |
+
},
|
| 1407 |
+
{
|
| 1408 |
+
"cell_type": "code",
|
| 1409 |
+
"execution_count": 21,
|
| 1410 |
+
"metadata": {
|
| 1411 |
+
"id": "b-p48_D5DV6n"
|
| 1412 |
+
},
|
| 1413 |
+
"outputs": [],
|
| 1414 |
+
"source": [
|
| 1415 |
+
"input_data = (62,0,0,138,294,1,1,106,0,1.9,1,3,2)\n",
|
| 1416 |
+
"input_data_as_numpy_array = np.asarray(input_data)"
|
| 1417 |
+
]
|
| 1418 |
+
},
|
| 1419 |
+
{
|
| 1420 |
+
"cell_type": "code",
|
| 1421 |
+
"execution_count": 22,
|
| 1422 |
+
"metadata": {
|
| 1423 |
+
"colab": {
|
| 1424 |
+
"base_uri": "https://localhost:8080/"
|
| 1425 |
+
},
|
| 1426 |
+
"id": "mYMk1P9WEKAx",
|
| 1427 |
+
"outputId": "116b57e8-d73a-4f02-e84a-b07618983485"
|
| 1428 |
+
},
|
| 1429 |
+
"outputs": [
|
| 1430 |
+
{
|
| 1431 |
+
"name": "stdout",
|
| 1432 |
+
"output_type": "stream",
|
| 1433 |
+
"text": [
|
| 1434 |
+
"The person does not have a heart disease\n"
|
| 1435 |
+
]
|
| 1436 |
+
},
|
| 1437 |
+
{
|
| 1438 |
+
"name": "stderr",
|
| 1439 |
+
"output_type": "stream",
|
| 1440 |
+
"text": [
|
| 1441 |
+
"c:\\Users\\HP\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\sklearn\\utils\\validation.py:2739: UserWarning: X does not have valid feature names, but LogisticRegression was fitted with feature names\n",
|
| 1442 |
+
" warnings.warn(\n"
|
| 1443 |
+
]
|
| 1444 |
+
}
|
| 1445 |
+
],
|
| 1446 |
+
"source": [
|
| 1447 |
+
"input_data_reshaped = input_data_as_numpy_array.reshape(1,-1)\n",
|
| 1448 |
+
"prediction = model.predict(input_data_reshaped)\n",
|
| 1449 |
+
"if (prediction == 0):\n",
|
| 1450 |
+
" print(\"The person does not have a heart disease\")\n",
|
| 1451 |
+
"else:\n",
|
| 1452 |
+
" print(\"The person has a heart disease\")"
|
| 1453 |
+
]
|
| 1454 |
+
},
|
| 1455 |
+
{
|
| 1456 |
+
"cell_type": "code",
|
| 1457 |
+
"execution_count": null,
|
| 1458 |
+
"metadata": {
|
| 1459 |
+
"id": "vzpdf3KcICCh"
|
| 1460 |
+
},
|
| 1461 |
+
"outputs": [],
|
| 1462 |
+
"source": []
|
| 1463 |
+
}
|
| 1464 |
+
],
|
| 1465 |
+
"metadata": {
|
| 1466 |
+
"colab": {
|
| 1467 |
+
"provenance": []
|
| 1468 |
+
},
|
| 1469 |
+
"kernelspec": {
|
| 1470 |
+
"display_name": "Python 3",
|
| 1471 |
+
"name": "python3"
|
| 1472 |
+
},
|
| 1473 |
+
"language_info": {
|
| 1474 |
+
"codemirror_mode": {
|
| 1475 |
+
"name": "ipython",
|
| 1476 |
+
"version": 3
|
| 1477 |
+
},
|
| 1478 |
+
"file_extension": ".py",
|
| 1479 |
+
"mimetype": "text/x-python",
|
| 1480 |
+
"name": "python",
|
| 1481 |
+
"nbconvert_exporter": "python",
|
| 1482 |
+
"pygments_lexer": "ipython3",
|
| 1483 |
+
"version": "3.11.4"
|
| 1484 |
+
}
|
| 1485 |
+
},
|
| 1486 |
+
"nbformat": 4,
|
| 1487 |
+
"nbformat_minor": 0
|
| 1488 |
+
}
|
Parkinsons.ipynb
ADDED
|
@@ -0,0 +1,2211 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 2,
|
| 6 |
+
"metadata": {
|
| 7 |
+
"id": "lQaEuGrwCAry"
|
| 8 |
+
},
|
| 9 |
+
"outputs": [],
|
| 10 |
+
"source": [
|
| 11 |
+
"import numpy as np\n",
|
| 12 |
+
"import pandas as pd\n",
|
| 13 |
+
"from sklearn.model_selection import train_test_split\n",
|
| 14 |
+
"from sklearn.preprocessing import StandardScaler\n",
|
| 15 |
+
"from sklearn import svm\n",
|
| 16 |
+
"from sklearn.metrics import accuracy_score"
|
| 17 |
+
]
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"cell_type": "code",
|
| 21 |
+
"execution_count": 3,
|
| 22 |
+
"metadata": {
|
| 23 |
+
"id": "aGa4jaARCdAf"
|
| 24 |
+
},
|
| 25 |
+
"outputs": [],
|
| 26 |
+
"source": [
|
| 27 |
+
"# loading the data from csv file to a Pandas DataFrame\n",
|
| 28 |
+
"parkinsons_data = pd.read_csv(r'C:\\\\Users\\\\HP\\\\OneDrive\\\\Desktop\\\\HackAI\\\\datasets\\\\parkinsons.csv')"
|
| 29 |
+
]
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"cell_type": "code",
|
| 33 |
+
"execution_count": 4,
|
| 34 |
+
"metadata": {
|
| 35 |
+
"colab": {
|
| 36 |
+
"base_uri": "https://localhost:8080/",
|
| 37 |
+
"height": 256
|
| 38 |
+
},
|
| 39 |
+
"id": "RmCtIWizClNn",
|
| 40 |
+
"outputId": "4f36ec16-677d-49e7-a43c-d912627f1169"
|
| 41 |
+
},
|
| 42 |
+
"outputs": [
|
| 43 |
+
{
|
| 44 |
+
"data": {
|
| 45 |
+
"text/html": [
|
| 46 |
+
"<div>\n",
|
| 47 |
+
"<style scoped>\n",
|
| 48 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 49 |
+
" vertical-align: middle;\n",
|
| 50 |
+
" }\n",
|
| 51 |
+
"\n",
|
| 52 |
+
" .dataframe tbody tr th {\n",
|
| 53 |
+
" vertical-align: top;\n",
|
| 54 |
+
" }\n",
|
| 55 |
+
"\n",
|
| 56 |
+
" .dataframe thead th {\n",
|
| 57 |
+
" text-align: right;\n",
|
| 58 |
+
" }\n",
|
| 59 |
+
"</style>\n",
|
| 60 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 61 |
+
" <thead>\n",
|
| 62 |
+
" <tr style=\"text-align: right;\">\n",
|
| 63 |
+
" <th></th>\n",
|
| 64 |
+
" <th>name</th>\n",
|
| 65 |
+
" <th>MDVP:Fo(Hz)</th>\n",
|
| 66 |
+
" <th>MDVP:Fhi(Hz)</th>\n",
|
| 67 |
+
" <th>MDVP:Flo(Hz)</th>\n",
|
| 68 |
+
" <th>MDVP:Jitter(%)</th>\n",
|
| 69 |
+
" <th>MDVP:Jitter(Abs)</th>\n",
|
| 70 |
+
" <th>MDVP:RAP</th>\n",
|
| 71 |
+
" <th>MDVP:PPQ</th>\n",
|
| 72 |
+
" <th>Jitter:DDP</th>\n",
|
| 73 |
+
" <th>MDVP:Shimmer</th>\n",
|
| 74 |
+
" <th>...</th>\n",
|
| 75 |
+
" <th>Shimmer:DDA</th>\n",
|
| 76 |
+
" <th>NHR</th>\n",
|
| 77 |
+
" <th>HNR</th>\n",
|
| 78 |
+
" <th>status</th>\n",
|
| 79 |
+
" <th>RPDE</th>\n",
|
| 80 |
+
" <th>DFA</th>\n",
|
| 81 |
+
" <th>spread1</th>\n",
|
| 82 |
+
" <th>spread2</th>\n",
|
| 83 |
+
" <th>D2</th>\n",
|
| 84 |
+
" <th>PPE</th>\n",
|
| 85 |
+
" </tr>\n",
|
| 86 |
+
" </thead>\n",
|
| 87 |
+
" <tbody>\n",
|
| 88 |
+
" <tr>\n",
|
| 89 |
+
" <th>0</th>\n",
|
| 90 |
+
" <td>phon_R01_S01_1</td>\n",
|
| 91 |
+
" <td>119.992</td>\n",
|
| 92 |
+
" <td>157.302</td>\n",
|
| 93 |
+
" <td>74.997</td>\n",
|
| 94 |
+
" <td>0.00784</td>\n",
|
| 95 |
+
" <td>0.00007</td>\n",
|
| 96 |
+
" <td>0.00370</td>\n",
|
| 97 |
+
" <td>0.00554</td>\n",
|
| 98 |
+
" <td>0.01109</td>\n",
|
| 99 |
+
" <td>0.04374</td>\n",
|
| 100 |
+
" <td>...</td>\n",
|
| 101 |
+
" <td>0.06545</td>\n",
|
| 102 |
+
" <td>0.02211</td>\n",
|
| 103 |
+
" <td>21.033</td>\n",
|
| 104 |
+
" <td>1</td>\n",
|
| 105 |
+
" <td>0.414783</td>\n",
|
| 106 |
+
" <td>0.815285</td>\n",
|
| 107 |
+
" <td>-4.813031</td>\n",
|
| 108 |
+
" <td>0.266482</td>\n",
|
| 109 |
+
" <td>2.301442</td>\n",
|
| 110 |
+
" <td>0.284654</td>\n",
|
| 111 |
+
" </tr>\n",
|
| 112 |
+
" <tr>\n",
|
| 113 |
+
" <th>1</th>\n",
|
| 114 |
+
" <td>phon_R01_S01_2</td>\n",
|
| 115 |
+
" <td>122.400</td>\n",
|
| 116 |
+
" <td>148.650</td>\n",
|
| 117 |
+
" <td>113.819</td>\n",
|
| 118 |
+
" <td>0.00968</td>\n",
|
| 119 |
+
" <td>0.00008</td>\n",
|
| 120 |
+
" <td>0.00465</td>\n",
|
| 121 |
+
" <td>0.00696</td>\n",
|
| 122 |
+
" <td>0.01394</td>\n",
|
| 123 |
+
" <td>0.06134</td>\n",
|
| 124 |
+
" <td>...</td>\n",
|
| 125 |
+
" <td>0.09403</td>\n",
|
| 126 |
+
" <td>0.01929</td>\n",
|
| 127 |
+
" <td>19.085</td>\n",
|
| 128 |
+
" <td>1</td>\n",
|
| 129 |
+
" <td>0.458359</td>\n",
|
| 130 |
+
" <td>0.819521</td>\n",
|
| 131 |
+
" <td>-4.075192</td>\n",
|
| 132 |
+
" <td>0.335590</td>\n",
|
| 133 |
+
" <td>2.486855</td>\n",
|
| 134 |
+
" <td>0.368674</td>\n",
|
| 135 |
+
" </tr>\n",
|
| 136 |
+
" <tr>\n",
|
| 137 |
+
" <th>2</th>\n",
|
| 138 |
+
" <td>phon_R01_S01_3</td>\n",
|
| 139 |
+
" <td>116.682</td>\n",
|
| 140 |
+
" <td>131.111</td>\n",
|
| 141 |
+
" <td>111.555</td>\n",
|
| 142 |
+
" <td>0.01050</td>\n",
|
| 143 |
+
" <td>0.00009</td>\n",
|
| 144 |
+
" <td>0.00544</td>\n",
|
| 145 |
+
" <td>0.00781</td>\n",
|
| 146 |
+
" <td>0.01633</td>\n",
|
| 147 |
+
" <td>0.05233</td>\n",
|
| 148 |
+
" <td>...</td>\n",
|
| 149 |
+
" <td>0.08270</td>\n",
|
| 150 |
+
" <td>0.01309</td>\n",
|
| 151 |
+
" <td>20.651</td>\n",
|
| 152 |
+
" <td>1</td>\n",
|
| 153 |
+
" <td>0.429895</td>\n",
|
| 154 |
+
" <td>0.825288</td>\n",
|
| 155 |
+
" <td>-4.443179</td>\n",
|
| 156 |
+
" <td>0.311173</td>\n",
|
| 157 |
+
" <td>2.342259</td>\n",
|
| 158 |
+
" <td>0.332634</td>\n",
|
| 159 |
+
" </tr>\n",
|
| 160 |
+
" <tr>\n",
|
| 161 |
+
" <th>3</th>\n",
|
| 162 |
+
" <td>phon_R01_S01_4</td>\n",
|
| 163 |
+
" <td>116.676</td>\n",
|
| 164 |
+
" <td>137.871</td>\n",
|
| 165 |
+
" <td>111.366</td>\n",
|
| 166 |
+
" <td>0.00997</td>\n",
|
| 167 |
+
" <td>0.00009</td>\n",
|
| 168 |
+
" <td>0.00502</td>\n",
|
| 169 |
+
" <td>0.00698</td>\n",
|
| 170 |
+
" <td>0.01505</td>\n",
|
| 171 |
+
" <td>0.05492</td>\n",
|
| 172 |
+
" <td>...</td>\n",
|
| 173 |
+
" <td>0.08771</td>\n",
|
| 174 |
+
" <td>0.01353</td>\n",
|
| 175 |
+
" <td>20.644</td>\n",
|
| 176 |
+
" <td>1</td>\n",
|
| 177 |
+
" <td>0.434969</td>\n",
|
| 178 |
+
" <td>0.819235</td>\n",
|
| 179 |
+
" <td>-4.117501</td>\n",
|
| 180 |
+
" <td>0.334147</td>\n",
|
| 181 |
+
" <td>2.405554</td>\n",
|
| 182 |
+
" <td>0.368975</td>\n",
|
| 183 |
+
" </tr>\n",
|
| 184 |
+
" <tr>\n",
|
| 185 |
+
" <th>4</th>\n",
|
| 186 |
+
" <td>phon_R01_S01_5</td>\n",
|
| 187 |
+
" <td>116.014</td>\n",
|
| 188 |
+
" <td>141.781</td>\n",
|
| 189 |
+
" <td>110.655</td>\n",
|
| 190 |
+
" <td>0.01284</td>\n",
|
| 191 |
+
" <td>0.00011</td>\n",
|
| 192 |
+
" <td>0.00655</td>\n",
|
| 193 |
+
" <td>0.00908</td>\n",
|
| 194 |
+
" <td>0.01966</td>\n",
|
| 195 |
+
" <td>0.06425</td>\n",
|
| 196 |
+
" <td>...</td>\n",
|
| 197 |
+
" <td>0.10470</td>\n",
|
| 198 |
+
" <td>0.01767</td>\n",
|
| 199 |
+
" <td>19.649</td>\n",
|
| 200 |
+
" <td>1</td>\n",
|
| 201 |
+
" <td>0.417356</td>\n",
|
| 202 |
+
" <td>0.823484</td>\n",
|
| 203 |
+
" <td>-3.747787</td>\n",
|
| 204 |
+
" <td>0.234513</td>\n",
|
| 205 |
+
" <td>2.332180</td>\n",
|
| 206 |
+
" <td>0.410335</td>\n",
|
| 207 |
+
" </tr>\n",
|
| 208 |
+
" </tbody>\n",
|
| 209 |
+
"</table>\n",
|
| 210 |
+
"<p>5 rows × 24 columns</p>\n",
|
| 211 |
+
"</div>"
|
| 212 |
+
],
|
| 213 |
+
"text/plain": [
|
| 214 |
+
" name MDVP:Fo(Hz) MDVP:Fhi(Hz) MDVP:Flo(Hz) MDVP:Jitter(%) \\\n",
|
| 215 |
+
"0 phon_R01_S01_1 119.992 157.302 74.997 0.00784 \n",
|
| 216 |
+
"1 phon_R01_S01_2 122.400 148.650 113.819 0.00968 \n",
|
| 217 |
+
"2 phon_R01_S01_3 116.682 131.111 111.555 0.01050 \n",
|
| 218 |
+
"3 phon_R01_S01_4 116.676 137.871 111.366 0.00997 \n",
|
| 219 |
+
"4 phon_R01_S01_5 116.014 141.781 110.655 0.01284 \n",
|
| 220 |
+
"\n",
|
| 221 |
+
" MDVP:Jitter(Abs) MDVP:RAP MDVP:PPQ Jitter:DDP MDVP:Shimmer ... \\\n",
|
| 222 |
+
"0 0.00007 0.00370 0.00554 0.01109 0.04374 ... \n",
|
| 223 |
+
"1 0.00008 0.00465 0.00696 0.01394 0.06134 ... \n",
|
| 224 |
+
"2 0.00009 0.00544 0.00781 0.01633 0.05233 ... \n",
|
| 225 |
+
"3 0.00009 0.00502 0.00698 0.01505 0.05492 ... \n",
|
| 226 |
+
"4 0.00011 0.00655 0.00908 0.01966 0.06425 ... \n",
|
| 227 |
+
"\n",
|
| 228 |
+
" Shimmer:DDA NHR HNR status RPDE DFA spread1 \\\n",
|
| 229 |
+
"0 0.06545 0.02211 21.033 1 0.414783 0.815285 -4.813031 \n",
|
| 230 |
+
"1 0.09403 0.01929 19.085 1 0.458359 0.819521 -4.075192 \n",
|
| 231 |
+
"2 0.08270 0.01309 20.651 1 0.429895 0.825288 -4.443179 \n",
|
| 232 |
+
"3 0.08771 0.01353 20.644 1 0.434969 0.819235 -4.117501 \n",
|
| 233 |
+
"4 0.10470 0.01767 19.649 1 0.417356 0.823484 -3.747787 \n",
|
| 234 |
+
"\n",
|
| 235 |
+
" spread2 D2 PPE \n",
|
| 236 |
+
"0 0.266482 2.301442 0.284654 \n",
|
| 237 |
+
"1 0.335590 2.486855 0.368674 \n",
|
| 238 |
+
"2 0.311173 2.342259 0.332634 \n",
|
| 239 |
+
"3 0.334147 2.405554 0.368975 \n",
|
| 240 |
+
"4 0.234513 2.332180 0.410335 \n",
|
| 241 |
+
"\n",
|
| 242 |
+
"[5 rows x 24 columns]"
|
| 243 |
+
]
|
| 244 |
+
},
|
| 245 |
+
"execution_count": 4,
|
| 246 |
+
"metadata": {},
|
| 247 |
+
"output_type": "execute_result"
|
| 248 |
+
}
|
| 249 |
+
],
|
| 250 |
+
"source": [
|
| 251 |
+
"# printing the first 5 rows of the dataframe\n",
|
| 252 |
+
"parkinsons_data.head()"
|
| 253 |
+
]
|
| 254 |
+
},
|
| 255 |
+
{
|
| 256 |
+
"cell_type": "code",
|
| 257 |
+
"execution_count": 5,
|
| 258 |
+
"metadata": {
|
| 259 |
+
"colab": {
|
| 260 |
+
"base_uri": "https://localhost:8080/"
|
| 261 |
+
},
|
| 262 |
+
"id": "GnKu67fWCq3J",
|
| 263 |
+
"outputId": "dcc6f3ce-e284-4540-a7c4-b3e27aa5d257"
|
| 264 |
+
},
|
| 265 |
+
"outputs": [
|
| 266 |
+
{
|
| 267 |
+
"data": {
|
| 268 |
+
"text/plain": [
|
| 269 |
+
"(195, 24)"
|
| 270 |
+
]
|
| 271 |
+
},
|
| 272 |
+
"execution_count": 5,
|
| 273 |
+
"metadata": {},
|
| 274 |
+
"output_type": "execute_result"
|
| 275 |
+
}
|
| 276 |
+
],
|
| 277 |
+
"source": [
|
| 278 |
+
"# number of rows and columns in the dataframe\n",
|
| 279 |
+
"parkinsons_data.shape"
|
| 280 |
+
]
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"cell_type": "code",
|
| 284 |
+
"execution_count": 6,
|
| 285 |
+
"metadata": {
|
| 286 |
+
"colab": {
|
| 287 |
+
"base_uri": "https://localhost:8080/"
|
| 288 |
+
},
|
| 289 |
+
"id": "X3-KgOsBC1xE",
|
| 290 |
+
"outputId": "78d49fc5-2380-4406-f70f-bf9342fe0529"
|
| 291 |
+
},
|
| 292 |
+
"outputs": [
|
| 293 |
+
{
|
| 294 |
+
"name": "stdout",
|
| 295 |
+
"output_type": "stream",
|
| 296 |
+
"text": [
|
| 297 |
+
"<class 'pandas.core.frame.DataFrame'>\n",
|
| 298 |
+
"RangeIndex: 195 entries, 0 to 194\n",
|
| 299 |
+
"Data columns (total 24 columns):\n",
|
| 300 |
+
" # Column Non-Null Count Dtype \n",
|
| 301 |
+
"--- ------ -------------- ----- \n",
|
| 302 |
+
" 0 name 195 non-null object \n",
|
| 303 |
+
" 1 MDVP:Fo(Hz) 195 non-null float64\n",
|
| 304 |
+
" 2 MDVP:Fhi(Hz) 195 non-null float64\n",
|
| 305 |
+
" 3 MDVP:Flo(Hz) 195 non-null float64\n",
|
| 306 |
+
" 4 MDVP:Jitter(%) 195 non-null float64\n",
|
| 307 |
+
" 5 MDVP:Jitter(Abs) 195 non-null float64\n",
|
| 308 |
+
" 6 MDVP:RAP 195 non-null float64\n",
|
| 309 |
+
" 7 MDVP:PPQ 195 non-null float64\n",
|
| 310 |
+
" 8 Jitter:DDP 195 non-null float64\n",
|
| 311 |
+
" 9 MDVP:Shimmer 195 non-null float64\n",
|
| 312 |
+
" 10 MDVP:Shimmer(dB) 195 non-null float64\n",
|
| 313 |
+
" 11 Shimmer:APQ3 195 non-null float64\n",
|
| 314 |
+
" 12 Shimmer:APQ5 195 non-null float64\n",
|
| 315 |
+
" 13 MDVP:APQ 195 non-null float64\n",
|
| 316 |
+
" 14 Shimmer:DDA 195 non-null float64\n",
|
| 317 |
+
" 15 NHR 195 non-null float64\n",
|
| 318 |
+
" 16 HNR 195 non-null float64\n",
|
| 319 |
+
" 17 status 195 non-null int64 \n",
|
| 320 |
+
" 18 RPDE 195 non-null float64\n",
|
| 321 |
+
" 19 DFA 195 non-null float64\n",
|
| 322 |
+
" 20 spread1 195 non-null float64\n",
|
| 323 |
+
" 21 spread2 195 non-null float64\n",
|
| 324 |
+
" 22 D2 195 non-null float64\n",
|
| 325 |
+
" 23 PPE 195 non-null float64\n",
|
| 326 |
+
"dtypes: float64(22), int64(1), object(1)\n",
|
| 327 |
+
"memory usage: 36.7+ KB\n"
|
| 328 |
+
]
|
| 329 |
+
}
|
| 330 |
+
],
|
| 331 |
+
"source": [
|
| 332 |
+
"# getting more information about the dataset\n",
|
| 333 |
+
"parkinsons_data.info()"
|
| 334 |
+
]
|
| 335 |
+
},
|
| 336 |
+
{
|
| 337 |
+
"cell_type": "code",
|
| 338 |
+
"execution_count": 7,
|
| 339 |
+
"metadata": {
|
| 340 |
+
"colab": {
|
| 341 |
+
"base_uri": "https://localhost:8080/",
|
| 342 |
+
"height": 837
|
| 343 |
+
},
|
| 344 |
+
"id": "ZCXIzqllC2uw",
|
| 345 |
+
"outputId": "3cc2fb10-275e-48a0-a16a-a85984432398"
|
| 346 |
+
},
|
| 347 |
+
"outputs": [
|
| 348 |
+
{
|
| 349 |
+
"data": {
|
| 350 |
+
"text/plain": [
|
| 351 |
+
"name 0\n",
|
| 352 |
+
"MDVP:Fo(Hz) 0\n",
|
| 353 |
+
"MDVP:Fhi(Hz) 0\n",
|
| 354 |
+
"MDVP:Flo(Hz) 0\n",
|
| 355 |
+
"MDVP:Jitter(%) 0\n",
|
| 356 |
+
"MDVP:Jitter(Abs) 0\n",
|
| 357 |
+
"MDVP:RAP 0\n",
|
| 358 |
+
"MDVP:PPQ 0\n",
|
| 359 |
+
"Jitter:DDP 0\n",
|
| 360 |
+
"MDVP:Shimmer 0\n",
|
| 361 |
+
"MDVP:Shimmer(dB) 0\n",
|
| 362 |
+
"Shimmer:APQ3 0\n",
|
| 363 |
+
"Shimmer:APQ5 0\n",
|
| 364 |
+
"MDVP:APQ 0\n",
|
| 365 |
+
"Shimmer:DDA 0\n",
|
| 366 |
+
"NHR 0\n",
|
| 367 |
+
"HNR 0\n",
|
| 368 |
+
"status 0\n",
|
| 369 |
+
"RPDE 0\n",
|
| 370 |
+
"DFA 0\n",
|
| 371 |
+
"spread1 0\n",
|
| 372 |
+
"spread2 0\n",
|
| 373 |
+
"D2 0\n",
|
| 374 |
+
"PPE 0\n",
|
| 375 |
+
"dtype: int64"
|
| 376 |
+
]
|
| 377 |
+
},
|
| 378 |
+
"execution_count": 7,
|
| 379 |
+
"metadata": {},
|
| 380 |
+
"output_type": "execute_result"
|
| 381 |
+
}
|
| 382 |
+
],
|
| 383 |
+
"source": [
|
| 384 |
+
"# checking for missing values in each column\n",
|
| 385 |
+
"parkinsons_data.isnull().sum()"
|
| 386 |
+
]
|
| 387 |
+
},
|
| 388 |
+
{
|
| 389 |
+
"cell_type": "code",
|
| 390 |
+
"execution_count": 8,
|
| 391 |
+
"metadata": {
|
| 392 |
+
"colab": {
|
| 393 |
+
"base_uri": "https://localhost:8080/",
|
| 394 |
+
"height": 350
|
| 395 |
+
},
|
| 396 |
+
"id": "r0t0Bp7gC42M",
|
| 397 |
+
"outputId": "fab2ba90-2bc9-46d0-aeea-e78be3a4c634"
|
| 398 |
+
},
|
| 399 |
+
"outputs": [
|
| 400 |
+
{
|
| 401 |
+
"data": {
|
| 402 |
+
"text/html": [
|
| 403 |
+
"<div>\n",
|
| 404 |
+
"<style scoped>\n",
|
| 405 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 406 |
+
" vertical-align: middle;\n",
|
| 407 |
+
" }\n",
|
| 408 |
+
"\n",
|
| 409 |
+
" .dataframe tbody tr th {\n",
|
| 410 |
+
" vertical-align: top;\n",
|
| 411 |
+
" }\n",
|
| 412 |
+
"\n",
|
| 413 |
+
" .dataframe thead th {\n",
|
| 414 |
+
" text-align: right;\n",
|
| 415 |
+
" }\n",
|
| 416 |
+
"</style>\n",
|
| 417 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 418 |
+
" <thead>\n",
|
| 419 |
+
" <tr style=\"text-align: right;\">\n",
|
| 420 |
+
" <th></th>\n",
|
| 421 |
+
" <th>MDVP:Fo(Hz)</th>\n",
|
| 422 |
+
" <th>MDVP:Fhi(Hz)</th>\n",
|
| 423 |
+
" <th>MDVP:Flo(Hz)</th>\n",
|
| 424 |
+
" <th>MDVP:Jitter(%)</th>\n",
|
| 425 |
+
" <th>MDVP:Jitter(Abs)</th>\n",
|
| 426 |
+
" <th>MDVP:RAP</th>\n",
|
| 427 |
+
" <th>MDVP:PPQ</th>\n",
|
| 428 |
+
" <th>Jitter:DDP</th>\n",
|
| 429 |
+
" <th>MDVP:Shimmer</th>\n",
|
| 430 |
+
" <th>MDVP:Shimmer(dB)</th>\n",
|
| 431 |
+
" <th>...</th>\n",
|
| 432 |
+
" <th>Shimmer:DDA</th>\n",
|
| 433 |
+
" <th>NHR</th>\n",
|
| 434 |
+
" <th>HNR</th>\n",
|
| 435 |
+
" <th>status</th>\n",
|
| 436 |
+
" <th>RPDE</th>\n",
|
| 437 |
+
" <th>DFA</th>\n",
|
| 438 |
+
" <th>spread1</th>\n",
|
| 439 |
+
" <th>spread2</th>\n",
|
| 440 |
+
" <th>D2</th>\n",
|
| 441 |
+
" <th>PPE</th>\n",
|
| 442 |
+
" </tr>\n",
|
| 443 |
+
" </thead>\n",
|
| 444 |
+
" <tbody>\n",
|
| 445 |
+
" <tr>\n",
|
| 446 |
+
" <th>count</th>\n",
|
| 447 |
+
" <td>195.000000</td>\n",
|
| 448 |
+
" <td>195.000000</td>\n",
|
| 449 |
+
" <td>195.000000</td>\n",
|
| 450 |
+
" <td>195.000000</td>\n",
|
| 451 |
+
" <td>195.000000</td>\n",
|
| 452 |
+
" <td>195.000000</td>\n",
|
| 453 |
+
" <td>195.000000</td>\n",
|
| 454 |
+
" <td>195.000000</td>\n",
|
| 455 |
+
" <td>195.000000</td>\n",
|
| 456 |
+
" <td>195.000000</td>\n",
|
| 457 |
+
" <td>...</td>\n",
|
| 458 |
+
" <td>195.000000</td>\n",
|
| 459 |
+
" <td>195.000000</td>\n",
|
| 460 |
+
" <td>195.000000</td>\n",
|
| 461 |
+
" <td>195.000000</td>\n",
|
| 462 |
+
" <td>195.000000</td>\n",
|
| 463 |
+
" <td>195.000000</td>\n",
|
| 464 |
+
" <td>195.000000</td>\n",
|
| 465 |
+
" <td>195.000000</td>\n",
|
| 466 |
+
" <td>195.000000</td>\n",
|
| 467 |
+
" <td>195.000000</td>\n",
|
| 468 |
+
" </tr>\n",
|
| 469 |
+
" <tr>\n",
|
| 470 |
+
" <th>mean</th>\n",
|
| 471 |
+
" <td>154.228641</td>\n",
|
| 472 |
+
" <td>197.104918</td>\n",
|
| 473 |
+
" <td>116.324631</td>\n",
|
| 474 |
+
" <td>0.006220</td>\n",
|
| 475 |
+
" <td>0.000044</td>\n",
|
| 476 |
+
" <td>0.003306</td>\n",
|
| 477 |
+
" <td>0.003446</td>\n",
|
| 478 |
+
" <td>0.009920</td>\n",
|
| 479 |
+
" <td>0.029709</td>\n",
|
| 480 |
+
" <td>0.282251</td>\n",
|
| 481 |
+
" <td>...</td>\n",
|
| 482 |
+
" <td>0.046993</td>\n",
|
| 483 |
+
" <td>0.024847</td>\n",
|
| 484 |
+
" <td>21.885974</td>\n",
|
| 485 |
+
" <td>0.753846</td>\n",
|
| 486 |
+
" <td>0.498536</td>\n",
|
| 487 |
+
" <td>0.718099</td>\n",
|
| 488 |
+
" <td>-5.684397</td>\n",
|
| 489 |
+
" <td>0.226510</td>\n",
|
| 490 |
+
" <td>2.381826</td>\n",
|
| 491 |
+
" <td>0.206552</td>\n",
|
| 492 |
+
" </tr>\n",
|
| 493 |
+
" <tr>\n",
|
| 494 |
+
" <th>std</th>\n",
|
| 495 |
+
" <td>41.390065</td>\n",
|
| 496 |
+
" <td>91.491548</td>\n",
|
| 497 |
+
" <td>43.521413</td>\n",
|
| 498 |
+
" <td>0.004848</td>\n",
|
| 499 |
+
" <td>0.000035</td>\n",
|
| 500 |
+
" <td>0.002968</td>\n",
|
| 501 |
+
" <td>0.002759</td>\n",
|
| 502 |
+
" <td>0.008903</td>\n",
|
| 503 |
+
" <td>0.018857</td>\n",
|
| 504 |
+
" <td>0.194877</td>\n",
|
| 505 |
+
" <td>...</td>\n",
|
| 506 |
+
" <td>0.030459</td>\n",
|
| 507 |
+
" <td>0.040418</td>\n",
|
| 508 |
+
" <td>4.425764</td>\n",
|
| 509 |
+
" <td>0.431878</td>\n",
|
| 510 |
+
" <td>0.103942</td>\n",
|
| 511 |
+
" <td>0.055336</td>\n",
|
| 512 |
+
" <td>1.090208</td>\n",
|
| 513 |
+
" <td>0.083406</td>\n",
|
| 514 |
+
" <td>0.382799</td>\n",
|
| 515 |
+
" <td>0.090119</td>\n",
|
| 516 |
+
" </tr>\n",
|
| 517 |
+
" <tr>\n",
|
| 518 |
+
" <th>min</th>\n",
|
| 519 |
+
" <td>88.333000</td>\n",
|
| 520 |
+
" <td>102.145000</td>\n",
|
| 521 |
+
" <td>65.476000</td>\n",
|
| 522 |
+
" <td>0.001680</td>\n",
|
| 523 |
+
" <td>0.000007</td>\n",
|
| 524 |
+
" <td>0.000680</td>\n",
|
| 525 |
+
" <td>0.000920</td>\n",
|
| 526 |
+
" <td>0.002040</td>\n",
|
| 527 |
+
" <td>0.009540</td>\n",
|
| 528 |
+
" <td>0.085000</td>\n",
|
| 529 |
+
" <td>...</td>\n",
|
| 530 |
+
" <td>0.013640</td>\n",
|
| 531 |
+
" <td>0.000650</td>\n",
|
| 532 |
+
" <td>8.441000</td>\n",
|
| 533 |
+
" <td>0.000000</td>\n",
|
| 534 |
+
" <td>0.256570</td>\n",
|
| 535 |
+
" <td>0.574282</td>\n",
|
| 536 |
+
" <td>-7.964984</td>\n",
|
| 537 |
+
" <td>0.006274</td>\n",
|
| 538 |
+
" <td>1.423287</td>\n",
|
| 539 |
+
" <td>0.044539</td>\n",
|
| 540 |
+
" </tr>\n",
|
| 541 |
+
" <tr>\n",
|
| 542 |
+
" <th>25%</th>\n",
|
| 543 |
+
" <td>117.572000</td>\n",
|
| 544 |
+
" <td>134.862500</td>\n",
|
| 545 |
+
" <td>84.291000</td>\n",
|
| 546 |
+
" <td>0.003460</td>\n",
|
| 547 |
+
" <td>0.000020</td>\n",
|
| 548 |
+
" <td>0.001660</td>\n",
|
| 549 |
+
" <td>0.001860</td>\n",
|
| 550 |
+
" <td>0.004985</td>\n",
|
| 551 |
+
" <td>0.016505</td>\n",
|
| 552 |
+
" <td>0.148500</td>\n",
|
| 553 |
+
" <td>...</td>\n",
|
| 554 |
+
" <td>0.024735</td>\n",
|
| 555 |
+
" <td>0.005925</td>\n",
|
| 556 |
+
" <td>19.198000</td>\n",
|
| 557 |
+
" <td>1.000000</td>\n",
|
| 558 |
+
" <td>0.421306</td>\n",
|
| 559 |
+
" <td>0.674758</td>\n",
|
| 560 |
+
" <td>-6.450096</td>\n",
|
| 561 |
+
" <td>0.174351</td>\n",
|
| 562 |
+
" <td>2.099125</td>\n",
|
| 563 |
+
" <td>0.137451</td>\n",
|
| 564 |
+
" </tr>\n",
|
| 565 |
+
" <tr>\n",
|
| 566 |
+
" <th>50%</th>\n",
|
| 567 |
+
" <td>148.790000</td>\n",
|
| 568 |
+
" <td>175.829000</td>\n",
|
| 569 |
+
" <td>104.315000</td>\n",
|
| 570 |
+
" <td>0.004940</td>\n",
|
| 571 |
+
" <td>0.000030</td>\n",
|
| 572 |
+
" <td>0.002500</td>\n",
|
| 573 |
+
" <td>0.002690</td>\n",
|
| 574 |
+
" <td>0.007490</td>\n",
|
| 575 |
+
" <td>0.022970</td>\n",
|
| 576 |
+
" <td>0.221000</td>\n",
|
| 577 |
+
" <td>...</td>\n",
|
| 578 |
+
" <td>0.038360</td>\n",
|
| 579 |
+
" <td>0.011660</td>\n",
|
| 580 |
+
" <td>22.085000</td>\n",
|
| 581 |
+
" <td>1.000000</td>\n",
|
| 582 |
+
" <td>0.495954</td>\n",
|
| 583 |
+
" <td>0.722254</td>\n",
|
| 584 |
+
" <td>-5.720868</td>\n",
|
| 585 |
+
" <td>0.218885</td>\n",
|
| 586 |
+
" <td>2.361532</td>\n",
|
| 587 |
+
" <td>0.194052</td>\n",
|
| 588 |
+
" </tr>\n",
|
| 589 |
+
" <tr>\n",
|
| 590 |
+
" <th>75%</th>\n",
|
| 591 |
+
" <td>182.769000</td>\n",
|
| 592 |
+
" <td>224.205500</td>\n",
|
| 593 |
+
" <td>140.018500</td>\n",
|
| 594 |
+
" <td>0.007365</td>\n",
|
| 595 |
+
" <td>0.000060</td>\n",
|
| 596 |
+
" <td>0.003835</td>\n",
|
| 597 |
+
" <td>0.003955</td>\n",
|
| 598 |
+
" <td>0.011505</td>\n",
|
| 599 |
+
" <td>0.037885</td>\n",
|
| 600 |
+
" <td>0.350000</td>\n",
|
| 601 |
+
" <td>...</td>\n",
|
| 602 |
+
" <td>0.060795</td>\n",
|
| 603 |
+
" <td>0.025640</td>\n",
|
| 604 |
+
" <td>25.075500</td>\n",
|
| 605 |
+
" <td>1.000000</td>\n",
|
| 606 |
+
" <td>0.587562</td>\n",
|
| 607 |
+
" <td>0.761881</td>\n",
|
| 608 |
+
" <td>-5.046192</td>\n",
|
| 609 |
+
" <td>0.279234</td>\n",
|
| 610 |
+
" <td>2.636456</td>\n",
|
| 611 |
+
" <td>0.252980</td>\n",
|
| 612 |
+
" </tr>\n",
|
| 613 |
+
" <tr>\n",
|
| 614 |
+
" <th>max</th>\n",
|
| 615 |
+
" <td>260.105000</td>\n",
|
| 616 |
+
" <td>592.030000</td>\n",
|
| 617 |
+
" <td>239.170000</td>\n",
|
| 618 |
+
" <td>0.033160</td>\n",
|
| 619 |
+
" <td>0.000260</td>\n",
|
| 620 |
+
" <td>0.021440</td>\n",
|
| 621 |
+
" <td>0.019580</td>\n",
|
| 622 |
+
" <td>0.064330</td>\n",
|
| 623 |
+
" <td>0.119080</td>\n",
|
| 624 |
+
" <td>1.302000</td>\n",
|
| 625 |
+
" <td>...</td>\n",
|
| 626 |
+
" <td>0.169420</td>\n",
|
| 627 |
+
" <td>0.314820</td>\n",
|
| 628 |
+
" <td>33.047000</td>\n",
|
| 629 |
+
" <td>1.000000</td>\n",
|
| 630 |
+
" <td>0.685151</td>\n",
|
| 631 |
+
" <td>0.825288</td>\n",
|
| 632 |
+
" <td>-2.434031</td>\n",
|
| 633 |
+
" <td>0.450493</td>\n",
|
| 634 |
+
" <td>3.671155</td>\n",
|
| 635 |
+
" <td>0.527367</td>\n",
|
| 636 |
+
" </tr>\n",
|
| 637 |
+
" </tbody>\n",
|
| 638 |
+
"</table>\n",
|
| 639 |
+
"<p>8 rows × 23 columns</p>\n",
|
| 640 |
+
"</div>"
|
| 641 |
+
],
|
| 642 |
+
"text/plain": [
|
| 643 |
+
" MDVP:Fo(Hz) MDVP:Fhi(Hz) MDVP:Flo(Hz) MDVP:Jitter(%) \\\n",
|
| 644 |
+
"count 195.000000 195.000000 195.000000 195.000000 \n",
|
| 645 |
+
"mean 154.228641 197.104918 116.324631 0.006220 \n",
|
| 646 |
+
"std 41.390065 91.491548 43.521413 0.004848 \n",
|
| 647 |
+
"min 88.333000 102.145000 65.476000 0.001680 \n",
|
| 648 |
+
"25% 117.572000 134.862500 84.291000 0.003460 \n",
|
| 649 |
+
"50% 148.790000 175.829000 104.315000 0.004940 \n",
|
| 650 |
+
"75% 182.769000 224.205500 140.018500 0.007365 \n",
|
| 651 |
+
"max 260.105000 592.030000 239.170000 0.033160 \n",
|
| 652 |
+
"\n",
|
| 653 |
+
" MDVP:Jitter(Abs) MDVP:RAP MDVP:PPQ Jitter:DDP MDVP:Shimmer \\\n",
|
| 654 |
+
"count 195.000000 195.000000 195.000000 195.000000 195.000000 \n",
|
| 655 |
+
"mean 0.000044 0.003306 0.003446 0.009920 0.029709 \n",
|
| 656 |
+
"std 0.000035 0.002968 0.002759 0.008903 0.018857 \n",
|
| 657 |
+
"min 0.000007 0.000680 0.000920 0.002040 0.009540 \n",
|
| 658 |
+
"25% 0.000020 0.001660 0.001860 0.004985 0.016505 \n",
|
| 659 |
+
"50% 0.000030 0.002500 0.002690 0.007490 0.022970 \n",
|
| 660 |
+
"75% 0.000060 0.003835 0.003955 0.011505 0.037885 \n",
|
| 661 |
+
"max 0.000260 0.021440 0.019580 0.064330 0.119080 \n",
|
| 662 |
+
"\n",
|
| 663 |
+
" MDVP:Shimmer(dB) ... Shimmer:DDA NHR HNR status \\\n",
|
| 664 |
+
"count 195.000000 ... 195.000000 195.000000 195.000000 195.000000 \n",
|
| 665 |
+
"mean 0.282251 ... 0.046993 0.024847 21.885974 0.753846 \n",
|
| 666 |
+
"std 0.194877 ... 0.030459 0.040418 4.425764 0.431878 \n",
|
| 667 |
+
"min 0.085000 ... 0.013640 0.000650 8.441000 0.000000 \n",
|
| 668 |
+
"25% 0.148500 ... 0.024735 0.005925 19.198000 1.000000 \n",
|
| 669 |
+
"50% 0.221000 ... 0.038360 0.011660 22.085000 1.000000 \n",
|
| 670 |
+
"75% 0.350000 ... 0.060795 0.025640 25.075500 1.000000 \n",
|
| 671 |
+
"max 1.302000 ... 0.169420 0.314820 33.047000 1.000000 \n",
|
| 672 |
+
"\n",
|
| 673 |
+
" RPDE DFA spread1 spread2 D2 PPE \n",
|
| 674 |
+
"count 195.000000 195.000000 195.000000 195.000000 195.000000 195.000000 \n",
|
| 675 |
+
"mean 0.498536 0.718099 -5.684397 0.226510 2.381826 0.206552 \n",
|
| 676 |
+
"std 0.103942 0.055336 1.090208 0.083406 0.382799 0.090119 \n",
|
| 677 |
+
"min 0.256570 0.574282 -7.964984 0.006274 1.423287 0.044539 \n",
|
| 678 |
+
"25% 0.421306 0.674758 -6.450096 0.174351 2.099125 0.137451 \n",
|
| 679 |
+
"50% 0.495954 0.722254 -5.720868 0.218885 2.361532 0.194052 \n",
|
| 680 |
+
"75% 0.587562 0.761881 -5.046192 0.279234 2.636456 0.252980 \n",
|
| 681 |
+
"max 0.685151 0.825288 -2.434031 0.450493 3.671155 0.527367 \n",
|
| 682 |
+
"\n",
|
| 683 |
+
"[8 rows x 23 columns]"
|
| 684 |
+
]
|
| 685 |
+
},
|
| 686 |
+
"execution_count": 8,
|
| 687 |
+
"metadata": {},
|
| 688 |
+
"output_type": "execute_result"
|
| 689 |
+
}
|
| 690 |
+
],
|
| 691 |
+
"source": [
|
| 692 |
+
"# getting some statistical measures about the data\n",
|
| 693 |
+
"parkinsons_data.describe()"
|
| 694 |
+
]
|
| 695 |
+
},
|
| 696 |
+
{
|
| 697 |
+
"cell_type": "code",
|
| 698 |
+
"execution_count": 9,
|
| 699 |
+
"metadata": {
|
| 700 |
+
"colab": {
|
| 701 |
+
"base_uri": "https://localhost:8080/",
|
| 702 |
+
"height": 178
|
| 703 |
+
},
|
| 704 |
+
"id": "Dam2xdMGC7AK",
|
| 705 |
+
"outputId": "30c5eb58-f439-497b-dd9d-a22b0efc1466"
|
| 706 |
+
},
|
| 707 |
+
"outputs": [
|
| 708 |
+
{
|
| 709 |
+
"data": {
|
| 710 |
+
"text/plain": [
|
| 711 |
+
"status\n",
|
| 712 |
+
"1 147\n",
|
| 713 |
+
"0 48\n",
|
| 714 |
+
"Name: count, dtype: int64"
|
| 715 |
+
]
|
| 716 |
+
},
|
| 717 |
+
"execution_count": 9,
|
| 718 |
+
"metadata": {},
|
| 719 |
+
"output_type": "execute_result"
|
| 720 |
+
}
|
| 721 |
+
],
|
| 722 |
+
"source": [
|
| 723 |
+
"# distribution of target Variable\n",
|
| 724 |
+
"parkinsons_data['status'].value_counts()"
|
| 725 |
+
]
|
| 726 |
+
},
|
| 727 |
+
{
|
| 728 |
+
"cell_type": "code",
|
| 729 |
+
"execution_count": 10,
|
| 730 |
+
"metadata": {
|
| 731 |
+
"colab": {
|
| 732 |
+
"base_uri": "https://localhost:8080/"
|
| 733 |
+
},
|
| 734 |
+
"id": "-7QCu-hgGqxF",
|
| 735 |
+
"outputId": "c57b1e19-96cb-4223-add3-4252cdcbee96"
|
| 736 |
+
},
|
| 737 |
+
"outputs": [
|
| 738 |
+
{
|
| 739 |
+
"name": "stdout",
|
| 740 |
+
"output_type": "stream",
|
| 741 |
+
"text": [
|
| 742 |
+
"<class 'pandas.core.frame.DataFrame'>\n",
|
| 743 |
+
"RangeIndex: 195 entries, 0 to 194\n",
|
| 744 |
+
"Data columns (total 24 columns):\n",
|
| 745 |
+
" # Column Non-Null Count Dtype \n",
|
| 746 |
+
"--- ------ -------------- ----- \n",
|
| 747 |
+
" 0 name 195 non-null object \n",
|
| 748 |
+
" 1 MDVP:Fo(Hz) 195 non-null float64\n",
|
| 749 |
+
" 2 MDVP:Fhi(Hz) 195 non-null float64\n",
|
| 750 |
+
" 3 MDVP:Flo(Hz) 195 non-null float64\n",
|
| 751 |
+
" 4 MDVP:Jitter(%) 195 non-null float64\n",
|
| 752 |
+
" 5 MDVP:Jitter(Abs) 195 non-null float64\n",
|
| 753 |
+
" 6 MDVP:RAP 195 non-null float64\n",
|
| 754 |
+
" 7 MDVP:PPQ 195 non-null float64\n",
|
| 755 |
+
" 8 Jitter:DDP 195 non-null float64\n",
|
| 756 |
+
" 9 MDVP:Shimmer 195 non-null float64\n",
|
| 757 |
+
" 10 MDVP:Shimmer(dB) 195 non-null float64\n",
|
| 758 |
+
" 11 Shimmer:APQ3 195 non-null float64\n",
|
| 759 |
+
" 12 Shimmer:APQ5 195 non-null float64\n",
|
| 760 |
+
" 13 MDVP:APQ 195 non-null float64\n",
|
| 761 |
+
" 14 Shimmer:DDA 195 non-null float64\n",
|
| 762 |
+
" 15 NHR 195 non-null float64\n",
|
| 763 |
+
" 16 HNR 195 non-null float64\n",
|
| 764 |
+
" 17 status 195 non-null int64 \n",
|
| 765 |
+
" 18 RPDE 195 non-null float64\n",
|
| 766 |
+
" 19 DFA 195 non-null float64\n",
|
| 767 |
+
" 20 spread1 195 non-null float64\n",
|
| 768 |
+
" 21 spread2 195 non-null float64\n",
|
| 769 |
+
" 22 D2 195 non-null float64\n",
|
| 770 |
+
" 23 PPE 195 non-null float64\n",
|
| 771 |
+
"dtypes: float64(22), int64(1), object(1)\n",
|
| 772 |
+
"memory usage: 36.7+ KB\n"
|
| 773 |
+
]
|
| 774 |
+
}
|
| 775 |
+
],
|
| 776 |
+
"source": [
|
| 777 |
+
"parkinsons_data.info()"
|
| 778 |
+
]
|
| 779 |
+
},
|
| 780 |
+
{
|
| 781 |
+
"cell_type": "code",
|
| 782 |
+
"execution_count": 11,
|
| 783 |
+
"metadata": {
|
| 784 |
+
"colab": {
|
| 785 |
+
"base_uri": "https://localhost:8080/",
|
| 786 |
+
"height": 193
|
| 787 |
+
},
|
| 788 |
+
"id": "SwCFPVO7C9T1",
|
| 789 |
+
"outputId": "679f41de-9b7d-4c39-85f2-1aecb3e6f613"
|
| 790 |
+
},
|
| 791 |
+
"outputs": [
|
| 792 |
+
{
|
| 793 |
+
"data": {
|
| 794 |
+
"text/html": [
|
| 795 |
+
"<div>\n",
|
| 796 |
+
"<style scoped>\n",
|
| 797 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
| 798 |
+
" vertical-align: middle;\n",
|
| 799 |
+
" }\n",
|
| 800 |
+
"\n",
|
| 801 |
+
" .dataframe tbody tr th {\n",
|
| 802 |
+
" vertical-align: top;\n",
|
| 803 |
+
" }\n",
|
| 804 |
+
"\n",
|
| 805 |
+
" .dataframe thead th {\n",
|
| 806 |
+
" text-align: right;\n",
|
| 807 |
+
" }\n",
|
| 808 |
+
"</style>\n",
|
| 809 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
| 810 |
+
" <thead>\n",
|
| 811 |
+
" <tr style=\"text-align: right;\">\n",
|
| 812 |
+
" <th></th>\n",
|
| 813 |
+
" <th>MDVP:Fo(Hz)</th>\n",
|
| 814 |
+
" <th>MDVP:Fhi(Hz)</th>\n",
|
| 815 |
+
" <th>MDVP:Flo(Hz)</th>\n",
|
| 816 |
+
" <th>MDVP:Jitter(%)</th>\n",
|
| 817 |
+
" <th>MDVP:Jitter(Abs)</th>\n",
|
| 818 |
+
" <th>MDVP:RAP</th>\n",
|
| 819 |
+
" <th>MDVP:PPQ</th>\n",
|
| 820 |
+
" <th>Jitter:DDP</th>\n",
|
| 821 |
+
" <th>MDVP:Shimmer</th>\n",
|
| 822 |
+
" <th>MDVP:Shimmer(dB)</th>\n",
|
| 823 |
+
" <th>...</th>\n",
|
| 824 |
+
" <th>MDVP:APQ</th>\n",
|
| 825 |
+
" <th>Shimmer:DDA</th>\n",
|
| 826 |
+
" <th>NHR</th>\n",
|
| 827 |
+
" <th>HNR</th>\n",
|
| 828 |
+
" <th>RPDE</th>\n",
|
| 829 |
+
" <th>DFA</th>\n",
|
| 830 |
+
" <th>spread1</th>\n",
|
| 831 |
+
" <th>spread2</th>\n",
|
| 832 |
+
" <th>D2</th>\n",
|
| 833 |
+
" <th>PPE</th>\n",
|
| 834 |
+
" </tr>\n",
|
| 835 |
+
" <tr>\n",
|
| 836 |
+
" <th>status</th>\n",
|
| 837 |
+
" <th></th>\n",
|
| 838 |
+
" <th></th>\n",
|
| 839 |
+
" <th></th>\n",
|
| 840 |
+
" <th></th>\n",
|
| 841 |
+
" <th></th>\n",
|
| 842 |
+
" <th></th>\n",
|
| 843 |
+
" <th></th>\n",
|
| 844 |
+
" <th></th>\n",
|
| 845 |
+
" <th></th>\n",
|
| 846 |
+
" <th></th>\n",
|
| 847 |
+
" <th></th>\n",
|
| 848 |
+
" <th></th>\n",
|
| 849 |
+
" <th></th>\n",
|
| 850 |
+
" <th></th>\n",
|
| 851 |
+
" <th></th>\n",
|
| 852 |
+
" <th></th>\n",
|
| 853 |
+
" <th></th>\n",
|
| 854 |
+
" <th></th>\n",
|
| 855 |
+
" <th></th>\n",
|
| 856 |
+
" <th></th>\n",
|
| 857 |
+
" <th></th>\n",
|
| 858 |
+
" </tr>\n",
|
| 859 |
+
" </thead>\n",
|
| 860 |
+
" <tbody>\n",
|
| 861 |
+
" <tr>\n",
|
| 862 |
+
" <th>0</th>\n",
|
| 863 |
+
" <td>181.937771</td>\n",
|
| 864 |
+
" <td>223.636750</td>\n",
|
| 865 |
+
" <td>145.207292</td>\n",
|
| 866 |
+
" <td>0.003866</td>\n",
|
| 867 |
+
" <td>0.000023</td>\n",
|
| 868 |
+
" <td>0.001925</td>\n",
|
| 869 |
+
" <td>0.002056</td>\n",
|
| 870 |
+
" <td>0.005776</td>\n",
|
| 871 |
+
" <td>0.017615</td>\n",
|
| 872 |
+
" <td>0.162958</td>\n",
|
| 873 |
+
" <td>...</td>\n",
|
| 874 |
+
" <td>0.013305</td>\n",
|
| 875 |
+
" <td>0.028511</td>\n",
|
| 876 |
+
" <td>0.011483</td>\n",
|
| 877 |
+
" <td>24.678750</td>\n",
|
| 878 |
+
" <td>0.442552</td>\n",
|
| 879 |
+
" <td>0.695716</td>\n",
|
| 880 |
+
" <td>-6.759264</td>\n",
|
| 881 |
+
" <td>0.160292</td>\n",
|
| 882 |
+
" <td>2.154491</td>\n",
|
| 883 |
+
" <td>0.123017</td>\n",
|
| 884 |
+
" </tr>\n",
|
| 885 |
+
" <tr>\n",
|
| 886 |
+
" <th>1</th>\n",
|
| 887 |
+
" <td>145.180762</td>\n",
|
| 888 |
+
" <td>188.441463</td>\n",
|
| 889 |
+
" <td>106.893558</td>\n",
|
| 890 |
+
" <td>0.006989</td>\n",
|
| 891 |
+
" <td>0.000051</td>\n",
|
| 892 |
+
" <td>0.003757</td>\n",
|
| 893 |
+
" <td>0.003900</td>\n",
|
| 894 |
+
" <td>0.011273</td>\n",
|
| 895 |
+
" <td>0.033658</td>\n",
|
| 896 |
+
" <td>0.321204</td>\n",
|
| 897 |
+
" <td>...</td>\n",
|
| 898 |
+
" <td>0.027600</td>\n",
|
| 899 |
+
" <td>0.053027</td>\n",
|
| 900 |
+
" <td>0.029211</td>\n",
|
| 901 |
+
" <td>20.974048</td>\n",
|
| 902 |
+
" <td>0.516816</td>\n",
|
| 903 |
+
" <td>0.725408</td>\n",
|
| 904 |
+
" <td>-5.333420</td>\n",
|
| 905 |
+
" <td>0.248133</td>\n",
|
| 906 |
+
" <td>2.456058</td>\n",
|
| 907 |
+
" <td>0.233828</td>\n",
|
| 908 |
+
" </tr>\n",
|
| 909 |
+
" </tbody>\n",
|
| 910 |
+
"</table>\n",
|
| 911 |
+
"<p>2 rows × 22 columns</p>\n",
|
| 912 |
+
"</div>"
|
| 913 |
+
],
|
| 914 |
+
"text/plain": [
|
| 915 |
+
" MDVP:Fo(Hz) MDVP:Fhi(Hz) MDVP:Flo(Hz) MDVP:Jitter(%) \\\n",
|
| 916 |
+
"status \n",
|
| 917 |
+
"0 181.937771 223.636750 145.207292 0.003866 \n",
|
| 918 |
+
"1 145.180762 188.441463 106.893558 0.006989 \n",
|
| 919 |
+
"\n",
|
| 920 |
+
" MDVP:Jitter(Abs) MDVP:RAP MDVP:PPQ Jitter:DDP MDVP:Shimmer \\\n",
|
| 921 |
+
"status \n",
|
| 922 |
+
"0 0.000023 0.001925 0.002056 0.005776 0.017615 \n",
|
| 923 |
+
"1 0.000051 0.003757 0.003900 0.011273 0.033658 \n",
|
| 924 |
+
"\n",
|
| 925 |
+
" MDVP:Shimmer(dB) ... MDVP:APQ Shimmer:DDA NHR HNR \\\n",
|
| 926 |
+
"status ... \n",
|
| 927 |
+
"0 0.162958 ... 0.013305 0.028511 0.011483 24.678750 \n",
|
| 928 |
+
"1 0.321204 ... 0.027600 0.053027 0.029211 20.974048 \n",
|
| 929 |
+
"\n",
|
| 930 |
+
" RPDE DFA spread1 spread2 D2 PPE \n",
|
| 931 |
+
"status \n",
|
| 932 |
+
"0 0.442552 0.695716 -6.759264 0.160292 2.154491 0.123017 \n",
|
| 933 |
+
"1 0.516816 0.725408 -5.333420 0.248133 2.456058 0.233828 \n",
|
| 934 |
+
"\n",
|
| 935 |
+
"[2 rows x 22 columns]"
|
| 936 |
+
]
|
| 937 |
+
},
|
| 938 |
+
"execution_count": 11,
|
| 939 |
+
"metadata": {},
|
| 940 |
+
"output_type": "execute_result"
|
| 941 |
+
}
|
| 942 |
+
],
|
| 943 |
+
"source": [
|
| 944 |
+
"# grouping the data bas3ed on the target variable\n",
|
| 945 |
+
"parkinsons_data.drop(columns=['name'],axis=1).groupby('status').mean()"
|
| 946 |
+
]
|
| 947 |
+
},
|
| 948 |
+
{
|
| 949 |
+
"cell_type": "code",
|
| 950 |
+
"execution_count": 12,
|
| 951 |
+
"metadata": {
|
| 952 |
+
"id": "8E7BYHMbC_ey"
|
| 953 |
+
},
|
| 954 |
+
"outputs": [],
|
| 955 |
+
"source": [
|
| 956 |
+
"X = parkinsons_data.drop(columns=['name','status'], axis=1)\n",
|
| 957 |
+
"Y = parkinsons_data['status']"
|
| 958 |
+
]
|
| 959 |
+
},
|
| 960 |
+
{
|
| 961 |
+
"cell_type": "code",
|
| 962 |
+
"execution_count": 13,
|
| 963 |
+
"metadata": {
|
| 964 |
+
"colab": {
|
| 965 |
+
"base_uri": "https://localhost:8080/"
|
| 966 |
+
},
|
| 967 |
+
"id": "__DZO-R7DBp8",
|
| 968 |
+
"outputId": "a2478e61-5fee-4154-ee01-a03e2760fa0f"
|
| 969 |
+
},
|
| 970 |
+
"outputs": [
|
| 971 |
+
{
|
| 972 |
+
"name": "stdout",
|
| 973 |
+
"output_type": "stream",
|
| 974 |
+
"text": [
|
| 975 |
+
" MDVP:Fo(Hz) MDVP:Fhi(Hz) MDVP:Flo(Hz) MDVP:Jitter(%) \\\n",
|
| 976 |
+
"0 119.992 157.302 74.997 0.00784 \n",
|
| 977 |
+
"1 122.400 148.650 113.819 0.00968 \n",
|
| 978 |
+
"2 116.682 131.111 111.555 0.01050 \n",
|
| 979 |
+
"3 116.676 137.871 111.366 0.00997 \n",
|
| 980 |
+
"4 116.014 141.781 110.655 0.01284 \n",
|
| 981 |
+
".. ... ... ... ... \n",
|
| 982 |
+
"190 174.188 230.978 94.261 0.00459 \n",
|
| 983 |
+
"191 209.516 253.017 89.488 0.00564 \n",
|
| 984 |
+
"192 174.688 240.005 74.287 0.01360 \n",
|
| 985 |
+
"193 198.764 396.961 74.904 0.00740 \n",
|
| 986 |
+
"194 214.289 260.277 77.973 0.00567 \n",
|
| 987 |
+
"\n",
|
| 988 |
+
" MDVP:Jitter(Abs) MDVP:RAP MDVP:PPQ Jitter:DDP MDVP:Shimmer \\\n",
|
| 989 |
+
"0 0.00007 0.00370 0.00554 0.01109 0.04374 \n",
|
| 990 |
+
"1 0.00008 0.00465 0.00696 0.01394 0.06134 \n",
|
| 991 |
+
"2 0.00009 0.00544 0.00781 0.01633 0.05233 \n",
|
| 992 |
+
"3 0.00009 0.00502 0.00698 0.01505 0.05492 \n",
|
| 993 |
+
"4 0.00011 0.00655 0.00908 0.01966 0.06425 \n",
|
| 994 |
+
".. ... ... ... ... ... \n",
|
| 995 |
+
"190 0.00003 0.00263 0.00259 0.00790 0.04087 \n",
|
| 996 |
+
"191 0.00003 0.00331 0.00292 0.00994 0.02751 \n",
|
| 997 |
+
"192 0.00008 0.00624 0.00564 0.01873 0.02308 \n",
|
| 998 |
+
"193 0.00004 0.00370 0.00390 0.01109 0.02296 \n",
|
| 999 |
+
"194 0.00003 0.00295 0.00317 0.00885 0.01884 \n",
|
| 1000 |
+
"\n",
|
| 1001 |
+
" MDVP:Shimmer(dB) ... MDVP:APQ Shimmer:DDA NHR HNR RPDE \\\n",
|
| 1002 |
+
"0 0.426 ... 0.02971 0.06545 0.02211 21.033 0.414783 \n",
|
| 1003 |
+
"1 0.626 ... 0.04368 0.09403 0.01929 19.085 0.458359 \n",
|
| 1004 |
+
"2 0.482 ... 0.03590 0.08270 0.01309 20.651 0.429895 \n",
|
| 1005 |
+
"3 0.517 ... 0.03772 0.08771 0.01353 20.644 0.434969 \n",
|
| 1006 |
+
"4 0.584 ... 0.04465 0.10470 0.01767 19.649 0.417356 \n",
|
| 1007 |
+
".. ... ... ... ... ... ... ... \n",
|
| 1008 |
+
"190 0.405 ... 0.02745 0.07008 0.02764 19.517 0.448439 \n",
|
| 1009 |
+
"191 0.263 ... 0.01879 0.04812 0.01810 19.147 0.431674 \n",
|
| 1010 |
+
"192 0.256 ... 0.01667 0.03804 0.10715 17.883 0.407567 \n",
|
| 1011 |
+
"193 0.241 ... 0.01588 0.03794 0.07223 19.020 0.451221 \n",
|
| 1012 |
+
"194 0.190 ... 0.01373 0.03078 0.04398 21.209 0.462803 \n",
|
| 1013 |
+
"\n",
|
| 1014 |
+
" DFA spread1 spread2 D2 PPE \n",
|
| 1015 |
+
"0 0.815285 -4.813031 0.266482 2.301442 0.284654 \n",
|
| 1016 |
+
"1 0.819521 -4.075192 0.335590 2.486855 0.368674 \n",
|
| 1017 |
+
"2 0.825288 -4.443179 0.311173 2.342259 0.332634 \n",
|
| 1018 |
+
"3 0.819235 -4.117501 0.334147 2.405554 0.368975 \n",
|
| 1019 |
+
"4 0.823484 -3.747787 0.234513 2.332180 0.410335 \n",
|
| 1020 |
+
".. ... ... ... ... ... \n",
|
| 1021 |
+
"190 0.657899 -6.538586 0.121952 2.657476 0.133050 \n",
|
| 1022 |
+
"191 0.683244 -6.195325 0.129303 2.784312 0.168895 \n",
|
| 1023 |
+
"192 0.655683 -6.787197 0.158453 2.679772 0.131728 \n",
|
| 1024 |
+
"193 0.643956 -6.744577 0.207454 2.138608 0.123306 \n",
|
| 1025 |
+
"194 0.664357 -5.724056 0.190667 2.555477 0.148569 \n",
|
| 1026 |
+
"\n",
|
| 1027 |
+
"[195 rows x 22 columns]\n"
|
| 1028 |
+
]
|
| 1029 |
+
}
|
| 1030 |
+
],
|
| 1031 |
+
"source": [
|
| 1032 |
+
"print(X)"
|
| 1033 |
+
]
|
| 1034 |
+
},
|
| 1035 |
+
{
|
| 1036 |
+
"cell_type": "code",
|
| 1037 |
+
"execution_count": 14,
|
| 1038 |
+
"metadata": {
|
| 1039 |
+
"colab": {
|
| 1040 |
+
"base_uri": "https://localhost:8080/"
|
| 1041 |
+
},
|
| 1042 |
+
"id": "fq8HpskIDD6R",
|
| 1043 |
+
"outputId": "89ce1fbb-4ba4-49ed-a1b0-84e5a9c82caf"
|
| 1044 |
+
},
|
| 1045 |
+
"outputs": [
|
| 1046 |
+
{
|
| 1047 |
+
"name": "stdout",
|
| 1048 |
+
"output_type": "stream",
|
| 1049 |
+
"text": [
|
| 1050 |
+
"0 1\n",
|
| 1051 |
+
"1 1\n",
|
| 1052 |
+
"2 1\n",
|
| 1053 |
+
"3 1\n",
|
| 1054 |
+
"4 1\n",
|
| 1055 |
+
" ..\n",
|
| 1056 |
+
"190 0\n",
|
| 1057 |
+
"191 0\n",
|
| 1058 |
+
"192 0\n",
|
| 1059 |
+
"193 0\n",
|
| 1060 |
+
"194 0\n",
|
| 1061 |
+
"Name: status, Length: 195, dtype: int64\n"
|
| 1062 |
+
]
|
| 1063 |
+
}
|
| 1064 |
+
],
|
| 1065 |
+
"source": [
|
| 1066 |
+
"print(Y)"
|
| 1067 |
+
]
|
| 1068 |
+
},
|
| 1069 |
+
{
|
| 1070 |
+
"cell_type": "code",
|
| 1071 |
+
"execution_count": 15,
|
| 1072 |
+
"metadata": {
|
| 1073 |
+
"id": "WASfY0NIDFzC"
|
| 1074 |
+
},
|
| 1075 |
+
"outputs": [],
|
| 1076 |
+
"source": [
|
| 1077 |
+
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=2)"
|
| 1078 |
+
]
|
| 1079 |
+
},
|
| 1080 |
+
{
|
| 1081 |
+
"cell_type": "code",
|
| 1082 |
+
"execution_count": 16,
|
| 1083 |
+
"metadata": {
|
| 1084 |
+
"colab": {
|
| 1085 |
+
"base_uri": "https://localhost:8080/"
|
| 1086 |
+
},
|
| 1087 |
+
"id": "Af8H7SBZDJdN",
|
| 1088 |
+
"outputId": "dab977fd-b9ec-41a5-9a70-0f9815f0a420"
|
| 1089 |
+
},
|
| 1090 |
+
"outputs": [
|
| 1091 |
+
{
|
| 1092 |
+
"name": "stdout",
|
| 1093 |
+
"output_type": "stream",
|
| 1094 |
+
"text": [
|
| 1095 |
+
"(195, 22) (156, 22) (39, 22)\n"
|
| 1096 |
+
]
|
| 1097 |
+
}
|
| 1098 |
+
],
|
| 1099 |
+
"source": [
|
| 1100 |
+
"print(X.shape, X_train.shape, X_test.shape)"
|
| 1101 |
+
]
|
| 1102 |
+
},
|
| 1103 |
+
{
|
| 1104 |
+
"cell_type": "code",
|
| 1105 |
+
"execution_count": 17,
|
| 1106 |
+
"metadata": {
|
| 1107 |
+
"id": "ik8GPLM-DMT_"
|
| 1108 |
+
},
|
| 1109 |
+
"outputs": [],
|
| 1110 |
+
"source": [
|
| 1111 |
+
"scaler = StandardScaler()"
|
| 1112 |
+
]
|
| 1113 |
+
},
|
| 1114 |
+
{
|
| 1115 |
+
"cell_type": "code",
|
| 1116 |
+
"execution_count": 18,
|
| 1117 |
+
"metadata": {
|
| 1118 |
+
"colab": {
|
| 1119 |
+
"base_uri": "https://localhost:8080/",
|
| 1120 |
+
"height": 80
|
| 1121 |
+
},
|
| 1122 |
+
"id": "qxV6U1vxDOzH",
|
| 1123 |
+
"outputId": "0e368068-e068-465e-9310-932493fc0a4e"
|
| 1124 |
+
},
|
| 1125 |
+
"outputs": [
|
| 1126 |
+
{
|
| 1127 |
+
"data": {
|
| 1128 |
+
"text/html": [
|
| 1129 |
+
"<style>#sk-container-id-1 {\n",
|
| 1130 |
+
" /* Definition of color scheme common for light and dark mode */\n",
|
| 1131 |
+
" --sklearn-color-text: #000;\n",
|
| 1132 |
+
" --sklearn-color-text-muted: #666;\n",
|
| 1133 |
+
" --sklearn-color-line: gray;\n",
|
| 1134 |
+
" /* Definition of color scheme for unfitted estimators */\n",
|
| 1135 |
+
" --sklearn-color-unfitted-level-0: #fff5e6;\n",
|
| 1136 |
+
" --sklearn-color-unfitted-level-1: #f6e4d2;\n",
|
| 1137 |
+
" --sklearn-color-unfitted-level-2: #ffe0b3;\n",
|
| 1138 |
+
" --sklearn-color-unfitted-level-3: chocolate;\n",
|
| 1139 |
+
" /* Definition of color scheme for fitted estimators */\n",
|
| 1140 |
+
" --sklearn-color-fitted-level-0: #f0f8ff;\n",
|
| 1141 |
+
" --sklearn-color-fitted-level-1: #d4ebff;\n",
|
| 1142 |
+
" --sklearn-color-fitted-level-2: #b3dbfd;\n",
|
| 1143 |
+
" --sklearn-color-fitted-level-3: cornflowerblue;\n",
|
| 1144 |
+
"\n",
|
| 1145 |
+
" /* Specific color for light theme */\n",
|
| 1146 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 1147 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
|
| 1148 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 1149 |
+
" --sklearn-color-icon: #696969;\n",
|
| 1150 |
+
"\n",
|
| 1151 |
+
" @media (prefers-color-scheme: dark) {\n",
|
| 1152 |
+
" /* Redefinition of color scheme for dark theme */\n",
|
| 1153 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 1154 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
|
| 1155 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 1156 |
+
" --sklearn-color-icon: #878787;\n",
|
| 1157 |
+
" }\n",
|
| 1158 |
+
"}\n",
|
| 1159 |
+
"\n",
|
| 1160 |
+
"#sk-container-id-1 {\n",
|
| 1161 |
+
" color: var(--sklearn-color-text);\n",
|
| 1162 |
+
"}\n",
|
| 1163 |
+
"\n",
|
| 1164 |
+
"#sk-container-id-1 pre {\n",
|
| 1165 |
+
" padding: 0;\n",
|
| 1166 |
+
"}\n",
|
| 1167 |
+
"\n",
|
| 1168 |
+
"#sk-container-id-1 input.sk-hidden--visually {\n",
|
| 1169 |
+
" border: 0;\n",
|
| 1170 |
+
" clip: rect(1px 1px 1px 1px);\n",
|
| 1171 |
+
" clip: rect(1px, 1px, 1px, 1px);\n",
|
| 1172 |
+
" height: 1px;\n",
|
| 1173 |
+
" margin: -1px;\n",
|
| 1174 |
+
" overflow: hidden;\n",
|
| 1175 |
+
" padding: 0;\n",
|
| 1176 |
+
" position: absolute;\n",
|
| 1177 |
+
" width: 1px;\n",
|
| 1178 |
+
"}\n",
|
| 1179 |
+
"\n",
|
| 1180 |
+
"#sk-container-id-1 div.sk-dashed-wrapped {\n",
|
| 1181 |
+
" border: 1px dashed var(--sklearn-color-line);\n",
|
| 1182 |
+
" margin: 0 0.4em 0.5em 0.4em;\n",
|
| 1183 |
+
" box-sizing: border-box;\n",
|
| 1184 |
+
" padding-bottom: 0.4em;\n",
|
| 1185 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1186 |
+
"}\n",
|
| 1187 |
+
"\n",
|
| 1188 |
+
"#sk-container-id-1 div.sk-container {\n",
|
| 1189 |
+
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
|
| 1190 |
+
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
|
| 1191 |
+
" so we also need the `!important` here to be able to override the\n",
|
| 1192 |
+
" default hidden behavior on the sphinx rendered scikit-learn.org.\n",
|
| 1193 |
+
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
|
| 1194 |
+
" display: inline-block !important;\n",
|
| 1195 |
+
" position: relative;\n",
|
| 1196 |
+
"}\n",
|
| 1197 |
+
"\n",
|
| 1198 |
+
"#sk-container-id-1 div.sk-text-repr-fallback {\n",
|
| 1199 |
+
" display: none;\n",
|
| 1200 |
+
"}\n",
|
| 1201 |
+
"\n",
|
| 1202 |
+
"div.sk-parallel-item,\n",
|
| 1203 |
+
"div.sk-serial,\n",
|
| 1204 |
+
"div.sk-item {\n",
|
| 1205 |
+
" /* draw centered vertical line to link estimators */\n",
|
| 1206 |
+
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
|
| 1207 |
+
" background-size: 2px 100%;\n",
|
| 1208 |
+
" background-repeat: no-repeat;\n",
|
| 1209 |
+
" background-position: center center;\n",
|
| 1210 |
+
"}\n",
|
| 1211 |
+
"\n",
|
| 1212 |
+
"/* Parallel-specific style estimator block */\n",
|
| 1213 |
+
"\n",
|
| 1214 |
+
"#sk-container-id-1 div.sk-parallel-item::after {\n",
|
| 1215 |
+
" content: \"\";\n",
|
| 1216 |
+
" width: 100%;\n",
|
| 1217 |
+
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
|
| 1218 |
+
" flex-grow: 1;\n",
|
| 1219 |
+
"}\n",
|
| 1220 |
+
"\n",
|
| 1221 |
+
"#sk-container-id-1 div.sk-parallel {\n",
|
| 1222 |
+
" display: flex;\n",
|
| 1223 |
+
" align-items: stretch;\n",
|
| 1224 |
+
" justify-content: center;\n",
|
| 1225 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1226 |
+
" position: relative;\n",
|
| 1227 |
+
"}\n",
|
| 1228 |
+
"\n",
|
| 1229 |
+
"#sk-container-id-1 div.sk-parallel-item {\n",
|
| 1230 |
+
" display: flex;\n",
|
| 1231 |
+
" flex-direction: column;\n",
|
| 1232 |
+
"}\n",
|
| 1233 |
+
"\n",
|
| 1234 |
+
"#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
|
| 1235 |
+
" align-self: flex-end;\n",
|
| 1236 |
+
" width: 50%;\n",
|
| 1237 |
+
"}\n",
|
| 1238 |
+
"\n",
|
| 1239 |
+
"#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
|
| 1240 |
+
" align-self: flex-start;\n",
|
| 1241 |
+
" width: 50%;\n",
|
| 1242 |
+
"}\n",
|
| 1243 |
+
"\n",
|
| 1244 |
+
"#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
|
| 1245 |
+
" width: 0;\n",
|
| 1246 |
+
"}\n",
|
| 1247 |
+
"\n",
|
| 1248 |
+
"/* Serial-specific style estimator block */\n",
|
| 1249 |
+
"\n",
|
| 1250 |
+
"#sk-container-id-1 div.sk-serial {\n",
|
| 1251 |
+
" display: flex;\n",
|
| 1252 |
+
" flex-direction: column;\n",
|
| 1253 |
+
" align-items: center;\n",
|
| 1254 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1255 |
+
" padding-right: 1em;\n",
|
| 1256 |
+
" padding-left: 1em;\n",
|
| 1257 |
+
"}\n",
|
| 1258 |
+
"\n",
|
| 1259 |
+
"\n",
|
| 1260 |
+
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
|
| 1261 |
+
"clickable and can be expanded/collapsed.\n",
|
| 1262 |
+
"- Pipeline and ColumnTransformer use this feature and define the default style\n",
|
| 1263 |
+
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
|
| 1264 |
+
"*/\n",
|
| 1265 |
+
"\n",
|
| 1266 |
+
"/* Pipeline and ColumnTransformer style (default) */\n",
|
| 1267 |
+
"\n",
|
| 1268 |
+
"#sk-container-id-1 div.sk-toggleable {\n",
|
| 1269 |
+
" /* Default theme specific background. It is overwritten whether we have a\n",
|
| 1270 |
+
" specific estimator or a Pipeline/ColumnTransformer */\n",
|
| 1271 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1272 |
+
"}\n",
|
| 1273 |
+
"\n",
|
| 1274 |
+
"/* Toggleable label */\n",
|
| 1275 |
+
"#sk-container-id-1 label.sk-toggleable__label {\n",
|
| 1276 |
+
" cursor: pointer;\n",
|
| 1277 |
+
" display: flex;\n",
|
| 1278 |
+
" width: 100%;\n",
|
| 1279 |
+
" margin-bottom: 0;\n",
|
| 1280 |
+
" padding: 0.5em;\n",
|
| 1281 |
+
" box-sizing: border-box;\n",
|
| 1282 |
+
" text-align: center;\n",
|
| 1283 |
+
" align-items: start;\n",
|
| 1284 |
+
" justify-content: space-between;\n",
|
| 1285 |
+
" gap: 0.5em;\n",
|
| 1286 |
+
"}\n",
|
| 1287 |
+
"\n",
|
| 1288 |
+
"#sk-container-id-1 label.sk-toggleable__label .caption {\n",
|
| 1289 |
+
" font-size: 0.6rem;\n",
|
| 1290 |
+
" font-weight: lighter;\n",
|
| 1291 |
+
" color: var(--sklearn-color-text-muted);\n",
|
| 1292 |
+
"}\n",
|
| 1293 |
+
"\n",
|
| 1294 |
+
"#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
|
| 1295 |
+
" /* Arrow on the left of the label */\n",
|
| 1296 |
+
" content: \"▸\";\n",
|
| 1297 |
+
" float: left;\n",
|
| 1298 |
+
" margin-right: 0.25em;\n",
|
| 1299 |
+
" color: var(--sklearn-color-icon);\n",
|
| 1300 |
+
"}\n",
|
| 1301 |
+
"\n",
|
| 1302 |
+
"#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
|
| 1303 |
+
" color: var(--sklearn-color-text);\n",
|
| 1304 |
+
"}\n",
|
| 1305 |
+
"\n",
|
| 1306 |
+
"/* Toggleable content - dropdown */\n",
|
| 1307 |
+
"\n",
|
| 1308 |
+
"#sk-container-id-1 div.sk-toggleable__content {\n",
|
| 1309 |
+
" max-height: 0;\n",
|
| 1310 |
+
" max-width: 0;\n",
|
| 1311 |
+
" overflow: hidden;\n",
|
| 1312 |
+
" text-align: left;\n",
|
| 1313 |
+
" /* unfitted */\n",
|
| 1314 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1315 |
+
"}\n",
|
| 1316 |
+
"\n",
|
| 1317 |
+
"#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
|
| 1318 |
+
" /* fitted */\n",
|
| 1319 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1320 |
+
"}\n",
|
| 1321 |
+
"\n",
|
| 1322 |
+
"#sk-container-id-1 div.sk-toggleable__content pre {\n",
|
| 1323 |
+
" margin: 0.2em;\n",
|
| 1324 |
+
" border-radius: 0.25em;\n",
|
| 1325 |
+
" color: var(--sklearn-color-text);\n",
|
| 1326 |
+
" /* unfitted */\n",
|
| 1327 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1328 |
+
"}\n",
|
| 1329 |
+
"\n",
|
| 1330 |
+
"#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
|
| 1331 |
+
" /* unfitted */\n",
|
| 1332 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1333 |
+
"}\n",
|
| 1334 |
+
"\n",
|
| 1335 |
+
"#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
|
| 1336 |
+
" /* Expand drop-down */\n",
|
| 1337 |
+
" max-height: 200px;\n",
|
| 1338 |
+
" max-width: 100%;\n",
|
| 1339 |
+
" overflow: auto;\n",
|
| 1340 |
+
"}\n",
|
| 1341 |
+
"\n",
|
| 1342 |
+
"#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
|
| 1343 |
+
" content: \"▾\";\n",
|
| 1344 |
+
"}\n",
|
| 1345 |
+
"\n",
|
| 1346 |
+
"/* Pipeline/ColumnTransformer-specific style */\n",
|
| 1347 |
+
"\n",
|
| 1348 |
+
"#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1349 |
+
" color: var(--sklearn-color-text);\n",
|
| 1350 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1351 |
+
"}\n",
|
| 1352 |
+
"\n",
|
| 1353 |
+
"#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1354 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1355 |
+
"}\n",
|
| 1356 |
+
"\n",
|
| 1357 |
+
"/* Estimator-specific style */\n",
|
| 1358 |
+
"\n",
|
| 1359 |
+
"/* Colorize estimator box */\n",
|
| 1360 |
+
"#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1361 |
+
" /* unfitted */\n",
|
| 1362 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1363 |
+
"}\n",
|
| 1364 |
+
"\n",
|
| 1365 |
+
"#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1366 |
+
" /* fitted */\n",
|
| 1367 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1368 |
+
"}\n",
|
| 1369 |
+
"\n",
|
| 1370 |
+
"#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
|
| 1371 |
+
"#sk-container-id-1 div.sk-label label {\n",
|
| 1372 |
+
" /* The background is the default theme color */\n",
|
| 1373 |
+
" color: var(--sklearn-color-text-on-default-background);\n",
|
| 1374 |
+
"}\n",
|
| 1375 |
+
"\n",
|
| 1376 |
+
"/* On hover, darken the color of the background */\n",
|
| 1377 |
+
"#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
|
| 1378 |
+
" color: var(--sklearn-color-text);\n",
|
| 1379 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1380 |
+
"}\n",
|
| 1381 |
+
"\n",
|
| 1382 |
+
"/* Label box, darken color on hover, fitted */\n",
|
| 1383 |
+
"#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
|
| 1384 |
+
" color: var(--sklearn-color-text);\n",
|
| 1385 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1386 |
+
"}\n",
|
| 1387 |
+
"\n",
|
| 1388 |
+
"/* Estimator label */\n",
|
| 1389 |
+
"\n",
|
| 1390 |
+
"#sk-container-id-1 div.sk-label label {\n",
|
| 1391 |
+
" font-family: monospace;\n",
|
| 1392 |
+
" font-weight: bold;\n",
|
| 1393 |
+
" display: inline-block;\n",
|
| 1394 |
+
" line-height: 1.2em;\n",
|
| 1395 |
+
"}\n",
|
| 1396 |
+
"\n",
|
| 1397 |
+
"#sk-container-id-1 div.sk-label-container {\n",
|
| 1398 |
+
" text-align: center;\n",
|
| 1399 |
+
"}\n",
|
| 1400 |
+
"\n",
|
| 1401 |
+
"/* Estimator-specific */\n",
|
| 1402 |
+
"#sk-container-id-1 div.sk-estimator {\n",
|
| 1403 |
+
" font-family: monospace;\n",
|
| 1404 |
+
" border: 1px dotted var(--sklearn-color-border-box);\n",
|
| 1405 |
+
" border-radius: 0.25em;\n",
|
| 1406 |
+
" box-sizing: border-box;\n",
|
| 1407 |
+
" margin-bottom: 0.5em;\n",
|
| 1408 |
+
" /* unfitted */\n",
|
| 1409 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1410 |
+
"}\n",
|
| 1411 |
+
"\n",
|
| 1412 |
+
"#sk-container-id-1 div.sk-estimator.fitted {\n",
|
| 1413 |
+
" /* fitted */\n",
|
| 1414 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1415 |
+
"}\n",
|
| 1416 |
+
"\n",
|
| 1417 |
+
"/* on hover */\n",
|
| 1418 |
+
"#sk-container-id-1 div.sk-estimator:hover {\n",
|
| 1419 |
+
" /* unfitted */\n",
|
| 1420 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1421 |
+
"}\n",
|
| 1422 |
+
"\n",
|
| 1423 |
+
"#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
|
| 1424 |
+
" /* fitted */\n",
|
| 1425 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1426 |
+
"}\n",
|
| 1427 |
+
"\n",
|
| 1428 |
+
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
|
| 1429 |
+
"\n",
|
| 1430 |
+
"/* Common style for \"i\" and \"?\" */\n",
|
| 1431 |
+
"\n",
|
| 1432 |
+
".sk-estimator-doc-link,\n",
|
| 1433 |
+
"a:link.sk-estimator-doc-link,\n",
|
| 1434 |
+
"a:visited.sk-estimator-doc-link {\n",
|
| 1435 |
+
" float: right;\n",
|
| 1436 |
+
" font-size: smaller;\n",
|
| 1437 |
+
" line-height: 1em;\n",
|
| 1438 |
+
" font-family: monospace;\n",
|
| 1439 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1440 |
+
" border-radius: 1em;\n",
|
| 1441 |
+
" height: 1em;\n",
|
| 1442 |
+
" width: 1em;\n",
|
| 1443 |
+
" text-decoration: none !important;\n",
|
| 1444 |
+
" margin-left: 0.5em;\n",
|
| 1445 |
+
" text-align: center;\n",
|
| 1446 |
+
" /* unfitted */\n",
|
| 1447 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1448 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1449 |
+
"}\n",
|
| 1450 |
+
"\n",
|
| 1451 |
+
".sk-estimator-doc-link.fitted,\n",
|
| 1452 |
+
"a:link.sk-estimator-doc-link.fitted,\n",
|
| 1453 |
+
"a:visited.sk-estimator-doc-link.fitted {\n",
|
| 1454 |
+
" /* fitted */\n",
|
| 1455 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1456 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1457 |
+
"}\n",
|
| 1458 |
+
"\n",
|
| 1459 |
+
"/* On hover */\n",
|
| 1460 |
+
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
|
| 1461 |
+
".sk-estimator-doc-link:hover,\n",
|
| 1462 |
+
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
|
| 1463 |
+
".sk-estimator-doc-link:hover {\n",
|
| 1464 |
+
" /* unfitted */\n",
|
| 1465 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1466 |
+
" color: var(--sklearn-color-background);\n",
|
| 1467 |
+
" text-decoration: none;\n",
|
| 1468 |
+
"}\n",
|
| 1469 |
+
"\n",
|
| 1470 |
+
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1471 |
+
".sk-estimator-doc-link.fitted:hover,\n",
|
| 1472 |
+
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1473 |
+
".sk-estimator-doc-link.fitted:hover {\n",
|
| 1474 |
+
" /* fitted */\n",
|
| 1475 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1476 |
+
" color: var(--sklearn-color-background);\n",
|
| 1477 |
+
" text-decoration: none;\n",
|
| 1478 |
+
"}\n",
|
| 1479 |
+
"\n",
|
| 1480 |
+
"/* Span, style for the box shown on hovering the info icon */\n",
|
| 1481 |
+
".sk-estimator-doc-link span {\n",
|
| 1482 |
+
" display: none;\n",
|
| 1483 |
+
" z-index: 9999;\n",
|
| 1484 |
+
" position: relative;\n",
|
| 1485 |
+
" font-weight: normal;\n",
|
| 1486 |
+
" right: .2ex;\n",
|
| 1487 |
+
" padding: .5ex;\n",
|
| 1488 |
+
" margin: .5ex;\n",
|
| 1489 |
+
" width: min-content;\n",
|
| 1490 |
+
" min-width: 20ex;\n",
|
| 1491 |
+
" max-width: 50ex;\n",
|
| 1492 |
+
" color: var(--sklearn-color-text);\n",
|
| 1493 |
+
" box-shadow: 2pt 2pt 4pt #999;\n",
|
| 1494 |
+
" /* unfitted */\n",
|
| 1495 |
+
" background: var(--sklearn-color-unfitted-level-0);\n",
|
| 1496 |
+
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
|
| 1497 |
+
"}\n",
|
| 1498 |
+
"\n",
|
| 1499 |
+
".sk-estimator-doc-link.fitted span {\n",
|
| 1500 |
+
" /* fitted */\n",
|
| 1501 |
+
" background: var(--sklearn-color-fitted-level-0);\n",
|
| 1502 |
+
" border: var(--sklearn-color-fitted-level-3);\n",
|
| 1503 |
+
"}\n",
|
| 1504 |
+
"\n",
|
| 1505 |
+
".sk-estimator-doc-link:hover span {\n",
|
| 1506 |
+
" display: block;\n",
|
| 1507 |
+
"}\n",
|
| 1508 |
+
"\n",
|
| 1509 |
+
"/* \"?\"-specific style due to the `<a>` HTML tag */\n",
|
| 1510 |
+
"\n",
|
| 1511 |
+
"#sk-container-id-1 a.estimator_doc_link {\n",
|
| 1512 |
+
" float: right;\n",
|
| 1513 |
+
" font-size: 1rem;\n",
|
| 1514 |
+
" line-height: 1em;\n",
|
| 1515 |
+
" font-family: monospace;\n",
|
| 1516 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1517 |
+
" border-radius: 1rem;\n",
|
| 1518 |
+
" height: 1rem;\n",
|
| 1519 |
+
" width: 1rem;\n",
|
| 1520 |
+
" text-decoration: none;\n",
|
| 1521 |
+
" /* unfitted */\n",
|
| 1522 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1523 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1524 |
+
"}\n",
|
| 1525 |
+
"\n",
|
| 1526 |
+
"#sk-container-id-1 a.estimator_doc_link.fitted {\n",
|
| 1527 |
+
" /* fitted */\n",
|
| 1528 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1529 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1530 |
+
"}\n",
|
| 1531 |
+
"\n",
|
| 1532 |
+
"/* On hover */\n",
|
| 1533 |
+
"#sk-container-id-1 a.estimator_doc_link:hover {\n",
|
| 1534 |
+
" /* unfitted */\n",
|
| 1535 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1536 |
+
" color: var(--sklearn-color-background);\n",
|
| 1537 |
+
" text-decoration: none;\n",
|
| 1538 |
+
"}\n",
|
| 1539 |
+
"\n",
|
| 1540 |
+
"#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
|
| 1541 |
+
" /* fitted */\n",
|
| 1542 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1543 |
+
"}\n",
|
| 1544 |
+
"</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>StandardScaler()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>StandardScaler</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.preprocessing.StandardScaler.html\">?<span>Documentation for StandardScaler</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>StandardScaler()</pre></div> </div></div></div></div>"
|
| 1545 |
+
],
|
| 1546 |
+
"text/plain": [
|
| 1547 |
+
"StandardScaler()"
|
| 1548 |
+
]
|
| 1549 |
+
},
|
| 1550 |
+
"execution_count": 18,
|
| 1551 |
+
"metadata": {},
|
| 1552 |
+
"output_type": "execute_result"
|
| 1553 |
+
}
|
| 1554 |
+
],
|
| 1555 |
+
"source": [
|
| 1556 |
+
"scaler.fit(X_train)"
|
| 1557 |
+
]
|
| 1558 |
+
},
|
| 1559 |
+
{
|
| 1560 |
+
"cell_type": "code",
|
| 1561 |
+
"execution_count": 19,
|
| 1562 |
+
"metadata": {
|
| 1563 |
+
"id": "jgf_TwMZDQ7h"
|
| 1564 |
+
},
|
| 1565 |
+
"outputs": [],
|
| 1566 |
+
"source": [
|
| 1567 |
+
"X_train = scaler.transform(X_train)\n",
|
| 1568 |
+
"\n",
|
| 1569 |
+
"X_test = scaler.transform(X_test)"
|
| 1570 |
+
]
|
| 1571 |
+
},
|
| 1572 |
+
{
|
| 1573 |
+
"cell_type": "code",
|
| 1574 |
+
"execution_count": 20,
|
| 1575 |
+
"metadata": {
|
| 1576 |
+
"colab": {
|
| 1577 |
+
"base_uri": "https://localhost:8080/"
|
| 1578 |
+
},
|
| 1579 |
+
"id": "jKXa_WOQDY-H",
|
| 1580 |
+
"outputId": "8fdee8da-a5ee-4d97-977f-c105fc0317e1"
|
| 1581 |
+
},
|
| 1582 |
+
"outputs": [
|
| 1583 |
+
{
|
| 1584 |
+
"name": "stdout",
|
| 1585 |
+
"output_type": "stream",
|
| 1586 |
+
"text": [
|
| 1587 |
+
"[[ 0.63239631 -0.02731081 -0.87985049 ... -0.97586547 -0.55160318\n",
|
| 1588 |
+
" 0.07769494]\n",
|
| 1589 |
+
" [-1.05512719 -0.83337041 -0.9284778 ... 0.3981808 -0.61014073\n",
|
| 1590 |
+
" 0.39291782]\n",
|
| 1591 |
+
" [ 0.02996187 -0.29531068 -1.12211107 ... -0.43937044 -0.62849605\n",
|
| 1592 |
+
" -0.50948408]\n",
|
| 1593 |
+
" ...\n",
|
| 1594 |
+
" [-0.9096785 -0.6637302 -0.160638 ... 1.22001022 -0.47404629\n",
|
| 1595 |
+
" -0.2159482 ]\n",
|
| 1596 |
+
" [-0.35977689 0.19731822 -0.79063679 ... -0.17896029 -0.47272835\n",
|
| 1597 |
+
" 0.28181221]\n",
|
| 1598 |
+
" [ 1.01957066 0.19922317 -0.61914972 ... -0.716232 1.23632066\n",
|
| 1599 |
+
" -0.05829386]]\n"
|
| 1600 |
+
]
|
| 1601 |
+
}
|
| 1602 |
+
],
|
| 1603 |
+
"source": [
|
| 1604 |
+
"print(X_train)"
|
| 1605 |
+
]
|
| 1606 |
+
},
|
| 1607 |
+
{
|
| 1608 |
+
"cell_type": "code",
|
| 1609 |
+
"execution_count": 21,
|
| 1610 |
+
"metadata": {
|
| 1611 |
+
"id": "sCzBNIdwDZtw"
|
| 1612 |
+
},
|
| 1613 |
+
"outputs": [],
|
| 1614 |
+
"source": [
|
| 1615 |
+
"model = svm.SVC(kernel='linear')"
|
| 1616 |
+
]
|
| 1617 |
+
},
|
| 1618 |
+
{
|
| 1619 |
+
"cell_type": "code",
|
| 1620 |
+
"execution_count": 22,
|
| 1621 |
+
"metadata": {
|
| 1622 |
+
"colab": {
|
| 1623 |
+
"base_uri": "https://localhost:8080/",
|
| 1624 |
+
"height": 80
|
| 1625 |
+
},
|
| 1626 |
+
"id": "brj2FIVzDdZJ",
|
| 1627 |
+
"outputId": "a9ba278c-7c3b-4b0f-f1c3-17764fbcad24"
|
| 1628 |
+
},
|
| 1629 |
+
"outputs": [
|
| 1630 |
+
{
|
| 1631 |
+
"data": {
|
| 1632 |
+
"text/html": [
|
| 1633 |
+
"<style>#sk-container-id-2 {\n",
|
| 1634 |
+
" /* Definition of color scheme common for light and dark mode */\n",
|
| 1635 |
+
" --sklearn-color-text: #000;\n",
|
| 1636 |
+
" --sklearn-color-text-muted: #666;\n",
|
| 1637 |
+
" --sklearn-color-line: gray;\n",
|
| 1638 |
+
" /* Definition of color scheme for unfitted estimators */\n",
|
| 1639 |
+
" --sklearn-color-unfitted-level-0: #fff5e6;\n",
|
| 1640 |
+
" --sklearn-color-unfitted-level-1: #f6e4d2;\n",
|
| 1641 |
+
" --sklearn-color-unfitted-level-2: #ffe0b3;\n",
|
| 1642 |
+
" --sklearn-color-unfitted-level-3: chocolate;\n",
|
| 1643 |
+
" /* Definition of color scheme for fitted estimators */\n",
|
| 1644 |
+
" --sklearn-color-fitted-level-0: #f0f8ff;\n",
|
| 1645 |
+
" --sklearn-color-fitted-level-1: #d4ebff;\n",
|
| 1646 |
+
" --sklearn-color-fitted-level-2: #b3dbfd;\n",
|
| 1647 |
+
" --sklearn-color-fitted-level-3: cornflowerblue;\n",
|
| 1648 |
+
"\n",
|
| 1649 |
+
" /* Specific color for light theme */\n",
|
| 1650 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 1651 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
|
| 1652 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
| 1653 |
+
" --sklearn-color-icon: #696969;\n",
|
| 1654 |
+
"\n",
|
| 1655 |
+
" @media (prefers-color-scheme: dark) {\n",
|
| 1656 |
+
" /* Redefinition of color scheme for dark theme */\n",
|
| 1657 |
+
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 1658 |
+
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
|
| 1659 |
+
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
| 1660 |
+
" --sklearn-color-icon: #878787;\n",
|
| 1661 |
+
" }\n",
|
| 1662 |
+
"}\n",
|
| 1663 |
+
"\n",
|
| 1664 |
+
"#sk-container-id-2 {\n",
|
| 1665 |
+
" color: var(--sklearn-color-text);\n",
|
| 1666 |
+
"}\n",
|
| 1667 |
+
"\n",
|
| 1668 |
+
"#sk-container-id-2 pre {\n",
|
| 1669 |
+
" padding: 0;\n",
|
| 1670 |
+
"}\n",
|
| 1671 |
+
"\n",
|
| 1672 |
+
"#sk-container-id-2 input.sk-hidden--visually {\n",
|
| 1673 |
+
" border: 0;\n",
|
| 1674 |
+
" clip: rect(1px 1px 1px 1px);\n",
|
| 1675 |
+
" clip: rect(1px, 1px, 1px, 1px);\n",
|
| 1676 |
+
" height: 1px;\n",
|
| 1677 |
+
" margin: -1px;\n",
|
| 1678 |
+
" overflow: hidden;\n",
|
| 1679 |
+
" padding: 0;\n",
|
| 1680 |
+
" position: absolute;\n",
|
| 1681 |
+
" width: 1px;\n",
|
| 1682 |
+
"}\n",
|
| 1683 |
+
"\n",
|
| 1684 |
+
"#sk-container-id-2 div.sk-dashed-wrapped {\n",
|
| 1685 |
+
" border: 1px dashed var(--sklearn-color-line);\n",
|
| 1686 |
+
" margin: 0 0.4em 0.5em 0.4em;\n",
|
| 1687 |
+
" box-sizing: border-box;\n",
|
| 1688 |
+
" padding-bottom: 0.4em;\n",
|
| 1689 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1690 |
+
"}\n",
|
| 1691 |
+
"\n",
|
| 1692 |
+
"#sk-container-id-2 div.sk-container {\n",
|
| 1693 |
+
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
|
| 1694 |
+
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
|
| 1695 |
+
" so we also need the `!important` here to be able to override the\n",
|
| 1696 |
+
" default hidden behavior on the sphinx rendered scikit-learn.org.\n",
|
| 1697 |
+
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
|
| 1698 |
+
" display: inline-block !important;\n",
|
| 1699 |
+
" position: relative;\n",
|
| 1700 |
+
"}\n",
|
| 1701 |
+
"\n",
|
| 1702 |
+
"#sk-container-id-2 div.sk-text-repr-fallback {\n",
|
| 1703 |
+
" display: none;\n",
|
| 1704 |
+
"}\n",
|
| 1705 |
+
"\n",
|
| 1706 |
+
"div.sk-parallel-item,\n",
|
| 1707 |
+
"div.sk-serial,\n",
|
| 1708 |
+
"div.sk-item {\n",
|
| 1709 |
+
" /* draw centered vertical line to link estimators */\n",
|
| 1710 |
+
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
|
| 1711 |
+
" background-size: 2px 100%;\n",
|
| 1712 |
+
" background-repeat: no-repeat;\n",
|
| 1713 |
+
" background-position: center center;\n",
|
| 1714 |
+
"}\n",
|
| 1715 |
+
"\n",
|
| 1716 |
+
"/* Parallel-specific style estimator block */\n",
|
| 1717 |
+
"\n",
|
| 1718 |
+
"#sk-container-id-2 div.sk-parallel-item::after {\n",
|
| 1719 |
+
" content: \"\";\n",
|
| 1720 |
+
" width: 100%;\n",
|
| 1721 |
+
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
|
| 1722 |
+
" flex-grow: 1;\n",
|
| 1723 |
+
"}\n",
|
| 1724 |
+
"\n",
|
| 1725 |
+
"#sk-container-id-2 div.sk-parallel {\n",
|
| 1726 |
+
" display: flex;\n",
|
| 1727 |
+
" align-items: stretch;\n",
|
| 1728 |
+
" justify-content: center;\n",
|
| 1729 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1730 |
+
" position: relative;\n",
|
| 1731 |
+
"}\n",
|
| 1732 |
+
"\n",
|
| 1733 |
+
"#sk-container-id-2 div.sk-parallel-item {\n",
|
| 1734 |
+
" display: flex;\n",
|
| 1735 |
+
" flex-direction: column;\n",
|
| 1736 |
+
"}\n",
|
| 1737 |
+
"\n",
|
| 1738 |
+
"#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
|
| 1739 |
+
" align-self: flex-end;\n",
|
| 1740 |
+
" width: 50%;\n",
|
| 1741 |
+
"}\n",
|
| 1742 |
+
"\n",
|
| 1743 |
+
"#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
|
| 1744 |
+
" align-self: flex-start;\n",
|
| 1745 |
+
" width: 50%;\n",
|
| 1746 |
+
"}\n",
|
| 1747 |
+
"\n",
|
| 1748 |
+
"#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
|
| 1749 |
+
" width: 0;\n",
|
| 1750 |
+
"}\n",
|
| 1751 |
+
"\n",
|
| 1752 |
+
"/* Serial-specific style estimator block */\n",
|
| 1753 |
+
"\n",
|
| 1754 |
+
"#sk-container-id-2 div.sk-serial {\n",
|
| 1755 |
+
" display: flex;\n",
|
| 1756 |
+
" flex-direction: column;\n",
|
| 1757 |
+
" align-items: center;\n",
|
| 1758 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1759 |
+
" padding-right: 1em;\n",
|
| 1760 |
+
" padding-left: 1em;\n",
|
| 1761 |
+
"}\n",
|
| 1762 |
+
"\n",
|
| 1763 |
+
"\n",
|
| 1764 |
+
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
|
| 1765 |
+
"clickable and can be expanded/collapsed.\n",
|
| 1766 |
+
"- Pipeline and ColumnTransformer use this feature and define the default style\n",
|
| 1767 |
+
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
|
| 1768 |
+
"*/\n",
|
| 1769 |
+
"\n",
|
| 1770 |
+
"/* Pipeline and ColumnTransformer style (default) */\n",
|
| 1771 |
+
"\n",
|
| 1772 |
+
"#sk-container-id-2 div.sk-toggleable {\n",
|
| 1773 |
+
" /* Default theme specific background. It is overwritten whether we have a\n",
|
| 1774 |
+
" specific estimator or a Pipeline/ColumnTransformer */\n",
|
| 1775 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1776 |
+
"}\n",
|
| 1777 |
+
"\n",
|
| 1778 |
+
"/* Toggleable label */\n",
|
| 1779 |
+
"#sk-container-id-2 label.sk-toggleable__label {\n",
|
| 1780 |
+
" cursor: pointer;\n",
|
| 1781 |
+
" display: flex;\n",
|
| 1782 |
+
" width: 100%;\n",
|
| 1783 |
+
" margin-bottom: 0;\n",
|
| 1784 |
+
" padding: 0.5em;\n",
|
| 1785 |
+
" box-sizing: border-box;\n",
|
| 1786 |
+
" text-align: center;\n",
|
| 1787 |
+
" align-items: start;\n",
|
| 1788 |
+
" justify-content: space-between;\n",
|
| 1789 |
+
" gap: 0.5em;\n",
|
| 1790 |
+
"}\n",
|
| 1791 |
+
"\n",
|
| 1792 |
+
"#sk-container-id-2 label.sk-toggleable__label .caption {\n",
|
| 1793 |
+
" font-size: 0.6rem;\n",
|
| 1794 |
+
" font-weight: lighter;\n",
|
| 1795 |
+
" color: var(--sklearn-color-text-muted);\n",
|
| 1796 |
+
"}\n",
|
| 1797 |
+
"\n",
|
| 1798 |
+
"#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n",
|
| 1799 |
+
" /* Arrow on the left of the label */\n",
|
| 1800 |
+
" content: \"▸\";\n",
|
| 1801 |
+
" float: left;\n",
|
| 1802 |
+
" margin-right: 0.25em;\n",
|
| 1803 |
+
" color: var(--sklearn-color-icon);\n",
|
| 1804 |
+
"}\n",
|
| 1805 |
+
"\n",
|
| 1806 |
+
"#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n",
|
| 1807 |
+
" color: var(--sklearn-color-text);\n",
|
| 1808 |
+
"}\n",
|
| 1809 |
+
"\n",
|
| 1810 |
+
"/* Toggleable content - dropdown */\n",
|
| 1811 |
+
"\n",
|
| 1812 |
+
"#sk-container-id-2 div.sk-toggleable__content {\n",
|
| 1813 |
+
" max-height: 0;\n",
|
| 1814 |
+
" max-width: 0;\n",
|
| 1815 |
+
" overflow: hidden;\n",
|
| 1816 |
+
" text-align: left;\n",
|
| 1817 |
+
" /* unfitted */\n",
|
| 1818 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1819 |
+
"}\n",
|
| 1820 |
+
"\n",
|
| 1821 |
+
"#sk-container-id-2 div.sk-toggleable__content.fitted {\n",
|
| 1822 |
+
" /* fitted */\n",
|
| 1823 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1824 |
+
"}\n",
|
| 1825 |
+
"\n",
|
| 1826 |
+
"#sk-container-id-2 div.sk-toggleable__content pre {\n",
|
| 1827 |
+
" margin: 0.2em;\n",
|
| 1828 |
+
" border-radius: 0.25em;\n",
|
| 1829 |
+
" color: var(--sklearn-color-text);\n",
|
| 1830 |
+
" /* unfitted */\n",
|
| 1831 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1832 |
+
"}\n",
|
| 1833 |
+
"\n",
|
| 1834 |
+
"#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n",
|
| 1835 |
+
" /* unfitted */\n",
|
| 1836 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1837 |
+
"}\n",
|
| 1838 |
+
"\n",
|
| 1839 |
+
"#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
|
| 1840 |
+
" /* Expand drop-down */\n",
|
| 1841 |
+
" max-height: 200px;\n",
|
| 1842 |
+
" max-width: 100%;\n",
|
| 1843 |
+
" overflow: auto;\n",
|
| 1844 |
+
"}\n",
|
| 1845 |
+
"\n",
|
| 1846 |
+
"#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
|
| 1847 |
+
" content: \"▾\";\n",
|
| 1848 |
+
"}\n",
|
| 1849 |
+
"\n",
|
| 1850 |
+
"/* Pipeline/ColumnTransformer-specific style */\n",
|
| 1851 |
+
"\n",
|
| 1852 |
+
"#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1853 |
+
" color: var(--sklearn-color-text);\n",
|
| 1854 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1855 |
+
"}\n",
|
| 1856 |
+
"\n",
|
| 1857 |
+
"#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1858 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1859 |
+
"}\n",
|
| 1860 |
+
"\n",
|
| 1861 |
+
"/* Estimator-specific style */\n",
|
| 1862 |
+
"\n",
|
| 1863 |
+
"/* Colorize estimator box */\n",
|
| 1864 |
+
"#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1865 |
+
" /* unfitted */\n",
|
| 1866 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1867 |
+
"}\n",
|
| 1868 |
+
"\n",
|
| 1869 |
+
"#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
| 1870 |
+
" /* fitted */\n",
|
| 1871 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1872 |
+
"}\n",
|
| 1873 |
+
"\n",
|
| 1874 |
+
"#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n",
|
| 1875 |
+
"#sk-container-id-2 div.sk-label label {\n",
|
| 1876 |
+
" /* The background is the default theme color */\n",
|
| 1877 |
+
" color: var(--sklearn-color-text-on-default-background);\n",
|
| 1878 |
+
"}\n",
|
| 1879 |
+
"\n",
|
| 1880 |
+
"/* On hover, darken the color of the background */\n",
|
| 1881 |
+
"#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n",
|
| 1882 |
+
" color: var(--sklearn-color-text);\n",
|
| 1883 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1884 |
+
"}\n",
|
| 1885 |
+
"\n",
|
| 1886 |
+
"/* Label box, darken color on hover, fitted */\n",
|
| 1887 |
+
"#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
|
| 1888 |
+
" color: var(--sklearn-color-text);\n",
|
| 1889 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1890 |
+
"}\n",
|
| 1891 |
+
"\n",
|
| 1892 |
+
"/* Estimator label */\n",
|
| 1893 |
+
"\n",
|
| 1894 |
+
"#sk-container-id-2 div.sk-label label {\n",
|
| 1895 |
+
" font-family: monospace;\n",
|
| 1896 |
+
" font-weight: bold;\n",
|
| 1897 |
+
" display: inline-block;\n",
|
| 1898 |
+
" line-height: 1.2em;\n",
|
| 1899 |
+
"}\n",
|
| 1900 |
+
"\n",
|
| 1901 |
+
"#sk-container-id-2 div.sk-label-container {\n",
|
| 1902 |
+
" text-align: center;\n",
|
| 1903 |
+
"}\n",
|
| 1904 |
+
"\n",
|
| 1905 |
+
"/* Estimator-specific */\n",
|
| 1906 |
+
"#sk-container-id-2 div.sk-estimator {\n",
|
| 1907 |
+
" font-family: monospace;\n",
|
| 1908 |
+
" border: 1px dotted var(--sklearn-color-border-box);\n",
|
| 1909 |
+
" border-radius: 0.25em;\n",
|
| 1910 |
+
" box-sizing: border-box;\n",
|
| 1911 |
+
" margin-bottom: 0.5em;\n",
|
| 1912 |
+
" /* unfitted */\n",
|
| 1913 |
+
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
| 1914 |
+
"}\n",
|
| 1915 |
+
"\n",
|
| 1916 |
+
"#sk-container-id-2 div.sk-estimator.fitted {\n",
|
| 1917 |
+
" /* fitted */\n",
|
| 1918 |
+
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
| 1919 |
+
"}\n",
|
| 1920 |
+
"\n",
|
| 1921 |
+
"/* on hover */\n",
|
| 1922 |
+
"#sk-container-id-2 div.sk-estimator:hover {\n",
|
| 1923 |
+
" /* unfitted */\n",
|
| 1924 |
+
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
| 1925 |
+
"}\n",
|
| 1926 |
+
"\n",
|
| 1927 |
+
"#sk-container-id-2 div.sk-estimator.fitted:hover {\n",
|
| 1928 |
+
" /* fitted */\n",
|
| 1929 |
+
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
| 1930 |
+
"}\n",
|
| 1931 |
+
"\n",
|
| 1932 |
+
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
|
| 1933 |
+
"\n",
|
| 1934 |
+
"/* Common style for \"i\" and \"?\" */\n",
|
| 1935 |
+
"\n",
|
| 1936 |
+
".sk-estimator-doc-link,\n",
|
| 1937 |
+
"a:link.sk-estimator-doc-link,\n",
|
| 1938 |
+
"a:visited.sk-estimator-doc-link {\n",
|
| 1939 |
+
" float: right;\n",
|
| 1940 |
+
" font-size: smaller;\n",
|
| 1941 |
+
" line-height: 1em;\n",
|
| 1942 |
+
" font-family: monospace;\n",
|
| 1943 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 1944 |
+
" border-radius: 1em;\n",
|
| 1945 |
+
" height: 1em;\n",
|
| 1946 |
+
" width: 1em;\n",
|
| 1947 |
+
" text-decoration: none !important;\n",
|
| 1948 |
+
" margin-left: 0.5em;\n",
|
| 1949 |
+
" text-align: center;\n",
|
| 1950 |
+
" /* unfitted */\n",
|
| 1951 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 1952 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 1953 |
+
"}\n",
|
| 1954 |
+
"\n",
|
| 1955 |
+
".sk-estimator-doc-link.fitted,\n",
|
| 1956 |
+
"a:link.sk-estimator-doc-link.fitted,\n",
|
| 1957 |
+
"a:visited.sk-estimator-doc-link.fitted {\n",
|
| 1958 |
+
" /* fitted */\n",
|
| 1959 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 1960 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 1961 |
+
"}\n",
|
| 1962 |
+
"\n",
|
| 1963 |
+
"/* On hover */\n",
|
| 1964 |
+
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
|
| 1965 |
+
".sk-estimator-doc-link:hover,\n",
|
| 1966 |
+
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
|
| 1967 |
+
".sk-estimator-doc-link:hover {\n",
|
| 1968 |
+
" /* unfitted */\n",
|
| 1969 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 1970 |
+
" color: var(--sklearn-color-background);\n",
|
| 1971 |
+
" text-decoration: none;\n",
|
| 1972 |
+
"}\n",
|
| 1973 |
+
"\n",
|
| 1974 |
+
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1975 |
+
".sk-estimator-doc-link.fitted:hover,\n",
|
| 1976 |
+
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
|
| 1977 |
+
".sk-estimator-doc-link.fitted:hover {\n",
|
| 1978 |
+
" /* fitted */\n",
|
| 1979 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 1980 |
+
" color: var(--sklearn-color-background);\n",
|
| 1981 |
+
" text-decoration: none;\n",
|
| 1982 |
+
"}\n",
|
| 1983 |
+
"\n",
|
| 1984 |
+
"/* Span, style for the box shown on hovering the info icon */\n",
|
| 1985 |
+
".sk-estimator-doc-link span {\n",
|
| 1986 |
+
" display: none;\n",
|
| 1987 |
+
" z-index: 9999;\n",
|
| 1988 |
+
" position: relative;\n",
|
| 1989 |
+
" font-weight: normal;\n",
|
| 1990 |
+
" right: .2ex;\n",
|
| 1991 |
+
" padding: .5ex;\n",
|
| 1992 |
+
" margin: .5ex;\n",
|
| 1993 |
+
" width: min-content;\n",
|
| 1994 |
+
" min-width: 20ex;\n",
|
| 1995 |
+
" max-width: 50ex;\n",
|
| 1996 |
+
" color: var(--sklearn-color-text);\n",
|
| 1997 |
+
" box-shadow: 2pt 2pt 4pt #999;\n",
|
| 1998 |
+
" /* unfitted */\n",
|
| 1999 |
+
" background: var(--sklearn-color-unfitted-level-0);\n",
|
| 2000 |
+
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
|
| 2001 |
+
"}\n",
|
| 2002 |
+
"\n",
|
| 2003 |
+
".sk-estimator-doc-link.fitted span {\n",
|
| 2004 |
+
" /* fitted */\n",
|
| 2005 |
+
" background: var(--sklearn-color-fitted-level-0);\n",
|
| 2006 |
+
" border: var(--sklearn-color-fitted-level-3);\n",
|
| 2007 |
+
"}\n",
|
| 2008 |
+
"\n",
|
| 2009 |
+
".sk-estimator-doc-link:hover span {\n",
|
| 2010 |
+
" display: block;\n",
|
| 2011 |
+
"}\n",
|
| 2012 |
+
"\n",
|
| 2013 |
+
"/* \"?\"-specific style due to the `<a>` HTML tag */\n",
|
| 2014 |
+
"\n",
|
| 2015 |
+
"#sk-container-id-2 a.estimator_doc_link {\n",
|
| 2016 |
+
" float: right;\n",
|
| 2017 |
+
" font-size: 1rem;\n",
|
| 2018 |
+
" line-height: 1em;\n",
|
| 2019 |
+
" font-family: monospace;\n",
|
| 2020 |
+
" background-color: var(--sklearn-color-background);\n",
|
| 2021 |
+
" border-radius: 1rem;\n",
|
| 2022 |
+
" height: 1rem;\n",
|
| 2023 |
+
" width: 1rem;\n",
|
| 2024 |
+
" text-decoration: none;\n",
|
| 2025 |
+
" /* unfitted */\n",
|
| 2026 |
+
" color: var(--sklearn-color-unfitted-level-1);\n",
|
| 2027 |
+
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
| 2028 |
+
"}\n",
|
| 2029 |
+
"\n",
|
| 2030 |
+
"#sk-container-id-2 a.estimator_doc_link.fitted {\n",
|
| 2031 |
+
" /* fitted */\n",
|
| 2032 |
+
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
| 2033 |
+
" color: var(--sklearn-color-fitted-level-1);\n",
|
| 2034 |
+
"}\n",
|
| 2035 |
+
"\n",
|
| 2036 |
+
"/* On hover */\n",
|
| 2037 |
+
"#sk-container-id-2 a.estimator_doc_link:hover {\n",
|
| 2038 |
+
" /* unfitted */\n",
|
| 2039 |
+
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
| 2040 |
+
" color: var(--sklearn-color-background);\n",
|
| 2041 |
+
" text-decoration: none;\n",
|
| 2042 |
+
"}\n",
|
| 2043 |
+
"\n",
|
| 2044 |
+
"#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n",
|
| 2045 |
+
" /* fitted */\n",
|
| 2046 |
+
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
| 2047 |
+
"}\n",
|
| 2048 |
+
"</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>SVC(kernel='linear')</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>SVC</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.svm.SVC.html\">?<span>Documentation for SVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>SVC(kernel='linear')</pre></div> </div></div></div></div>"
|
| 2049 |
+
],
|
| 2050 |
+
"text/plain": [
|
| 2051 |
+
"SVC(kernel='linear')"
|
| 2052 |
+
]
|
| 2053 |
+
},
|
| 2054 |
+
"execution_count": 22,
|
| 2055 |
+
"metadata": {},
|
| 2056 |
+
"output_type": "execute_result"
|
| 2057 |
+
}
|
| 2058 |
+
],
|
| 2059 |
+
"source": [
|
| 2060 |
+
"# training the SVM model with training data\n",
|
| 2061 |
+
"model.fit(X_train, Y_train)"
|
| 2062 |
+
]
|
| 2063 |
+
},
|
| 2064 |
+
{
|
| 2065 |
+
"cell_type": "code",
|
| 2066 |
+
"execution_count": 23,
|
| 2067 |
+
"metadata": {
|
| 2068 |
+
"id": "FYBymKgnDfTj"
|
| 2069 |
+
},
|
| 2070 |
+
"outputs": [],
|
| 2071 |
+
"source": [
|
| 2072 |
+
"# accuracy score on training data\n",
|
| 2073 |
+
"X_train_prediction = model.predict(X_train)\n",
|
| 2074 |
+
"training_data_accuracy = accuracy_score(Y_train, X_train_prediction)"
|
| 2075 |
+
]
|
| 2076 |
+
},
|
| 2077 |
+
{
|
| 2078 |
+
"cell_type": "code",
|
| 2079 |
+
"execution_count": 24,
|
| 2080 |
+
"metadata": {
|
| 2081 |
+
"colab": {
|
| 2082 |
+
"base_uri": "https://localhost:8080/"
|
| 2083 |
+
},
|
| 2084 |
+
"id": "WK7YFb4GDie_",
|
| 2085 |
+
"outputId": "43982832-4571-46ca-9f65-7b7c42f22b11"
|
| 2086 |
+
},
|
| 2087 |
+
"outputs": [
|
| 2088 |
+
{
|
| 2089 |
+
"name": "stdout",
|
| 2090 |
+
"output_type": "stream",
|
| 2091 |
+
"text": [
|
| 2092 |
+
"Accuracy score of training data : 0.8846153846153846\n"
|
| 2093 |
+
]
|
| 2094 |
+
}
|
| 2095 |
+
],
|
| 2096 |
+
"source": [
|
| 2097 |
+
"print('Accuracy score of training data : ', training_data_accuracy)"
|
| 2098 |
+
]
|
| 2099 |
+
},
|
| 2100 |
+
{
|
| 2101 |
+
"cell_type": "code",
|
| 2102 |
+
"execution_count": 25,
|
| 2103 |
+
"metadata": {
|
| 2104 |
+
"id": "uXgqWEeLDklu"
|
| 2105 |
+
},
|
| 2106 |
+
"outputs": [],
|
| 2107 |
+
"source": [
|
| 2108 |
+
"# accuracy score on training data\n",
|
| 2109 |
+
"X_test_prediction = model.predict(X_test)\n",
|
| 2110 |
+
"test_data_accuracy = accuracy_score(Y_test, X_test_prediction)"
|
| 2111 |
+
]
|
| 2112 |
+
},
|
| 2113 |
+
{
|
| 2114 |
+
"cell_type": "code",
|
| 2115 |
+
"execution_count": 26,
|
| 2116 |
+
"metadata": {
|
| 2117 |
+
"colab": {
|
| 2118 |
+
"base_uri": "https://localhost:8080/"
|
| 2119 |
+
},
|
| 2120 |
+
"id": "qwFl99cmDnlP",
|
| 2121 |
+
"outputId": "f78b264f-4c81-401b-acfa-39b138cee335"
|
| 2122 |
+
},
|
| 2123 |
+
"outputs": [
|
| 2124 |
+
{
|
| 2125 |
+
"name": "stdout",
|
| 2126 |
+
"output_type": "stream",
|
| 2127 |
+
"text": [
|
| 2128 |
+
"Accuracy score of test data : 0.8717948717948718\n"
|
| 2129 |
+
]
|
| 2130 |
+
}
|
| 2131 |
+
],
|
| 2132 |
+
"source": [
|
| 2133 |
+
"print('Accuracy score of test data : ', test_data_accuracy)"
|
| 2134 |
+
]
|
| 2135 |
+
},
|
| 2136 |
+
{
|
| 2137 |
+
"cell_type": "code",
|
| 2138 |
+
"execution_count": 27,
|
| 2139 |
+
"metadata": {
|
| 2140 |
+
"colab": {
|
| 2141 |
+
"base_uri": "https://localhost:8080/"
|
| 2142 |
+
},
|
| 2143 |
+
"id": "ViU7t481DyRC",
|
| 2144 |
+
"outputId": "62abc1e1-f13b-4e1c-cbe3-17712313d5fb"
|
| 2145 |
+
},
|
| 2146 |
+
"outputs": [
|
| 2147 |
+
{
|
| 2148 |
+
"name": "stdout",
|
| 2149 |
+
"output_type": "stream",
|
| 2150 |
+
"text": [
|
| 2151 |
+
"[0]\n",
|
| 2152 |
+
"The Person does not have Parkinsons Disease\n"
|
| 2153 |
+
]
|
| 2154 |
+
},
|
| 2155 |
+
{
|
| 2156 |
+
"name": "stderr",
|
| 2157 |
+
"output_type": "stream",
|
| 2158 |
+
"text": [
|
| 2159 |
+
"c:\\Users\\HP\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\sklearn\\utils\\validation.py:2739: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n",
|
| 2160 |
+
" warnings.warn(\n"
|
| 2161 |
+
]
|
| 2162 |
+
}
|
| 2163 |
+
],
|
| 2164 |
+
"source": [
|
| 2165 |
+
"input_data = (197.07600,206.89600,192.05500,0.00289,0.00001,0.00166,0.00168,0.00498,0.01098,0.09700,0.00563,0.00680,0.00802,0.01689,0.00339,26.77500,0.422229,0.741367,-7.348300,0.177551,1.743867,0.085569)\n",
|
| 2166 |
+
"\n",
|
| 2167 |
+
"# changing input data to a numpy array\n",
|
| 2168 |
+
"input_data_as_numpy_array = np.asarray(input_data)\n",
|
| 2169 |
+
"\n",
|
| 2170 |
+
"# reshape the numpy array\n",
|
| 2171 |
+
"input_data_reshaped = input_data_as_numpy_array.reshape(1,-1)\n",
|
| 2172 |
+
"\n",
|
| 2173 |
+
"# standardize the data\n",
|
| 2174 |
+
"std_data = scaler.transform(input_data_reshaped)\n",
|
| 2175 |
+
"\n",
|
| 2176 |
+
"prediction = model.predict(std_data)\n",
|
| 2177 |
+
"print(prediction)\n",
|
| 2178 |
+
"\n",
|
| 2179 |
+
"\n",
|
| 2180 |
+
"if (prediction[0] == 0):\n",
|
| 2181 |
+
" print(\"The Person does not have Parkinsons Disease\")\n",
|
| 2182 |
+
"\n",
|
| 2183 |
+
"else:\n",
|
| 2184 |
+
" print(\"The Person has Parkinsons\")"
|
| 2185 |
+
]
|
| 2186 |
+
}
|
| 2187 |
+
],
|
| 2188 |
+
"metadata": {
|
| 2189 |
+
"colab": {
|
| 2190 |
+
"provenance": []
|
| 2191 |
+
},
|
| 2192 |
+
"kernelspec": {
|
| 2193 |
+
"display_name": "Python 3",
|
| 2194 |
+
"name": "python3"
|
| 2195 |
+
},
|
| 2196 |
+
"language_info": {
|
| 2197 |
+
"codemirror_mode": {
|
| 2198 |
+
"name": "ipython",
|
| 2199 |
+
"version": 3
|
| 2200 |
+
},
|
| 2201 |
+
"file_extension": ".py",
|
| 2202 |
+
"mimetype": "text/x-python",
|
| 2203 |
+
"name": "python",
|
| 2204 |
+
"nbconvert_exporter": "python",
|
| 2205 |
+
"pygments_lexer": "ipython3",
|
| 2206 |
+
"version": "3.11.4"
|
| 2207 |
+
}
|
| 2208 |
+
},
|
| 2209 |
+
"nbformat": 4,
|
| 2210 |
+
"nbformat_minor": 0
|
| 2211 |
+
}
|
Project_19_Breast_Cancer_Classification_using_Machine_Learning.ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
app/streamlit_app.py
ADDED
|
@@ -0,0 +1,1307 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import streamlit as st
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import numpy as np
|
| 4 |
+
from pathlib import Path
|
| 5 |
+
import sys
|
| 6 |
+
import os
|
| 7 |
+
import time
|
| 8 |
+
from datetime import datetime
|
| 9 |
+
import plotly.express as px
|
| 10 |
+
|
| 11 |
+
# Add project root to Python path
|
| 12 |
+
project_root = Path(__file__).resolve().parent.parent
|
| 13 |
+
sys.path.append(str(project_root))
|
| 14 |
+
|
| 15 |
+
from src.model import BreastCancerModel
|
| 16 |
+
from src.models.diabetes import DiabetesModel
|
| 17 |
+
from src.models.heart_disease import HeartDiseaseModel
|
| 18 |
+
from src.models.parkinsons import ParkinsonsModel
|
| 19 |
+
from src.config import (
|
| 20 |
+
BREAST_CANCER_MODEL_PATH,
|
| 21 |
+
DIABETES_MODEL_PATH,
|
| 22 |
+
HEART_DISEASE_MODEL_PATH,
|
| 23 |
+
PARKINSONS_MODEL_PATH
|
| 24 |
+
)
|
| 25 |
+
|
| 26 |
+
# Set page config
|
| 27 |
+
st.set_page_config(
|
| 28 |
+
page_title="Medical Prediction System",
|
| 29 |
+
page_icon="🏥",
|
| 30 |
+
layout="wide",
|
| 31 |
+
initial_sidebar_state="expanded"
|
| 32 |
+
)
|
| 33 |
+
|
| 34 |
+
# Add this updated CSS at the beginning of the file
|
| 35 |
+
st.markdown("""
|
| 36 |
+
<style>
|
| 37 |
+
/* Original styling */
|
| 38 |
+
.success-message {
|
| 39 |
+
background-color: #28a745;
|
| 40 |
+
color: white;
|
| 41 |
+
padding: 10px;
|
| 42 |
+
border-radius: 5px;
|
| 43 |
+
margin: 10px 0;
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
.success-icon {
|
| 47 |
+
font-size: 20px;
|
| 48 |
+
margin-right: 10px;
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
.features-grid {
|
| 52 |
+
display: grid;
|
| 53 |
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
| 54 |
+
gap: 1rem;
|
| 55 |
+
margin: 2rem 0;
|
| 56 |
+
}
|
| 57 |
+
|
| 58 |
+
.feature-card {
|
| 59 |
+
background: white;
|
| 60 |
+
padding: 1.5rem;
|
| 61 |
+
border-radius: 10px;
|
| 62 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 63 |
+
text-align: center;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
.feature-icon {
|
| 67 |
+
font-size: 2rem;
|
| 68 |
+
margin-bottom: 1rem;
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
.card {
|
| 72 |
+
background: white;
|
| 73 |
+
padding: 1rem;
|
| 74 |
+
border-radius: 10px;
|
| 75 |
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
| 76 |
+
margin-bottom: 1rem;
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
.tool-section {
|
| 80 |
+
margin: 2rem 0;
|
| 81 |
+
}
|
| 82 |
+
</style>
|
| 83 |
+
""", unsafe_allow_html=True)
|
| 84 |
+
|
| 85 |
+
def check_model_exists(model_path):
|
| 86 |
+
"""Check if a model file exists"""
|
| 87 |
+
return os.path.exists(model_path)
|
| 88 |
+
|
| 89 |
+
def load_animation():
|
| 90 |
+
"""Show a loading animation"""
|
| 91 |
+
with st.spinner('Loading...'):
|
| 92 |
+
time.sleep(0.5)
|
| 93 |
+
|
| 94 |
+
def show_success_animation():
|
| 95 |
+
"""Show success animation"""
|
| 96 |
+
placeholder = st.empty()
|
| 97 |
+
for i in range(5):
|
| 98 |
+
placeholder.markdown(f"{'🎯' * (i+1)}")
|
| 99 |
+
time.sleep(0.1)
|
| 100 |
+
placeholder.empty()
|
| 101 |
+
|
| 102 |
+
def add_home_button():
|
| 103 |
+
"""Add a Back to Home button"""
|
| 104 |
+
if st.button("🏠 Back to Home"):
|
| 105 |
+
st.session_state.page = "Home"
|
| 106 |
+
|
| 107 |
+
def show_loading_page():
|
| 108 |
+
"""Show an animated loading screen"""
|
| 109 |
+
placeholder = st.empty()
|
| 110 |
+
with placeholder.container():
|
| 111 |
+
st.markdown("""
|
| 112 |
+
<div class="loading-container">
|
| 113 |
+
<h1>🏥 Medical AI Assistant</h1>
|
| 114 |
+
<div class="loading-spinner"></div>
|
| 115 |
+
<p>Loading advanced diagnostic tools...</p>
|
| 116 |
+
</div>
|
| 117 |
+
""", unsafe_allow_html=True)
|
| 118 |
+
time.sleep(1)
|
| 119 |
+
placeholder.empty()
|
| 120 |
+
|
| 121 |
+
def show_success_message(message):
|
| 122 |
+
"""Show animated success message"""
|
| 123 |
+
st.markdown(f"""
|
| 124 |
+
<div class="success-message">
|
| 125 |
+
<span class="success-icon">✓</span>
|
| 126 |
+
{message}
|
| 127 |
+
</div>
|
| 128 |
+
""", unsafe_allow_html=True)
|
| 129 |
+
|
| 130 |
+
def show_feature_cards():
|
| 131 |
+
"""Show animated feature cards"""
|
| 132 |
+
st.markdown("""
|
| 133 |
+
<div class="features-grid">
|
| 134 |
+
<div class="feature-card">
|
| 135 |
+
<span class="feature-icon">🎯</span>
|
| 136 |
+
<h3>High Accuracy</h3>
|
| 137 |
+
<p>Advanced ML algorithms with 96.5% accuracy</p>
|
| 138 |
+
</div>
|
| 139 |
+
<div class="feature-card">
|
| 140 |
+
<span class="feature-icon">⚡</span>
|
| 141 |
+
<h3>Real-time Analysis</h3>
|
| 142 |
+
<p>Get instant predictions and risk assessments</p>
|
| 143 |
+
</div>
|
| 144 |
+
<div class="feature-card">
|
| 145 |
+
<span class="feature-icon">🔒</span>
|
| 146 |
+
<h3>Secure Analysis</h3>
|
| 147 |
+
<p>Your data is processed securely and privately</p>
|
| 148 |
+
</div>
|
| 149 |
+
</div>
|
| 150 |
+
""", unsafe_allow_html=True)
|
| 151 |
+
|
| 152 |
+
def home_page():
|
| 153 |
+
show_loading_page()
|
| 154 |
+
|
| 155 |
+
# Hero section with gradient background
|
| 156 |
+
st.markdown("""
|
| 157 |
+
<div style="
|
| 158 |
+
padding: 2rem;
|
| 159 |
+
border-radius: 15px;
|
| 160 |
+
background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
|
| 161 |
+
color: white;
|
| 162 |
+
margin-bottom: 2rem;
|
| 163 |
+
text-align: center;
|
| 164 |
+
animation: fadeIn 1s ease-out;
|
| 165 |
+
">
|
| 166 |
+
<h1 style="font-size: 3rem; margin-bottom: 1rem;">🏥 Medical AI Assistant</h1>
|
| 167 |
+
<p style="font-size: 1.2rem; opacity: 0.9;">
|
| 168 |
+
Advanced AI-powered diagnostics for healthcare professionals
|
| 169 |
+
</p>
|
| 170 |
+
</div>
|
| 171 |
+
""", unsafe_allow_html=True)
|
| 172 |
+
|
| 173 |
+
# Quick stats cards
|
| 174 |
+
st.markdown("""
|
| 175 |
+
<div style="
|
| 176 |
+
display: grid;
|
| 177 |
+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
| 178 |
+
gap: 1rem;
|
| 179 |
+
margin-bottom: 2rem;
|
| 180 |
+
">
|
| 181 |
+
<div style="
|
| 182 |
+
background: white;
|
| 183 |
+
padding: 1.5rem;
|
| 184 |
+
border-radius: 10px;
|
| 185 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 186 |
+
text-align: center;
|
| 187 |
+
border-top: 4px solid #2ecc71;
|
| 188 |
+
">
|
| 189 |
+
<h3 style="color: #2ecc71; margin: 0;">96.5%</h3>
|
| 190 |
+
<p style="color: #666; margin: 0;">Accuracy Rate</p>
|
| 191 |
+
</div>
|
| 192 |
+
<div style="
|
| 193 |
+
background: white;
|
| 194 |
+
padding: 1.5rem;
|
| 195 |
+
border-radius: 10px;
|
| 196 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 197 |
+
text-align: center;
|
| 198 |
+
border-top: 4px solid #3498db;
|
| 199 |
+
">
|
| 200 |
+
<h3 style="color: #3498db; margin: 0;">5,200+</h3>
|
| 201 |
+
<p style="color: #666; margin: 0;">Assessments</p>
|
| 202 |
+
</div>
|
| 203 |
+
<div style="
|
| 204 |
+
background: white;
|
| 205 |
+
padding: 1.5rem;
|
| 206 |
+
border-radius: 10px;
|
| 207 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 208 |
+
text-align: center;
|
| 209 |
+
border-top: 4px solid #e74c3c;
|
| 210 |
+
">
|
| 211 |
+
<h3 style="color: #e74c3c; margin: 0;">0.5s</h3>
|
| 212 |
+
<p style="color: #666; margin: 0;">Response Time</p>
|
| 213 |
+
</div>
|
| 214 |
+
<div style="
|
| 215 |
+
background: white;
|
| 216 |
+
padding: 1.5rem;
|
| 217 |
+
border-radius: 10px;
|
| 218 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 219 |
+
text-align: center;
|
| 220 |
+
border-top: 4px solid #9b59b6;
|
| 221 |
+
">
|
| 222 |
+
<h3 style="color: #9b59b6; margin: 0;">1,200+</h3>
|
| 223 |
+
<p style="color: #666; margin: 0;">Active Users</p>
|
| 224 |
+
</div>
|
| 225 |
+
</div>
|
| 226 |
+
""", unsafe_allow_html=True)
|
| 227 |
+
|
| 228 |
+
# Available tools section
|
| 229 |
+
st.markdown("""
|
| 230 |
+
<h2 style="
|
| 231 |
+
text-align: center;
|
| 232 |
+
margin: 2rem 0;
|
| 233 |
+
color: #2c3e50;
|
| 234 |
+
">Available Assessment Tools</h2>
|
| 235 |
+
""", unsafe_allow_html=True)
|
| 236 |
+
|
| 237 |
+
col1, col2 = st.columns(2)
|
| 238 |
+
|
| 239 |
+
with col1:
|
| 240 |
+
st.markdown("""
|
| 241 |
+
<div style="
|
| 242 |
+
background: white;
|
| 243 |
+
padding: 2rem;
|
| 244 |
+
border-radius: 15px;
|
| 245 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 246 |
+
margin-bottom: 1rem;
|
| 247 |
+
border-left: 5px solid #e74c3c;
|
| 248 |
+
">
|
| 249 |
+
<h3 style="color: #e74c3c;">🔬 Breast Cancer Assessment</h3>
|
| 250 |
+
<p style="color: #666;">Advanced cellular analysis using machine learning to assess cancer risk with high accuracy.</p>
|
| 251 |
+
</div>
|
| 252 |
+
""", unsafe_allow_html=True)
|
| 253 |
+
if st.button("Start Breast Cancer Assessment", key="breast"):
|
| 254 |
+
st.session_state.page = "Breast Cancer"
|
| 255 |
+
|
| 256 |
+
st.markdown("""
|
| 257 |
+
<div style="
|
| 258 |
+
background: white;
|
| 259 |
+
padding: 2rem;
|
| 260 |
+
border-radius: 15px;
|
| 261 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 262 |
+
margin-bottom: 1rem;
|
| 263 |
+
border-left: 5px solid #3498db;
|
| 264 |
+
">
|
| 265 |
+
<h3 style="color: #3498db;">❤️ Heart Disease Assessment</h3>
|
| 266 |
+
<p style="color: #666;">Comprehensive cardiovascular risk analysis using multiple health indicators.</p>
|
| 267 |
+
</div>
|
| 268 |
+
""", unsafe_allow_html=True)
|
| 269 |
+
if st.button("Start Heart Disease Assessment", key="heart"):
|
| 270 |
+
st.session_state.page = "Heart Disease"
|
| 271 |
+
|
| 272 |
+
with col2:
|
| 273 |
+
st.markdown("""
|
| 274 |
+
<div style="
|
| 275 |
+
background: white;
|
| 276 |
+
padding: 2rem;
|
| 277 |
+
border-radius: 15px;
|
| 278 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 279 |
+
margin-bottom: 1rem;
|
| 280 |
+
border-left: 5px solid #2ecc71;
|
| 281 |
+
">
|
| 282 |
+
<h3 style="color: #2ecc71;">🩺 Diabetes Assessment</h3>
|
| 283 |
+
<p style="color: #666;">Predictive analysis of diabetes risk based on key health metrics and indicators.</p>
|
| 284 |
+
</div>
|
| 285 |
+
""", unsafe_allow_html=True)
|
| 286 |
+
if st.button("Start Diabetes Assessment", key="diabetes"):
|
| 287 |
+
st.session_state.page = "Diabetes"
|
| 288 |
+
|
| 289 |
+
st.markdown("""
|
| 290 |
+
<div style="
|
| 291 |
+
background: white;
|
| 292 |
+
padding: 2rem;
|
| 293 |
+
border-radius: 15px;
|
| 294 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 295 |
+
margin-bottom: 1rem;
|
| 296 |
+
border-left: 5px solid #9b59b6;
|
| 297 |
+
">
|
| 298 |
+
<h3 style="color: #9b59b6;">🧠 Parkinson's Assessment</h3>
|
| 299 |
+
<p style="color: #666;">Advanced voice pattern analysis for early detection of Parkinson's disease.</p>
|
| 300 |
+
</div>
|
| 301 |
+
""", unsafe_allow_html=True)
|
| 302 |
+
if st.button("Start Parkinson's Assessment", key="parkinsons"):
|
| 303 |
+
st.session_state.page = "Parkinson's Disease"
|
| 304 |
+
|
| 305 |
+
# Technical Specifications Section
|
| 306 |
+
st.markdown("""
|
| 307 |
+
<h2 style="text-align: center; color: #2c3e50; margin: 2rem 0;">Technical Specifications</h2>
|
| 308 |
+
<div style="
|
| 309 |
+
background: white;
|
| 310 |
+
padding: 2rem;
|
| 311 |
+
border-radius: 15px;
|
| 312 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 313 |
+
margin: 2rem 0;
|
| 314 |
+
">
|
| 315 |
+
<div style="
|
| 316 |
+
display: grid;
|
| 317 |
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
| 318 |
+
gap: 2rem;
|
| 319 |
+
">
|
| 320 |
+
<div>
|
| 321 |
+
<h3 style="color: #3498db;">🔬 Data Sources</h3>
|
| 322 |
+
<ul style="color: #666; list-style-type: none; padding-left: 0;">
|
| 323 |
+
<li style="margin: 0.5rem 0;">• Breast Cancer Wisconsin Dataset</li>
|
| 324 |
+
<li style="margin: 0.5rem 0;">• Pima Indians Diabetes Database</li>
|
| 325 |
+
<li style="margin: 0.5rem 0;">• Heart Disease UCI Dataset</li>
|
| 326 |
+
<li style="margin: 0.5rem 0;">• Parkinson's Disease Dataset</li>
|
| 327 |
+
</ul>
|
| 328 |
+
</div>
|
| 329 |
+
<div>
|
| 330 |
+
<h3 style="color: #3498db;">⚙️ Technologies Used</h3>
|
| 331 |
+
<ul style="color: #666; list-style-type: none; padding-left: 0;">
|
| 332 |
+
<li style="margin: 0.5rem 0;">• Machine Learning: scikit-learn</li>
|
| 333 |
+
<li style="margin: 0.5rem 0;">• Web Interface: Streamlit</li>
|
| 334 |
+
<li style="margin: 0.5rem 0;">• Data Processing: pandas, numpy</li>
|
| 335 |
+
<li style="margin: 0.5rem 0;">• Version Control: Git</li>
|
| 336 |
+
</ul>
|
| 337 |
+
</div>
|
| 338 |
+
<div>
|
| 339 |
+
<h3 style="color: #3498db;">📊 Model Performance</h3>
|
| 340 |
+
<ul style="color: #666; list-style-type: none; padding-left: 0;">
|
| 341 |
+
<li style="margin: 0.5rem 0;">• Breast Cancer Detection: 96.5%</li>
|
| 342 |
+
<li style="margin: 0.5rem 0;">• Diabetes Prediction: 94.2%</li>
|
| 343 |
+
<li style="margin: 0.5rem 0;">• Heart Disease Assessment: 91.8%</li>
|
| 344 |
+
<li style="margin: 0.5rem 0;">• Parkinson's Detection: 93.5%</li>
|
| 345 |
+
</ul>
|
| 346 |
+
</div>
|
| 347 |
+
</div>
|
| 348 |
+
</div>
|
| 349 |
+
""", unsafe_allow_html=True)
|
| 350 |
+
|
| 351 |
+
# Features Section
|
| 352 |
+
st.markdown("""
|
| 353 |
+
<h2 style="text-align: center; color: #2c3e50; margin: 2rem 0;">Why Choose Our Platform?</h2>
|
| 354 |
+
<div style="
|
| 355 |
+
display: grid;
|
| 356 |
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
| 357 |
+
gap: 1.5rem;
|
| 358 |
+
margin: 2rem 0;
|
| 359 |
+
">
|
| 360 |
+
<div style="
|
| 361 |
+
background: white;
|
| 362 |
+
padding: 2rem;
|
| 363 |
+
border-radius: 15px;
|
| 364 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 365 |
+
text-align: center;
|
| 366 |
+
">
|
| 367 |
+
<div style="font-size: 3rem; margin-bottom: 1rem;">🎯</div>
|
| 368 |
+
<h3 style="color: #2c3e50;">High Accuracy</h3>
|
| 369 |
+
<p style="color: #666;">Advanced ML algorithms with 96.5% accuracy in predictions</p>
|
| 370 |
+
</div>
|
| 371 |
+
<div style="
|
| 372 |
+
background: white;
|
| 373 |
+
padding: 2rem;
|
| 374 |
+
border-radius: 15px;
|
| 375 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 376 |
+
text-align: center;
|
| 377 |
+
">
|
| 378 |
+
<div style="font-size: 3rem; margin-bottom: 1rem;">⚡</div>
|
| 379 |
+
<h3 style="color: #2c3e50;">Real-time Analysis</h3>
|
| 380 |
+
<p style="color: #666;">Get instant predictions and comprehensive risk assessments</p>
|
| 381 |
+
</div>
|
| 382 |
+
<div style="
|
| 383 |
+
background: white;
|
| 384 |
+
padding: 2rem;
|
| 385 |
+
border-radius: 15px;
|
| 386 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 387 |
+
text-align: center;
|
| 388 |
+
">
|
| 389 |
+
<div style="font-size: 3rem; margin-bottom: 1rem;">🔒</div>
|
| 390 |
+
<h3 style="color: #2c3e50;">Secure Analysis</h3>
|
| 391 |
+
<p style="color: #666;">Your data is processed securely and privately</p>
|
| 392 |
+
</div>
|
| 393 |
+
</div>
|
| 394 |
+
""", unsafe_allow_html=True)
|
| 395 |
+
|
| 396 |
+
# Research & Publications Section
|
| 397 |
+
st.markdown("## Research & Publications")
|
| 398 |
+
|
| 399 |
+
# Create three columns for the sections
|
| 400 |
+
col1, col2, col3 = st.columns(3)
|
| 401 |
+
|
| 402 |
+
with col1:
|
| 403 |
+
st.markdown("### 📚 Recent Papers")
|
| 404 |
+
with st.container():
|
| 405 |
+
st.markdown("""
|
| 406 |
+
**Machine Learning in Medical Diagnosis** (2023)
|
| 407 |
+
*Impact on early disease detection and prevention*
|
| 408 |
+
""")
|
| 409 |
+
st.markdown("""
|
| 410 |
+
**AI Applications in Healthcare** (2022)
|
| 411 |
+
*Transforming patient care through technology*
|
| 412 |
+
""")
|
| 413 |
+
st.markdown("""
|
| 414 |
+
**Early Disease Detection Using ML** (2023)
|
| 415 |
+
*Predictive analytics in healthcare*
|
| 416 |
+
""")
|
| 417 |
+
|
| 418 |
+
with col2:
|
| 419 |
+
st.markdown("### 🔍 Methodology")
|
| 420 |
+
with st.container():
|
| 421 |
+
st.info("""
|
| 422 |
+
Our system employs advanced machine learning algorithms trained on extensive medical datasets,
|
| 423 |
+
ensuring reliable and accurate predictions for various medical conditions.
|
| 424 |
+
|
| 425 |
+
All models undergo rigorous testing and validation procedures, with continuous monitoring
|
| 426 |
+
and updates to maintain high accuracy levels.
|
| 427 |
+
""")
|
| 428 |
+
|
| 429 |
+
with col3:
|
| 430 |
+
st.markdown("### 🎯 Future Developments")
|
| 431 |
+
|
| 432 |
+
# Future Development Cards
|
| 433 |
+
with st.container():
|
| 434 |
+
st.success("**Integration**\n\nElectronic health records integration for seamless data flow")
|
| 435 |
+
|
| 436 |
+
st.success("**Visualization**\n\nAdvanced visualization tools for better insight into predictions")
|
| 437 |
+
|
| 438 |
+
st.success("**Mobile Access**\n\nDevelopment of mobile applications for on-the-go access")
|
| 439 |
+
|
| 440 |
+
# Add some spacing
|
| 441 |
+
st.markdown("<br>", unsafe_allow_html=True)
|
| 442 |
+
|
| 443 |
+
# Footer Section
|
| 444 |
+
st.markdown("---") # Add a divider
|
| 445 |
+
|
| 446 |
+
# Header
|
| 447 |
+
st.header("Ready to get started?")
|
| 448 |
+
st.write("Choose any assessment tool above to begin your analysis")
|
| 449 |
+
|
| 450 |
+
# Create three columns for contact, resources, and legal
|
| 451 |
+
contact_col, resources_col, legal_col = st.columns(3)
|
| 452 |
+
|
| 453 |
+
with contact_col:
|
| 454 |
+
st.subheader("Contact")
|
| 455 |
+
st.markdown("""
|
| 456 |
+
📧 **Email:** support@medicalai.com
|
| 457 |
+
📞 **Phone:** +1 (555) 123-4567
|
| 458 |
+
""")
|
| 459 |
+
|
| 460 |
+
with resources_col:
|
| 461 |
+
st.subheader("Resources")
|
| 462 |
+
st.markdown("""
|
| 463 |
+
📚 [Documentation](https://docs.medicalai.com)
|
| 464 |
+
🔧 [API Reference](https://api.medicalai.com)
|
| 465 |
+
""")
|
| 466 |
+
|
| 467 |
+
with legal_col:
|
| 468 |
+
st.subheader("Legal")
|
| 469 |
+
st.markdown("""
|
| 470 |
+
📜 [Privacy Policy](https://privacy.medicalai.com)
|
| 471 |
+
⚖️ [Terms of Service](https://terms.medicalai.com)
|
| 472 |
+
""")
|
| 473 |
+
|
| 474 |
+
# Copyright and version info
|
| 475 |
+
st.markdown("---")
|
| 476 |
+
col1, col2 = st.columns(2)
|
| 477 |
+
with col1:
|
| 478 |
+
st.markdown("© 2024 Medical AI Assistant | Version 1.0.0")
|
| 479 |
+
with col2:
|
| 480 |
+
st.markdown("Developed with ❤️ for healthcare professionals")
|
| 481 |
+
|
| 482 |
+
# Add new sections
|
| 483 |
+
st.markdown("## 📊 Additional Features")
|
| 484 |
+
|
| 485 |
+
# Create tabs for different features
|
| 486 |
+
tab1, tab2, tab3 = st.tabs(["📈 History", "🔍 Analysis", "💡 Recommendations"])
|
| 487 |
+
|
| 488 |
+
with tab1:
|
| 489 |
+
show_patient_history()
|
| 490 |
+
export_report()
|
| 491 |
+
|
| 492 |
+
with tab2:
|
| 493 |
+
show_risk_factors_analysis()
|
| 494 |
+
show_trends_analysis()
|
| 495 |
+
|
| 496 |
+
with tab3:
|
| 497 |
+
show_recommendations()
|
| 498 |
+
compare_assessments()
|
| 499 |
+
|
| 500 |
+
def breast_cancer_prediction():
|
| 501 |
+
add_home_button()
|
| 502 |
+
show_loading_page()
|
| 503 |
+
|
| 504 |
+
st.markdown("""
|
| 505 |
+
<div class="page-header">
|
| 506 |
+
<h1>Breast Cancer Risk Assessment</h1>
|
| 507 |
+
<p class="subtitle">Advanced cellular analysis using machine learning</p>
|
| 508 |
+
</div>
|
| 509 |
+
""", unsafe_allow_html=True)
|
| 510 |
+
|
| 511 |
+
if not check_model_exists(BREAST_CANCER_MODEL_PATH):
|
| 512 |
+
st.error("⚠️ Breast Cancer model not found. Please train the model first.")
|
| 513 |
+
return
|
| 514 |
+
|
| 515 |
+
try:
|
| 516 |
+
model = BreastCancerModel.load_model()
|
| 517 |
+
except Exception as e:
|
| 518 |
+
st.error(f"⚠️ Error loading model: {str(e)}")
|
| 519 |
+
return
|
| 520 |
+
|
| 521 |
+
# Create tabs for input methods
|
| 522 |
+
tab1, tab2 = st.tabs(["📊 Standard Input", "🔬 Detailed Input"])
|
| 523 |
+
|
| 524 |
+
with tab1:
|
| 525 |
+
col1, col2 = st.columns(2)
|
| 526 |
+
|
| 527 |
+
with col1:
|
| 528 |
+
mean_radius = st.slider("Mean Radius", 6.0, 28.0, 14.0, help="Average size of cell nuclei")
|
| 529 |
+
mean_texture = st.slider("Mean Texture", 9.0, 40.0, 14.0, help="Average standard deviation of gray-scale values")
|
| 530 |
+
mean_perimeter = st.slider("Mean Perimeter", 40.0, 190.0, 90.0, help="Average size of the core tumor")
|
| 531 |
+
mean_area = st.slider("Mean Area", 140.0, 2500.0, 550.0, help="Average area of cell nuclei")
|
| 532 |
+
|
| 533 |
+
with col2:
|
| 534 |
+
mean_smoothness = st.slider("Mean Smoothness", 0.05, 0.16, 0.1, help="Average of local variation in radius lengths")
|
| 535 |
+
mean_compactness = st.slider("Mean Compactness", 0.02, 0.35, 0.1, help="Average of perimeter^2 / area - 1.0")
|
| 536 |
+
mean_concavity = st.slider("Mean Concavity", 0.0, 0.5, 0.1, help="Average severity of concave portions of the contour")
|
| 537 |
+
mean_concave_points = st.slider("Mean Concave Points", 0.0, 0.2, 0.1, help="Average number of concave portions of the contour")
|
| 538 |
+
|
| 539 |
+
with tab2:
|
| 540 |
+
st.markdown("### Detailed Measurements")
|
| 541 |
+
col1, col2, col3 = st.columns(3)
|
| 542 |
+
|
| 543 |
+
with col1:
|
| 544 |
+
radius_mean = st.number_input("Radius (mean)", 6.0, 28.0, 14.0, help="Mean of distances from center to points on the perimeter")
|
| 545 |
+
texture_mean = st.number_input("Texture (mean)", 9.0, 40.0, 14.0, help="Standard deviation of gray-scale values")
|
| 546 |
+
perimeter_mean = st.number_input("Perimeter (mean)", 40.0, 190.0, 90.0, help="Mean size of the core tumor")
|
| 547 |
+
area_mean = st.number_input("Area (mean)", 140.0, 2500.0, 550.0, help="Mean area of the tumor")
|
| 548 |
+
smoothness_mean = st.number_input("Smoothness (mean)", 0.05, 0.16, 0.1, help="Mean of local variation in radius lengths")
|
| 549 |
+
compactness_mean = st.number_input("Compactness (mean)", 0.02, 0.35, 0.1, help="Mean of perimeter^2 / area - 1.0")
|
| 550 |
+
concavity_mean = st.number_input("Concavity (mean)", 0.0, 0.5, 0.1, help="Mean of severity of concave portions")
|
| 551 |
+
concave_points_mean = st.number_input("Concave points (mean)", 0.0, 0.2, 0.1, help="Mean number of concave portions")
|
| 552 |
+
symmetry_mean = st.number_input("Symmetry (mean)", 0.1, 0.3, 0.2, help="Mean symmetry of the tumor")
|
| 553 |
+
fractal_dimension_mean = st.number_input("Fractal dimension (mean)", 0.05, 0.1, 0.06, help="Mean fractal dimension")
|
| 554 |
+
|
| 555 |
+
with col2:
|
| 556 |
+
radius_se = st.number_input("Radius (SE)", 0.1, 2.0, 0.4, help="Standard error of distances from center to points")
|
| 557 |
+
texture_se = st.number_input("Texture (SE)", 0.2, 4.0, 1.0, help="Standard error of gray-scale values")
|
| 558 |
+
perimeter_se = st.number_input("Perimeter (SE)", 1.0, 20.0, 5.0, help="Standard error of perimeter")
|
| 559 |
+
area_se = st.number_input("Area (SE)", 6.0, 540.0, 40.0, help="Standard error of area")
|
| 560 |
+
smoothness_se = st.number_input("Smoothness (SE)", 0.001, 0.03, 0.007, help="Standard error of smoothness")
|
| 561 |
+
compactness_se = st.number_input("Compactness (SE)", 0.002, 0.135, 0.025, help="Standard error of compactness")
|
| 562 |
+
concavity_se = st.number_input("Concavity (SE)", 0.0, 0.396, 0.03, help="Standard error of concavity")
|
| 563 |
+
concave_points_se = st.number_input("Concave points (SE)", 0.0, 0.05, 0.01, help="Standard error of concave points")
|
| 564 |
+
symmetry_se = st.number_input("Symmetry (SE)", 0.008, 0.079, 0.02, help="Standard error of symmetry")
|
| 565 |
+
fractal_dimension_se = st.number_input("Fractal dimension (SE)", 0.001, 0.029, 0.003, help="Standard error of fractal dimension")
|
| 566 |
+
|
| 567 |
+
with col3:
|
| 568 |
+
radius_worst = st.number_input("Radius (worst)", 7.0, 36.0, 16.0, help="Worst radius")
|
| 569 |
+
texture_worst = st.number_input("Texture (worst)", 12.0, 50.0, 21.0, help="Worst texture")
|
| 570 |
+
perimeter_worst = st.number_input("Perimeter (worst)", 50.0, 250.0, 107.0, help="Worst perimeter")
|
| 571 |
+
area_worst = st.number_input("Area (worst)", 185.0, 4250.0, 750.0, help="Worst area")
|
| 572 |
+
smoothness_worst = st.number_input("Smoothness (worst)", 0.07, 0.22, 0.13, help="Worst smoothness")
|
| 573 |
+
compactness_worst = st.number_input("Compactness (worst)", 0.03, 1.06, 0.25, help="Worst compactness")
|
| 574 |
+
concavity_worst = st.number_input("Concavity (worst)", 0.0, 1.25, 0.27, help="Worst concavity")
|
| 575 |
+
concave_points_worst = st.number_input("Concave points (worst)", 0.0, 0.29, 0.11, help="Worst concave points")
|
| 576 |
+
symmetry_worst = st.number_input("Symmetry (worst)", 0.15, 0.66, 0.29, help="Worst symmetry")
|
| 577 |
+
fractal_dimension_worst = st.number_input("Fractal dimension (worst)", 0.055, 0.207, 0.083, help="Worst fractal dimension")
|
| 578 |
+
|
| 579 |
+
# Add analyze button outside tabs to work for both
|
| 580 |
+
if st.button("Analyze Risk", help="Click to analyze breast cancer risk"):
|
| 581 |
+
with st.spinner('Analyzing samples...'):
|
| 582 |
+
try:
|
| 583 |
+
# Get input data based on active tab
|
| 584 |
+
if tab1._active:
|
| 585 |
+
input_data = np.array([
|
| 586 |
+
mean_radius, mean_texture, mean_perimeter, mean_area, mean_smoothness,
|
| 587 |
+
mean_compactness, mean_concavity, mean_concave_points, 0.2, 0.06,
|
| 588 |
+
0.4, 0.4, 2.0, 20.0, 0.01, 0.02, 0.02, 0.01, 0.02, 0.003,
|
| 589 |
+
16.0, 16.0, 100.0, 700.0, 0.12, 0.15, 0.15, 0.1, 0.25, 0.08
|
| 590 |
+
]).reshape(1, -1)
|
| 591 |
+
else:
|
| 592 |
+
input_data = np.array([
|
| 593 |
+
radius_mean, texture_mean, perimeter_mean, area_mean, smoothness_mean,
|
| 594 |
+
compactness_mean, concavity_mean, concave_points_mean, symmetry_mean, fractal_dimension_mean,
|
| 595 |
+
radius_se, texture_se, perimeter_se, area_se, smoothness_se,
|
| 596 |
+
compactness_se, concavity_se, concave_points_se, symmetry_se, fractal_dimension_se,
|
| 597 |
+
radius_worst, texture_worst, perimeter_worst, area_worst, smoothness_worst,
|
| 598 |
+
compactness_worst, concavity_worst, concave_points_worst, symmetry_worst, fractal_dimension_worst
|
| 599 |
+
]).reshape(1, -1)
|
| 600 |
+
|
| 601 |
+
prediction, similar_cases, similar_outcomes, distances = model.predict(input_data)
|
| 602 |
+
|
| 603 |
+
# Show prediction results
|
| 604 |
+
if prediction[0] == 0:
|
| 605 |
+
st.error("⚠️ High Risk of Breast Cancer")
|
| 606 |
+
st.warning(
|
| 607 |
+
"The analysis indicates characteristics commonly associated with malignant breast masses."
|
| 608 |
+
)
|
| 609 |
+
|
| 610 |
+
# Show risk factors based on active tab
|
| 611 |
+
st.subheader("Risk Factors Identified")
|
| 612 |
+
if tab1._active:
|
| 613 |
+
if mean_radius > 15:
|
| 614 |
+
st.warning(f"• Mean radius ({mean_radius:.2f}) is elevated")
|
| 615 |
+
if mean_concave_points > 0.05:
|
| 616 |
+
st.warning(f"• Mean concave points ({mean_concave_points:.3f}) are high")
|
| 617 |
+
else:
|
| 618 |
+
if radius_worst > 20:
|
| 619 |
+
st.warning(f"• Worst radius ({radius_worst:.2f}) is significantly elevated")
|
| 620 |
+
if concave_points_worst > 0.15:
|
| 621 |
+
st.warning(f"• Worst concave points ({concave_points_worst:.3f}) are very high")
|
| 622 |
+
else:
|
| 623 |
+
st.success("✅ Low Risk of Breast Cancer")
|
| 624 |
+
st.info(
|
| 625 |
+
"The analysis indicates characteristics commonly associated with benign breast masses."
|
| 626 |
+
)
|
| 627 |
+
|
| 628 |
+
# Show similar cases
|
| 629 |
+
with st.expander("View Similar Cases"):
|
| 630 |
+
st.markdown("### Reference Cases")
|
| 631 |
+
st.markdown("These are similar cases from our database:")
|
| 632 |
+
|
| 633 |
+
similar_df = pd.DataFrame({
|
| 634 |
+
'Mean Radius': similar_cases['mean radius'].round(2),
|
| 635 |
+
'Mean Texture': similar_cases['mean texture'].round(2),
|
| 636 |
+
'Mean Area': similar_cases['mean area'].round(2),
|
| 637 |
+
'Diagnosis': ['Malignant' if o == 0 else 'Benign' for o in similar_outcomes],
|
| 638 |
+
'Similarity': [f"{(1 - d/d.max())*100:.1f}%" for d in distances]
|
| 639 |
+
})
|
| 640 |
+
st.dataframe(similar_df)
|
| 641 |
+
|
| 642 |
+
show_success_message("Analysis completed successfully!")
|
| 643 |
+
except Exception as e:
|
| 644 |
+
st.error(f"⚠️ Error during analysis: {str(e)}")
|
| 645 |
+
|
| 646 |
+
def diabetes_prediction():
|
| 647 |
+
# Add home button at the top
|
| 648 |
+
add_home_button()
|
| 649 |
+
|
| 650 |
+
load_animation()
|
| 651 |
+
st.header("Diabetes Prediction")
|
| 652 |
+
st.write("Enter measurements to predict diabetes risk")
|
| 653 |
+
|
| 654 |
+
try:
|
| 655 |
+
model = DiabetesModel.load_model()
|
| 656 |
+
except Exception as e:
|
| 657 |
+
st.error(f"Error loading model: {str(e)}")
|
| 658 |
+
return
|
| 659 |
+
|
| 660 |
+
col1, col2 = st.columns(2)
|
| 661 |
+
|
| 662 |
+
with col1:
|
| 663 |
+
pregnancies = st.number_input("Number of Pregnancies", value=0, min_value=0)
|
| 664 |
+
glucose = st.number_input("Glucose (mg/dL)", value=120, min_value=0)
|
| 665 |
+
blood_pressure = st.number_input("Blood Pressure (mm Hg)", value=70, min_value=0)
|
| 666 |
+
skin_thickness = st.number_input("Skin Thickness (mm)", value=20, min_value=0)
|
| 667 |
+
|
| 668 |
+
with col2:
|
| 669 |
+
insulin = st.number_input("Insulin (mu U/ml)", value=79, min_value=0)
|
| 670 |
+
bmi = st.number_input("BMI", value=25.0, min_value=0.0)
|
| 671 |
+
dpf = st.number_input("Diabetes Pedigree Function", value=0.5, min_value=0.0)
|
| 672 |
+
age = st.number_input("Age", value=33, min_value=0)
|
| 673 |
+
|
| 674 |
+
if st.button("Predict"):
|
| 675 |
+
try:
|
| 676 |
+
# Calculate derived features
|
| 677 |
+
glucose_bmi = glucose * bmi / 1000
|
| 678 |
+
glucose_age = glucose * age / 100
|
| 679 |
+
|
| 680 |
+
input_data = np.array([
|
| 681 |
+
pregnancies, glucose, blood_pressure, skin_thickness,
|
| 682 |
+
insulin, bmi, dpf, age, glucose_bmi, glucose_age
|
| 683 |
+
]).reshape(1, -1)
|
| 684 |
+
|
| 685 |
+
prediction, similar_cases, similar_outcomes, distances = model.predict(input_data)
|
| 686 |
+
|
| 687 |
+
# Show prediction with risk factors
|
| 688 |
+
if prediction[0] == 1:
|
| 689 |
+
st.error("High risk of diabetes")
|
| 690 |
+
if glucose > 140:
|
| 691 |
+
st.warning("⚠️ High glucose level detected")
|
| 692 |
+
if bmi > 30:
|
| 693 |
+
st.warning("⚠️ High BMI detected")
|
| 694 |
+
else:
|
| 695 |
+
st.success("Low risk of diabetes")
|
| 696 |
+
|
| 697 |
+
# Show similar cases
|
| 698 |
+
st.write("### Similar Cases from Dataset")
|
| 699 |
+
st.write("The prediction is based on these similar cases:")
|
| 700 |
+
|
| 701 |
+
similar_df = pd.DataFrame({
|
| 702 |
+
'Age': similar_cases['Age'].round(1),
|
| 703 |
+
'BMI': similar_cases['BMI'].round(1),
|
| 704 |
+
'Glucose': similar_cases['Glucose'].round(1),
|
| 705 |
+
'Blood Pressure': similar_cases['BloodPressure'].round(1),
|
| 706 |
+
'Outcome': ['Diabetic' if o == 1 else 'Non-diabetic' for o in similar_outcomes],
|
| 707 |
+
'Similarity': [f"{(1 - d/d.max())*100:.1f}%" for d in distances]
|
| 708 |
+
})
|
| 709 |
+
st.dataframe(similar_df)
|
| 710 |
+
|
| 711 |
+
# Show risk analysis
|
| 712 |
+
st.write("### Risk Analysis")
|
| 713 |
+
risk_factors = []
|
| 714 |
+
if glucose > 140: risk_factors.append(f"Glucose ({glucose} mg/dL) is above normal range")
|
| 715 |
+
if bmi > 30: risk_factors.append(f"BMI ({bmi:.1f}) indicates obesity")
|
| 716 |
+
if blood_pressure > 90: risk_factors.append(f"Blood pressure ({blood_pressure} mm Hg) is elevated")
|
| 717 |
+
if dpf > 0.8: risk_factors.append(f"Diabetes pedigree function ({dpf:.2f}) indicates family history")
|
| 718 |
+
|
| 719 |
+
if risk_factors:
|
| 720 |
+
st.write("Risk factors identified:")
|
| 721 |
+
for factor in risk_factors:
|
| 722 |
+
st.write(f"• {factor}")
|
| 723 |
+
else:
|
| 724 |
+
st.write("No major risk factors identified")
|
| 725 |
+
|
| 726 |
+
except Exception as e:
|
| 727 |
+
st.error(f"Error making prediction: {str(e)}")
|
| 728 |
+
|
| 729 |
+
def heart_disease_prediction():
|
| 730 |
+
# Add home button at the top
|
| 731 |
+
add_home_button()
|
| 732 |
+
|
| 733 |
+
load_animation()
|
| 734 |
+
st.header("Heart Disease Prediction")
|
| 735 |
+
st.write("Enter measurements to predict heart disease risk")
|
| 736 |
+
|
| 737 |
+
try:
|
| 738 |
+
model = HeartDiseaseModel.load_model()
|
| 739 |
+
except Exception as e:
|
| 740 |
+
st.error(f"Error loading model: {str(e)}")
|
| 741 |
+
return
|
| 742 |
+
|
| 743 |
+
col1, col2 = st.columns(2)
|
| 744 |
+
|
| 745 |
+
with col1:
|
| 746 |
+
age = st.number_input("Age", value=50, min_value=0)
|
| 747 |
+
sex = st.selectbox("Sex", ["Male", "Female"])
|
| 748 |
+
cp = st.selectbox("Chest Pain Type",
|
| 749 |
+
["Typical Angina", "Atypical Angina", "Non-anginal Pain", "Asymptomatic"])
|
| 750 |
+
trestbps = st.number_input("Resting Blood Pressure (mm Hg)", value=120, min_value=0)
|
| 751 |
+
chol = st.number_input("Serum Cholesterol (mg/dl)", value=200, min_value=0)
|
| 752 |
+
fbs = st.selectbox("Fasting Blood Sugar > 120 mg/dl", ["No", "Yes"])
|
| 753 |
+
restecg = st.selectbox("Resting ECG Results",
|
| 754 |
+
["Normal", "ST-T Wave Abnormality", "Left Ventricular Hypertrophy"])
|
| 755 |
+
|
| 756 |
+
with col2:
|
| 757 |
+
thalach = st.number_input("Maximum Heart Rate", value=150, min_value=0)
|
| 758 |
+
exang = st.selectbox("Exercise Induced Angina", ["No", "Yes"])
|
| 759 |
+
oldpeak = st.number_input("ST Depression by Exercise", value=0.0)
|
| 760 |
+
slope = st.selectbox("Slope of Peak Exercise ST", ["Upsloping", "Flat", "Downsloping"])
|
| 761 |
+
ca = st.number_input("Number of Major Vessels (0-3)", value=0, min_value=0, max_value=3)
|
| 762 |
+
thal = st.selectbox("Thalassemia", ["Normal", "Fixed Defect", "Reversible Defect"])
|
| 763 |
+
|
| 764 |
+
if st.button("Predict"):
|
| 765 |
+
try:
|
| 766 |
+
# Convert categorical inputs to numerical
|
| 767 |
+
sex_num = 1 if sex == "Male" else 0
|
| 768 |
+
cp_num = ["Typical Angina", "Atypical Angina", "Non-anginal Pain", "Asymptomatic"].index(cp)
|
| 769 |
+
fbs_num = 1 if fbs == "Yes" else 0
|
| 770 |
+
restecg_num = ["Normal", "ST-T Wave Abnormality", "Left Ventricular Hypertrophy"].index(restecg)
|
| 771 |
+
exang_num = 1 if exang == "Yes" else 0
|
| 772 |
+
slope_num = ["Upsloping", "Flat", "Downsloping"].index(slope)
|
| 773 |
+
thal_num = ["Normal", "Fixed Defect", "Reversible Defect"].index(thal) + 3
|
| 774 |
+
|
| 775 |
+
input_data = np.array([
|
| 776 |
+
age, sex_num, cp_num, trestbps, chol, fbs_num, restecg_num,
|
| 777 |
+
thalach, exang_num, oldpeak, slope_num, ca, thal_num
|
| 778 |
+
]).reshape(1, -1)
|
| 779 |
+
|
| 780 |
+
prediction, similar_cases, similar_outcomes, distances = model.predict(input_data)
|
| 781 |
+
|
| 782 |
+
# Show prediction and risk analysis
|
| 783 |
+
if prediction[0] == 1:
|
| 784 |
+
st.error("High risk of heart disease")
|
| 785 |
+
|
| 786 |
+
# Show specific risk factors
|
| 787 |
+
st.write("### Risk Factors Identified:")
|
| 788 |
+
risk_factors = []
|
| 789 |
+
|
| 790 |
+
if age > 60:
|
| 791 |
+
risk_factors.append(f"Age ({age} years) - Higher risk with increasing age")
|
| 792 |
+
if cp_num >= 2:
|
| 793 |
+
risk_factors.append("Chest Pain Type indicates potential issue")
|
| 794 |
+
if trestbps > 140:
|
| 795 |
+
risk_factors.append(f"High Blood Pressure ({trestbps} mm Hg)")
|
| 796 |
+
if chol > 240:
|
| 797 |
+
risk_factors.append(f"High Cholesterol ({chol} mg/dl)")
|
| 798 |
+
if thalach < 120:
|
| 799 |
+
risk_factors.append(f"Low Maximum Heart Rate ({thalach} bpm)")
|
| 800 |
+
if oldpeak > 2:
|
| 801 |
+
risk_factors.append(f"Significant ST Depression ({oldpeak})")
|
| 802 |
+
if ca > 0:
|
| 803 |
+
risk_factors.append(f"Number of Major Vessels: {ca}")
|
| 804 |
+
|
| 805 |
+
for factor in risk_factors:
|
| 806 |
+
st.warning(f"⚠️ {factor}")
|
| 807 |
+
else:
|
| 808 |
+
st.success("Low risk of heart disease")
|
| 809 |
+
|
| 810 |
+
# Show protective factors
|
| 811 |
+
good_factors = []
|
| 812 |
+
if age < 50:
|
| 813 |
+
good_factors.append(f"Age ({age} years) is in a lower risk category")
|
| 814 |
+
if trestbps < 120:
|
| 815 |
+
good_factors.append(f"Normal Blood Pressure ({trestbps} mm Hg)")
|
| 816 |
+
if chol < 200:
|
| 817 |
+
good_factors.append(f"Healthy Cholesterol Level ({chol} mg/dl)")
|
| 818 |
+
|
| 819 |
+
if good_factors:
|
| 820 |
+
st.write("### Protective Factors:")
|
| 821 |
+
for factor in good_factors:
|
| 822 |
+
st.info(f"✓ {factor}")
|
| 823 |
+
|
| 824 |
+
# Show similar cases
|
| 825 |
+
st.write("### Similar Cases from Dataset")
|
| 826 |
+
st.write("The prediction is based on these similar cases:")
|
| 827 |
+
|
| 828 |
+
similar_df = pd.DataFrame({
|
| 829 |
+
'Age': similar_cases['age'].round(0),
|
| 830 |
+
'Sex': ['Male' if s == 1 else 'Female' for s in similar_cases['sex']],
|
| 831 |
+
'Blood Pressure': similar_cases['trestbps'].round(0),
|
| 832 |
+
'Cholesterol': similar_cases['chol'].round(0),
|
| 833 |
+
'Max Heart Rate': similar_cases['thalach'].round(0),
|
| 834 |
+
'Outcome': ['High Risk' if o == 1 else 'Low Risk' for o in similar_outcomes],
|
| 835 |
+
'Similarity': [f"{(1 - d/d.max())*100:.1f}%" for d in distances]
|
| 836 |
+
})
|
| 837 |
+
st.dataframe(similar_df)
|
| 838 |
+
|
| 839 |
+
except Exception as e:
|
| 840 |
+
st.error(f"Error making prediction: {str(e)}")
|
| 841 |
+
|
| 842 |
+
def parkinsons_prediction():
|
| 843 |
+
# Add home button at the top
|
| 844 |
+
add_home_button()
|
| 845 |
+
|
| 846 |
+
load_animation()
|
| 847 |
+
st.header("Parkinsons Disease Prediction")
|
| 848 |
+
st.write("Enter the following measurements:")
|
| 849 |
+
|
| 850 |
+
if not check_model_exists(PARKINSONS_MODEL_PATH):
|
| 851 |
+
st.error("Parkinson's model not found. Please train the model first.")
|
| 852 |
+
if st.button("Train Parkinson's Model"):
|
| 853 |
+
try:
|
| 854 |
+
from train_models import train_parkinsons
|
| 855 |
+
train_parkinsons()
|
| 856 |
+
st.success("Model trained successfully! Please refresh the page.")
|
| 857 |
+
except Exception as e:
|
| 858 |
+
st.error(f"Error training model: {str(e)}")
|
| 859 |
+
return
|
| 860 |
+
|
| 861 |
+
try:
|
| 862 |
+
model = ParkinsonsModel.load_model()
|
| 863 |
+
except Exception as e:
|
| 864 |
+
st.error(f"Error loading model: {str(e)}")
|
| 865 |
+
return
|
| 866 |
+
|
| 867 |
+
col1, col2 = st.columns(2)
|
| 868 |
+
|
| 869 |
+
with col1:
|
| 870 |
+
mdvp_fo = st.number_input("MDVP:Fo(Hz)", min_value=88.333, max_value=260.105, value=120.000, format="%.6f")
|
| 871 |
+
mdvp_fhi = st.number_input("MDVP:Fhi(Hz)", min_value=102.145, max_value=592.030, value=157.000, format="%.6f")
|
| 872 |
+
mdvp_flo = st.number_input("MDVP:Flo(Hz)", min_value=65.476, max_value=239.170, value=75.000, format="%.6f")
|
| 873 |
+
mdvp_jitter = st.number_input("MDVP:Jitter(%)", min_value=0.00168, max_value=0.03316, value=0.00784, format="%.6f")
|
| 874 |
+
mdvp_jitter_abs = st.number_input("MDVP:Jitter(Abs)", min_value=0.000007, max_value=0.000260, value=0.000070, format="%.6f")
|
| 875 |
+
mdvp_rap = st.number_input("MDVP:RAP", min_value=0.00068, max_value=0.02144, value=0.00370, format="%.6f")
|
| 876 |
+
mdvp_ppq = st.number_input("MDVP:PPQ", min_value=0.00092, max_value=0.01958, value=0.00554, format="%.6f")
|
| 877 |
+
jitter_ddp = st.number_input("Jitter:DDP", min_value=0.00204, max_value=0.06433, value=0.01109, format="%.6f")
|
| 878 |
+
|
| 879 |
+
with col2:
|
| 880 |
+
mdvp_shimmer = st.number_input("MDVP:Shimmer", min_value=0.00954, max_value=0.11908, value=0.04374, format="%.6f")
|
| 881 |
+
mdvp_shimmer_db = st.number_input("MDVP:Shimmer(dB)", min_value=0.085, max_value=1.302, value=0.426, format="%.6f")
|
| 882 |
+
shimmer_apq3 = st.number_input("Shimmer:APQ3", min_value=0.00455, max_value=0.05647, value=0.02182, format="%.6f")
|
| 883 |
+
shimmer_apq5 = st.number_input("Shimmer:APQ5", min_value=0.0057, max_value=0.0794, value=0.03130, format="%.6f")
|
| 884 |
+
mdvp_apq = st.number_input("MDVP:APQ", min_value=0.00719, max_value=0.13778, value=0.02971, format="%.6f")
|
| 885 |
+
shimmer_dda = st.number_input("Shimmer:DDA", min_value=0.01364, max_value=0.16942, value=0.06545, format="%.6f")
|
| 886 |
+
nhr = st.number_input("NHR", min_value=0.00065, max_value=0.31482, value=0.02211, format="%.6f")
|
| 887 |
+
hnr = st.number_input("HNR", min_value=8.441, max_value=33.047, value=21.033, format="%.6f")
|
| 888 |
+
rpde = st.number_input("RPDE", min_value=0.256570, max_value=0.685151, value=0.414783, format="%.6f")
|
| 889 |
+
dfa = st.number_input("DFA", min_value=0.574282, max_value=0.825288, value=0.815285, format="%.6f")
|
| 890 |
+
spread1 = st.number_input("Spread1", min_value= -7.964984, max_value= -2.434031, value= -4.813031, format="%.6f")
|
| 891 |
+
spread2 = st.number_input("Spread2", min_value=0.006274, max_value=0.450493, value=0.266482, format="%.6f")
|
| 892 |
+
d2 = st.number_input("D2", min_value=1.423287, max_value=3.671155, value=2.301442, format="%.6f")
|
| 893 |
+
ppe = st.number_input("PPE", min_value=0.044539, max_value=0.527367, value=0.284654, format="%.6f")
|
| 894 |
+
|
| 895 |
+
if st.button("Predict"):
|
| 896 |
+
try:
|
| 897 |
+
input_data = np.array([
|
| 898 |
+
mdvp_fo, mdvp_fhi, mdvp_flo, mdvp_jitter, mdvp_jitter_abs,
|
| 899 |
+
mdvp_rap, mdvp_ppq, jitter_ddp, mdvp_shimmer, mdvp_shimmer_db,
|
| 900 |
+
shimmer_apq3, shimmer_apq5, mdvp_apq, shimmer_dda, nhr, hnr,
|
| 901 |
+
rpde, dfa, spread1, spread2, d2, ppe
|
| 902 |
+
]).reshape(1, -1)
|
| 903 |
+
|
| 904 |
+
prediction, similar_cases, similar_outcomes, distances = model.predict(input_data)
|
| 905 |
+
|
| 906 |
+
if prediction[0] == 1:
|
| 907 |
+
st.error("⚠️ High risk of Parkinson's disease")
|
| 908 |
+
st.write("### Risk Factors Identified:")
|
| 909 |
+
risk_factors = []
|
| 910 |
+
if mdvp_jitter > 0.008:
|
| 911 |
+
risk_factors.append(f"High Jitter ({mdvp_jitter:.5f}%) indicates vocal instability")
|
| 912 |
+
if mdvp_jitter_abs > 0.0004:
|
| 913 |
+
risk_factors.append(f"High Absolute Jitter ({mdvp_jitter_abs:.5f}) indicates frequency instability")
|
| 914 |
+
if mdvp_shimmer > 0.04:
|
| 915 |
+
risk_factors.append(f"High Shimmer ({mdvp_shimmer:.5f}) indicates amplitude variations")
|
| 916 |
+
if mdvp_shimmer_db > 0.4:
|
| 917 |
+
risk_factors.append(f"High Shimmer dB ({mdvp_shimmer_db:.5f}dB) indicates amplitude instability")
|
| 918 |
+
if hnr < 20:
|
| 919 |
+
risk_factors.append(f"Low HNR ({hnr:.3f}) indicates voice quality issues")
|
| 920 |
+
if nhr > 0.03:
|
| 921 |
+
risk_factors.append(f"High NHR ({nhr:.5f}) indicates increased noise")
|
| 922 |
+
if rpde > 0.5:
|
| 923 |
+
risk_factors.append(f"High RPDE ({rpde:.3f}) indicates increased vocal complexity")
|
| 924 |
+
if dfa < 0.65:
|
| 925 |
+
risk_factors.append(f"Low DFA ({dfa:.3f}) indicates changes in vocal pattern")
|
| 926 |
+
|
| 927 |
+
for factor in risk_factors:
|
| 928 |
+
st.warning(f"⚠️ {factor}")
|
| 929 |
+
else:
|
| 930 |
+
st.success("✅ Low risk of Parkinson's disease")
|
| 931 |
+
good_factors = []
|
| 932 |
+
if mdvp_jitter < 0.006:
|
| 933 |
+
good_factors.append(f"Normal Jitter ({mdvp_jitter:.5f}%)")
|
| 934 |
+
if mdvp_shimmer < 0.03:
|
| 935 |
+
good_factors.append(f"Normal Shimmer ({mdvp_shimmer:.5f})")
|
| 936 |
+
if hnr > 22:
|
| 937 |
+
good_factors.append(f"Good HNR ({hnr:.3f})")
|
| 938 |
+
if nhr < 0.02:
|
| 939 |
+
good_factors.append(f"Good NHR ({nhr:.5f})")
|
| 940 |
+
|
| 941 |
+
if good_factors:
|
| 942 |
+
st.write("### Protective Factors:")
|
| 943 |
+
for factor in good_factors:
|
| 944 |
+
st.info(f"✓ {factor}")
|
| 945 |
+
|
| 946 |
+
# Show similar cases
|
| 947 |
+
st.write("### Similar Cases from Dataset")
|
| 948 |
+
similar_df = pd.DataFrame({
|
| 949 |
+
'Jitter(%)': similar_cases['MDVP:Jitter(%)'].round(5),
|
| 950 |
+
'Shimmer': similar_cases['MDVP:Shimmer'].round(5),
|
| 951 |
+
'HNR': similar_cases['HNR'].round(2),
|
| 952 |
+
'RPDE': similar_cases['RPDE'].round(3),
|
| 953 |
+
'DFA': similar_cases['DFA'].round(3),
|
| 954 |
+
'Diagnosis': ['Parkinson\'s' if o == 1 else 'Healthy' for o in similar_outcomes],
|
| 955 |
+
'Similarity': [f"{(1 - d/d.max())*100:.1f}%" for d in distances]
|
| 956 |
+
})
|
| 957 |
+
st.dataframe(similar_df)
|
| 958 |
+
|
| 959 |
+
except Exception as e:
|
| 960 |
+
st.error(f"Error making prediction: {str(e)}")
|
| 961 |
+
|
| 962 |
+
def show_patient_history():
|
| 963 |
+
"""Display patient history visualization with interactive elements"""
|
| 964 |
+
st.markdown("### 📈 Patient History Tracker")
|
| 965 |
+
|
| 966 |
+
# Add date range selector
|
| 967 |
+
col1, col2 = st.columns(2)
|
| 968 |
+
with col1:
|
| 969 |
+
start_date = st.date_input("From Date", value=datetime(2024, 1, 1))
|
| 970 |
+
with col2:
|
| 971 |
+
end_date = st.date_input("To Date", value=datetime.now())
|
| 972 |
+
|
| 973 |
+
# Add assessment type filter
|
| 974 |
+
assessment_types = ["All", "Breast Cancer", "Diabetes", "Heart Disease", "Parkinson's"]
|
| 975 |
+
selected_type = st.multiselect("Filter by Assessment Type", assessment_types, default=["All"])
|
| 976 |
+
|
| 977 |
+
# Mock data for demonstration - Fixed: Ensure all arrays have same length
|
| 978 |
+
num_records = 14 # Define a fixed number of records
|
| 979 |
+
history_data = {
|
| 980 |
+
'Date': pd.date_range(start='2024-01-01', periods=num_records, freq='W'),
|
| 981 |
+
'Risk Score': np.random.uniform(0.2, 0.8, size=num_records),
|
| 982 |
+
'Assessment Type': np.random.choice(assessment_types[1:], size=num_records),
|
| 983 |
+
'Status': np.random.choice(['Normal', 'Warning', 'Critical'], size=num_records),
|
| 984 |
+
'Doctor': np.random.choice(['Dr. Smith', 'Dr. Johnson', 'Dr. Williams'], size=num_records)
|
| 985 |
+
}
|
| 986 |
+
df = pd.DataFrame(history_data)
|
| 987 |
+
|
| 988 |
+
# Create tabs for different views
|
| 989 |
+
tab1, tab2 = st.tabs(["📊 Trend Analysis", "📋 Detailed Records"])
|
| 990 |
+
|
| 991 |
+
with tab1:
|
| 992 |
+
# Plot interactive trend
|
| 993 |
+
fig = px.line(df, x='Date', y='Risk Score', color='Assessment Type',
|
| 994 |
+
title='Risk Score Trends Over Time')
|
| 995 |
+
fig.update_layout(height=400)
|
| 996 |
+
st.plotly_chart(fig, use_container_width=True)
|
| 997 |
+
|
| 998 |
+
# Add summary metrics
|
| 999 |
+
col1, col2, col3 = st.columns(3)
|
| 1000 |
+
with col1:
|
| 1001 |
+
st.metric("Average Risk Score", f"{df['Risk Score'].mean():.2f}",
|
| 1002 |
+
delta=f"{(df['Risk Score'].iloc[-1] - df['Risk Score'].iloc[0]):.2f}")
|
| 1003 |
+
with col2:
|
| 1004 |
+
st.metric("Assessments", len(df), delta="↑2 from last month")
|
| 1005 |
+
with col3:
|
| 1006 |
+
st.metric("Critical Alerts", len(df[df['Status'] == 'Critical']),
|
| 1007 |
+
delta="-1 from last month")
|
| 1008 |
+
|
| 1009 |
+
with tab2:
|
| 1010 |
+
# Add search and filter options
|
| 1011 |
+
search = st.text_input("Search records...")
|
| 1012 |
+
filtered_df = df[df.astype(str).apply(lambda x: x.str.contains(search, case=False)).any(axis=1)]
|
| 1013 |
+
|
| 1014 |
+
# Display detailed records with styling
|
| 1015 |
+
st.dataframe(
|
| 1016 |
+
filtered_df.style.apply(lambda x: ['background-color: #ffcccc' if v == 'Critical'
|
| 1017 |
+
else 'background-color: #ffffcc' if v == 'Warning'
|
| 1018 |
+
else '' for v in x], subset=['Status'])
|
| 1019 |
+
)
|
| 1020 |
+
|
| 1021 |
+
def export_report():
|
| 1022 |
+
"""Generate and export comprehensive assessment report"""
|
| 1023 |
+
st.markdown("### 📄 Export Assessment Report")
|
| 1024 |
+
|
| 1025 |
+
# Report configuration
|
| 1026 |
+
col1, col2 = st.columns(2)
|
| 1027 |
+
with col1:
|
| 1028 |
+
report_format = st.selectbox(
|
| 1029 |
+
"Report Format",
|
| 1030 |
+
["PDF", "CSV", "JSON", "Excel"]
|
| 1031 |
+
)
|
| 1032 |
+
include_graphs = st.checkbox("Include Visualizations", value=True)
|
| 1033 |
+
with col2:
|
| 1034 |
+
report_type = st.selectbox(
|
| 1035 |
+
"Report Type",
|
| 1036 |
+
["Summary", "Detailed", "Technical"]
|
| 1037 |
+
)
|
| 1038 |
+
include_recommendations = st.checkbox("Include Recommendations", value=True)
|
| 1039 |
+
|
| 1040 |
+
# Generate report
|
| 1041 |
+
if st.button("Generate Report", type="primary"):
|
| 1042 |
+
with st.spinner("Generating comprehensive report..."):
|
| 1043 |
+
# Simulate report generation
|
| 1044 |
+
progress_bar = st.progress(0)
|
| 1045 |
+
for i in range(100):
|
| 1046 |
+
time.sleep(0.01)
|
| 1047 |
+
progress_bar.progress(i + 1)
|
| 1048 |
+
|
| 1049 |
+
# Show success message
|
| 1050 |
+
st.success(f"Report generated successfully in {report_format} format!")
|
| 1051 |
+
|
| 1052 |
+
# Provide download option
|
| 1053 |
+
if report_format == "PDF":
|
| 1054 |
+
mime = "application/pdf"
|
| 1055 |
+
elif report_format == "CSV":
|
| 1056 |
+
mime = "text/csv"
|
| 1057 |
+
elif report_format == "JSON":
|
| 1058 |
+
mime = "application/json"
|
| 1059 |
+
else:
|
| 1060 |
+
mime = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
| 1061 |
+
|
| 1062 |
+
st.download_button(
|
| 1063 |
+
label=f"📥 Download {report_format} Report",
|
| 1064 |
+
data=b"Sample report data", # Replace with actual report generation
|
| 1065 |
+
file_name=f"medical_report_{datetime.now().strftime('%Y%m%d')}_{report_type.lower()}.{report_format.lower()}",
|
| 1066 |
+
mime=mime,
|
| 1067 |
+
key="download_report"
|
| 1068 |
+
)
|
| 1069 |
+
|
| 1070 |
+
def show_risk_factors_analysis():
|
| 1071 |
+
"""Display comprehensive risk factors analysis with interactive elements"""
|
| 1072 |
+
st.markdown("### 🔍 Risk Factors Analysis")
|
| 1073 |
+
|
| 1074 |
+
# Create tabs for different analyses
|
| 1075 |
+
tab1, tab2 = st.tabs(["📊 Risk Factor Impact", "🔄 Correlation Analysis"])
|
| 1076 |
+
|
| 1077 |
+
with tab1:
|
| 1078 |
+
# Mock data
|
| 1079 |
+
risk_factors = {
|
| 1080 |
+
'Factor': ['Age', 'BMI', 'Blood Pressure', 'Glucose Level', 'Family History',
|
| 1081 |
+
'Smoking', 'Physical Activity', 'Diet', 'Stress Level'],
|
| 1082 |
+
'Impact': [0.8, 0.6, 0.7, 0.9, 0.5, 0.65, 0.55, 0.45, 0.75],
|
| 1083 |
+
'Category': ['Demographics', 'Physical', 'Physical', 'Medical', 'Medical',
|
| 1084 |
+
'Lifestyle', 'Lifestyle', 'Lifestyle', 'Lifestyle']
|
| 1085 |
+
}
|
| 1086 |
+
df = pd.DataFrame(risk_factors)
|
| 1087 |
+
|
| 1088 |
+
# Add category filter
|
| 1089 |
+
categories = ['All'] + list(df['Category'].unique())
|
| 1090 |
+
selected_category = st.selectbox("Filter by Category", categories)
|
| 1091 |
+
|
| 1092 |
+
if selected_category != 'All':
|
| 1093 |
+
df_filtered = df[df['Category'] == selected_category]
|
| 1094 |
+
else:
|
| 1095 |
+
df_filtered = df
|
| 1096 |
+
|
| 1097 |
+
# Create interactive bar chart
|
| 1098 |
+
fig = px.bar(df_filtered, x='Factor', y='Impact', color='Category',
|
| 1099 |
+
title='Risk Factors Impact Analysis',
|
| 1100 |
+
labels={'Impact': 'Impact Score (0-1)'})
|
| 1101 |
+
st.plotly_chart(fig, use_container_width=True)
|
| 1102 |
+
|
| 1103 |
+
with tab2:
|
| 1104 |
+
# Create correlation matrix visualization
|
| 1105 |
+
correlation_data = np.random.rand(len(df), len(df))
|
| 1106 |
+
fig = px.imshow(correlation_data,
|
| 1107 |
+
labels=dict(x="Risk Factors", y="Risk Factors"),
|
| 1108 |
+
x=df['Factor'],
|
| 1109 |
+
y=df['Factor'],
|
| 1110 |
+
title="Risk Factors Correlation Matrix")
|
| 1111 |
+
st.plotly_chart(fig, use_container_width=True)
|
| 1112 |
+
|
| 1113 |
+
def show_recommendations():
|
| 1114 |
+
"""Display personalized health recommendations with interactive elements"""
|
| 1115 |
+
st.markdown("### 💡 Personalized Recommendations")
|
| 1116 |
+
|
| 1117 |
+
# Add risk profile selector
|
| 1118 |
+
risk_profile = st.select_slider(
|
| 1119 |
+
"Risk Profile",
|
| 1120 |
+
options=["Low", "Moderate", "High"],
|
| 1121 |
+
value="Moderate"
|
| 1122 |
+
)
|
| 1123 |
+
|
| 1124 |
+
# Recommendations based on risk profile
|
| 1125 |
+
recommendations = {
|
| 1126 |
+
"Lifestyle Changes": {
|
| 1127 |
+
"Low": [
|
| 1128 |
+
"Maintain regular exercise routine",
|
| 1129 |
+
"Continue balanced diet",
|
| 1130 |
+
"Regular sleep schedule"
|
| 1131 |
+
],
|
| 1132 |
+
"Moderate": [
|
| 1133 |
+
"Increase exercise to 45 minutes daily",
|
| 1134 |
+
"Reduce processed food intake",
|
| 1135 |
+
"Improve sleep quality"
|
| 1136 |
+
],
|
| 1137 |
+
"High": [
|
| 1138 |
+
"Structured exercise program with supervision",
|
| 1139 |
+
"Strict dietary guidelines",
|
| 1140 |
+
"Sleep monitoring and improvement"
|
| 1141 |
+
]
|
| 1142 |
+
},
|
| 1143 |
+
"Medical Follow-up": {
|
| 1144 |
+
"Low": [
|
| 1145 |
+
"Annual check-ups",
|
| 1146 |
+
"Regular blood pressure monitoring",
|
| 1147 |
+
"Basic health screenings"
|
| 1148 |
+
],
|
| 1149 |
+
"Moderate": [
|
| 1150 |
+
"Semi-annual check-ups",
|
| 1151 |
+
"Monthly blood pressure monitoring",
|
| 1152 |
+
"Comprehensive screenings"
|
| 1153 |
+
],
|
| 1154 |
+
"High": [
|
| 1155 |
+
"Quarterly check-ups",
|
| 1156 |
+
"Weekly blood pressure monitoring",
|
| 1157 |
+
"Advanced health screenings"
|
| 1158 |
+
]
|
| 1159 |
+
},
|
| 1160 |
+
"Risk Management": {
|
| 1161 |
+
"Low": [
|
| 1162 |
+
"Basic health monitoring",
|
| 1163 |
+
"Stress management awareness",
|
| 1164 |
+
"General health education"
|
| 1165 |
+
],
|
| 1166 |
+
"Moderate": [
|
| 1167 |
+
"Regular health monitoring",
|
| 1168 |
+
"Active stress management",
|
| 1169 |
+
"Specific health education"
|
| 1170 |
+
],
|
| 1171 |
+
"High": [
|
| 1172 |
+
"Intensive health monitoring",
|
| 1173 |
+
"Professional stress management",
|
| 1174 |
+
"Specialized health education"
|
| 1175 |
+
]
|
| 1176 |
+
}
|
| 1177 |
+
}
|
| 1178 |
+
|
| 1179 |
+
# Display recommendations with expandable sections
|
| 1180 |
+
for category, risk_levels in recommendations.items():
|
| 1181 |
+
with st.expander(f"📌 {category}", expanded=True):
|
| 1182 |
+
for item in risk_levels[risk_profile]:
|
| 1183 |
+
st.markdown(f"• {item}")
|
| 1184 |
+
|
| 1185 |
+
# Add progress tracking
|
| 1186 |
+
if st.checkbox(f"Track {category.lower()} progress", key=category):
|
| 1187 |
+
st.slider(f"{category} Adherence", 0, 100, 50, key=f"adherence_{category}")
|
| 1188 |
+
st.progress(50)
|
| 1189 |
+
|
| 1190 |
+
def show_trends_analysis():
|
| 1191 |
+
"""Display comprehensive health trends analysis"""
|
| 1192 |
+
st.markdown("### 📊 Health Trends Analysis")
|
| 1193 |
+
|
| 1194 |
+
# Date range selector
|
| 1195 |
+
col1, col2 = st.columns(2)
|
| 1196 |
+
with col1:
|
| 1197 |
+
start_date = st.date_input("Start Date", value=datetime(2024, 1, 1), key="trends_start")
|
| 1198 |
+
with col2:
|
| 1199 |
+
end_date = st.date_input("End Date", value=datetime.now(), key="trends_end")
|
| 1200 |
+
|
| 1201 |
+
# Mock data
|
| 1202 |
+
dates = pd.date_range(start='2024-01-01', end='2024-04-01', freq='D')
|
| 1203 |
+
trends_data = {
|
| 1204 |
+
'Date': dates,
|
| 1205 |
+
'Blood Pressure': np.random.normal(120, 5, len(dates)),
|
| 1206 |
+
'Glucose Level': np.random.normal(100, 3, len(dates)),
|
| 1207 |
+
'BMI': np.random.normal(25, 0.5, len(dates)),
|
| 1208 |
+
'Cholesterol': np.random.normal(180, 10, len(dates)),
|
| 1209 |
+
'Heart Rate': np.random.normal(75, 3, len(dates))
|
| 1210 |
+
}
|
| 1211 |
+
df = pd.DataFrame(trends_data)
|
| 1212 |
+
|
| 1213 |
+
# Metric selector
|
| 1214 |
+
metrics = list(df.columns[1:])
|
| 1215 |
+
selected_metrics = st.multiselect("Select metrics to analyze", metrics, default=[metrics[0]])
|
| 1216 |
+
|
| 1217 |
+
if selected_metrics:
|
| 1218 |
+
# Create interactive line chart
|
| 1219 |
+
fig = px.line(df, x='Date', y=selected_metrics,
|
| 1220 |
+
title='Health Metrics Trends Over Time')
|
| 1221 |
+
fig.update_layout(height=400)
|
| 1222 |
+
st.plotly_chart(fig, use_container_width=True)
|
| 1223 |
+
|
| 1224 |
+
# Add statistical analysis
|
| 1225 |
+
st.markdown("#### Statistical Analysis")
|
| 1226 |
+
col1, col2, col3 = st.columns(3)
|
| 1227 |
+
for metric in selected_metrics:
|
| 1228 |
+
with col1:
|
| 1229 |
+
st.metric(f"{metric} Average",
|
| 1230 |
+
f"{df[metric].mean():.1f}",
|
| 1231 |
+
delta=f"{df[metric].iloc[-1] - df[metric].iloc[0]:.1f}")
|
| 1232 |
+
with col2:
|
| 1233 |
+
st.metric(f"{metric} Min",
|
| 1234 |
+
f"{df[metric].min():.1f}")
|
| 1235 |
+
with col3:
|
| 1236 |
+
st.metric(f"{metric} Max",
|
| 1237 |
+
f"{df[metric].max():.1f}")
|
| 1238 |
+
|
| 1239 |
+
def compare_assessments():
|
| 1240 |
+
"""Compare different assessment results"""
|
| 1241 |
+
st.markdown("### 🔄 Compare Assessments")
|
| 1242 |
+
|
| 1243 |
+
col1, col2 = st.columns(2)
|
| 1244 |
+
|
| 1245 |
+
with col1:
|
| 1246 |
+
st.markdown("#### Previous Assessment")
|
| 1247 |
+
st.metric(label="Risk Score", value="75%", delta="-15%")
|
| 1248 |
+
st.date_input("Assessment Date", value=datetime(2024, 1, 1))
|
| 1249 |
+
|
| 1250 |
+
with col2:
|
| 1251 |
+
st.markdown("#### Current Assessment")
|
| 1252 |
+
st.metric(label="Risk Score", value="60%", delta="-5%")
|
| 1253 |
+
st.date_input("Assessment Date", value=datetime.now())
|
| 1254 |
+
|
| 1255 |
+
def main():
|
| 1256 |
+
# Initialize session state if not exists
|
| 1257 |
+
if "page" not in st.session_state:
|
| 1258 |
+
st.session_state.page = "Home"
|
| 1259 |
+
|
| 1260 |
+
# Sidebar
|
| 1261 |
+
with st.sidebar:
|
| 1262 |
+
st.image("https://img.icons8.com/color/96/000000/hospital-2.png", width=100)
|
| 1263 |
+
st.title("Medical AI Assistant")
|
| 1264 |
+
st.caption("v1.0.0")
|
| 1265 |
+
|
| 1266 |
+
# Navigation
|
| 1267 |
+
pages = {
|
| 1268 |
+
"🏠 Home": "Home",
|
| 1269 |
+
"🔬 Breast Cancer": "Breast Cancer",
|
| 1270 |
+
"🩺 Diabetes": "Diabetes",
|
| 1271 |
+
"❤️ Heart Disease": "Heart Disease",
|
| 1272 |
+
"🧠 Parkinson's Disease": "Parkinson's Disease"
|
| 1273 |
+
}
|
| 1274 |
+
|
| 1275 |
+
# Get current page index
|
| 1276 |
+
current_page = st.session_state.page
|
| 1277 |
+
current_key = next(k for k, v in pages.items() if v == current_page)
|
| 1278 |
+
|
| 1279 |
+
# Navigation radio buttons
|
| 1280 |
+
selected = st.radio(
|
| 1281 |
+
"🧭 Navigation",
|
| 1282 |
+
list(pages.keys()),
|
| 1283 |
+
index=list(pages.keys()).index(current_key)
|
| 1284 |
+
)
|
| 1285 |
+
|
| 1286 |
+
# Update page when selection changes
|
| 1287 |
+
if pages[selected] != st.session_state.page:
|
| 1288 |
+
st.session_state.page = pages[selected]
|
| 1289 |
+
|
| 1290 |
+
# Main content routing
|
| 1291 |
+
try:
|
| 1292 |
+
if st.session_state.page == "Home":
|
| 1293 |
+
home_page()
|
| 1294 |
+
elif st.session_state.page == "Breast Cancer":
|
| 1295 |
+
breast_cancer_prediction()
|
| 1296 |
+
elif st.session_state.page == "Diabetes":
|
| 1297 |
+
diabetes_prediction()
|
| 1298 |
+
elif st.session_state.page == "Heart Disease":
|
| 1299 |
+
heart_disease_prediction()
|
| 1300 |
+
elif st.session_state.page == "Parkinson's Disease":
|
| 1301 |
+
parkinsons_prediction()
|
| 1302 |
+
except Exception as e:
|
| 1303 |
+
st.error(f"Error loading page: {str(e)}")
|
| 1304 |
+
st.session_state.page = "Home"
|
| 1305 |
+
|
| 1306 |
+
if __name__ == "__main__":
|
| 1307 |
+
main()
|
check_setup.py
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
|
| 3 |
+
def check_project_setup():
|
| 4 |
+
# Check directory structure
|
| 5 |
+
directories = ['app', 'models', 'src', 'data']
|
| 6 |
+
for dir in directories:
|
| 7 |
+
if not os.path.exists(dir):
|
| 8 |
+
print(f"Missing directory: {dir}")
|
| 9 |
+
os.makedirs(dir)
|
| 10 |
+
print(f"Created directory: {dir}")
|
| 11 |
+
|
| 12 |
+
# Check required files
|
| 13 |
+
required_files = [
|
| 14 |
+
'app/streamlit_app.py',
|
| 15 |
+
'src/config.py',
|
| 16 |
+
'src/data_preprocessing.py',
|
| 17 |
+
'src/model.py',
|
| 18 |
+
'src/__init__.py',
|
| 19 |
+
'train_model.py'
|
| 20 |
+
]
|
| 21 |
+
|
| 22 |
+
for file in required_files:
|
| 23 |
+
if not os.path.exists(file):
|
| 24 |
+
print(f"Missing file: {file}")
|
| 25 |
+
else:
|
| 26 |
+
print(f"Found file: {file}")
|
| 27 |
+
|
| 28 |
+
# Check if model exists
|
| 29 |
+
if not os.path.exists('models/breast_cancer_model.pkl'):
|
| 30 |
+
print("Model file not found. Please run train_model.py first")
|
| 31 |
+
else:
|
| 32 |
+
print("Model file found")
|
| 33 |
+
|
| 34 |
+
if __name__ == "__main__":
|
| 35 |
+
check_project_setup()
|
datasets/data.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/diabetes.csv
ADDED
|
@@ -0,0 +1,769 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome
|
| 2 |
+
6,148,72,35,0,33.6,0.627,50,1
|
| 3 |
+
1,85,66,29,0,26.6,0.351,31,0
|
| 4 |
+
8,183,64,0,0,23.3,0.672,32,1
|
| 5 |
+
1,89,66,23,94,28.1,0.167,21,0
|
| 6 |
+
0,137,40,35,168,43.1,2.288,33,1
|
| 7 |
+
5,116,74,0,0,25.6,0.201,30,0
|
| 8 |
+
3,78,50,32,88,31,0.248,26,1
|
| 9 |
+
10,115,0,0,0,35.3,0.134,29,0
|
| 10 |
+
2,197,70,45,543,30.5,0.158,53,1
|
| 11 |
+
8,125,96,0,0,0,0.232,54,1
|
| 12 |
+
4,110,92,0,0,37.6,0.191,30,0
|
| 13 |
+
10,168,74,0,0,38,0.537,34,1
|
| 14 |
+
10,139,80,0,0,27.1,1.441,57,0
|
| 15 |
+
1,189,60,23,846,30.1,0.398,59,1
|
| 16 |
+
5,166,72,19,175,25.8,0.587,51,1
|
| 17 |
+
7,100,0,0,0,30,0.484,32,1
|
| 18 |
+
0,118,84,47,230,45.8,0.551,31,1
|
| 19 |
+
7,107,74,0,0,29.6,0.254,31,1
|
| 20 |
+
1,103,30,38,83,43.3,0.183,33,0
|
| 21 |
+
1,115,70,30,96,34.6,0.529,32,1
|
| 22 |
+
3,126,88,41,235,39.3,0.704,27,0
|
| 23 |
+
8,99,84,0,0,35.4,0.388,50,0
|
| 24 |
+
7,196,90,0,0,39.8,0.451,41,1
|
| 25 |
+
9,119,80,35,0,29,0.263,29,1
|
| 26 |
+
11,143,94,33,146,36.6,0.254,51,1
|
| 27 |
+
10,125,70,26,115,31.1,0.205,41,1
|
| 28 |
+
7,147,76,0,0,39.4,0.257,43,1
|
| 29 |
+
1,97,66,15,140,23.2,0.487,22,0
|
| 30 |
+
13,145,82,19,110,22.2,0.245,57,0
|
| 31 |
+
5,117,92,0,0,34.1,0.337,38,0
|
| 32 |
+
5,109,75,26,0,36,0.546,60,0
|
| 33 |
+
3,158,76,36,245,31.6,0.851,28,1
|
| 34 |
+
3,88,58,11,54,24.8,0.267,22,0
|
| 35 |
+
6,92,92,0,0,19.9,0.188,28,0
|
| 36 |
+
10,122,78,31,0,27.6,0.512,45,0
|
| 37 |
+
4,103,60,33,192,24,0.966,33,0
|
| 38 |
+
11,138,76,0,0,33.2,0.42,35,0
|
| 39 |
+
9,102,76,37,0,32.9,0.665,46,1
|
| 40 |
+
2,90,68,42,0,38.2,0.503,27,1
|
| 41 |
+
4,111,72,47,207,37.1,1.39,56,1
|
| 42 |
+
3,180,64,25,70,34,0.271,26,0
|
| 43 |
+
7,133,84,0,0,40.2,0.696,37,0
|
| 44 |
+
7,106,92,18,0,22.7,0.235,48,0
|
| 45 |
+
9,171,110,24,240,45.4,0.721,54,1
|
| 46 |
+
7,159,64,0,0,27.4,0.294,40,0
|
| 47 |
+
0,180,66,39,0,42,1.893,25,1
|
| 48 |
+
1,146,56,0,0,29.7,0.564,29,0
|
| 49 |
+
2,71,70,27,0,28,0.586,22,0
|
| 50 |
+
7,103,66,32,0,39.1,0.344,31,1
|
| 51 |
+
7,105,0,0,0,0,0.305,24,0
|
| 52 |
+
1,103,80,11,82,19.4,0.491,22,0
|
| 53 |
+
1,101,50,15,36,24.2,0.526,26,0
|
| 54 |
+
5,88,66,21,23,24.4,0.342,30,0
|
| 55 |
+
8,176,90,34,300,33.7,0.467,58,1
|
| 56 |
+
7,150,66,42,342,34.7,0.718,42,0
|
| 57 |
+
1,73,50,10,0,23,0.248,21,0
|
| 58 |
+
7,187,68,39,304,37.7,0.254,41,1
|
| 59 |
+
0,100,88,60,110,46.8,0.962,31,0
|
| 60 |
+
0,146,82,0,0,40.5,1.781,44,0
|
| 61 |
+
0,105,64,41,142,41.5,0.173,22,0
|
| 62 |
+
2,84,0,0,0,0,0.304,21,0
|
| 63 |
+
8,133,72,0,0,32.9,0.27,39,1
|
| 64 |
+
5,44,62,0,0,25,0.587,36,0
|
| 65 |
+
2,141,58,34,128,25.4,0.699,24,0
|
| 66 |
+
7,114,66,0,0,32.8,0.258,42,1
|
| 67 |
+
5,99,74,27,0,29,0.203,32,0
|
| 68 |
+
0,109,88,30,0,32.5,0.855,38,1
|
| 69 |
+
2,109,92,0,0,42.7,0.845,54,0
|
| 70 |
+
1,95,66,13,38,19.6,0.334,25,0
|
| 71 |
+
4,146,85,27,100,28.9,0.189,27,0
|
| 72 |
+
2,100,66,20,90,32.9,0.867,28,1
|
| 73 |
+
5,139,64,35,140,28.6,0.411,26,0
|
| 74 |
+
13,126,90,0,0,43.4,0.583,42,1
|
| 75 |
+
4,129,86,20,270,35.1,0.231,23,0
|
| 76 |
+
1,79,75,30,0,32,0.396,22,0
|
| 77 |
+
1,0,48,20,0,24.7,0.14,22,0
|
| 78 |
+
7,62,78,0,0,32.6,0.391,41,0
|
| 79 |
+
5,95,72,33,0,37.7,0.37,27,0
|
| 80 |
+
0,131,0,0,0,43.2,0.27,26,1
|
| 81 |
+
2,112,66,22,0,25,0.307,24,0
|
| 82 |
+
3,113,44,13,0,22.4,0.14,22,0
|
| 83 |
+
2,74,0,0,0,0,0.102,22,0
|
| 84 |
+
7,83,78,26,71,29.3,0.767,36,0
|
| 85 |
+
0,101,65,28,0,24.6,0.237,22,0
|
| 86 |
+
5,137,108,0,0,48.8,0.227,37,1
|
| 87 |
+
2,110,74,29,125,32.4,0.698,27,0
|
| 88 |
+
13,106,72,54,0,36.6,0.178,45,0
|
| 89 |
+
2,100,68,25,71,38.5,0.324,26,0
|
| 90 |
+
15,136,70,32,110,37.1,0.153,43,1
|
| 91 |
+
1,107,68,19,0,26.5,0.165,24,0
|
| 92 |
+
1,80,55,0,0,19.1,0.258,21,0
|
| 93 |
+
4,123,80,15,176,32,0.443,34,0
|
| 94 |
+
7,81,78,40,48,46.7,0.261,42,0
|
| 95 |
+
4,134,72,0,0,23.8,0.277,60,1
|
| 96 |
+
2,142,82,18,64,24.7,0.761,21,0
|
| 97 |
+
6,144,72,27,228,33.9,0.255,40,0
|
| 98 |
+
2,92,62,28,0,31.6,0.13,24,0
|
| 99 |
+
1,71,48,18,76,20.4,0.323,22,0
|
| 100 |
+
6,93,50,30,64,28.7,0.356,23,0
|
| 101 |
+
1,122,90,51,220,49.7,0.325,31,1
|
| 102 |
+
1,163,72,0,0,39,1.222,33,1
|
| 103 |
+
1,151,60,0,0,26.1,0.179,22,0
|
| 104 |
+
0,125,96,0,0,22.5,0.262,21,0
|
| 105 |
+
1,81,72,18,40,26.6,0.283,24,0
|
| 106 |
+
2,85,65,0,0,39.6,0.93,27,0
|
| 107 |
+
1,126,56,29,152,28.7,0.801,21,0
|
| 108 |
+
1,96,122,0,0,22.4,0.207,27,0
|
| 109 |
+
4,144,58,28,140,29.5,0.287,37,0
|
| 110 |
+
3,83,58,31,18,34.3,0.336,25,0
|
| 111 |
+
0,95,85,25,36,37.4,0.247,24,1
|
| 112 |
+
3,171,72,33,135,33.3,0.199,24,1
|
| 113 |
+
8,155,62,26,495,34,0.543,46,1
|
| 114 |
+
1,89,76,34,37,31.2,0.192,23,0
|
| 115 |
+
4,76,62,0,0,34,0.391,25,0
|
| 116 |
+
7,160,54,32,175,30.5,0.588,39,1
|
| 117 |
+
4,146,92,0,0,31.2,0.539,61,1
|
| 118 |
+
5,124,74,0,0,34,0.22,38,1
|
| 119 |
+
5,78,48,0,0,33.7,0.654,25,0
|
| 120 |
+
4,97,60,23,0,28.2,0.443,22,0
|
| 121 |
+
4,99,76,15,51,23.2,0.223,21,0
|
| 122 |
+
0,162,76,56,100,53.2,0.759,25,1
|
| 123 |
+
6,111,64,39,0,34.2,0.26,24,0
|
| 124 |
+
2,107,74,30,100,33.6,0.404,23,0
|
| 125 |
+
5,132,80,0,0,26.8,0.186,69,0
|
| 126 |
+
0,113,76,0,0,33.3,0.278,23,1
|
| 127 |
+
1,88,30,42,99,55,0.496,26,1
|
| 128 |
+
3,120,70,30,135,42.9,0.452,30,0
|
| 129 |
+
1,118,58,36,94,33.3,0.261,23,0
|
| 130 |
+
1,117,88,24,145,34.5,0.403,40,1
|
| 131 |
+
0,105,84,0,0,27.9,0.741,62,1
|
| 132 |
+
4,173,70,14,168,29.7,0.361,33,1
|
| 133 |
+
9,122,56,0,0,33.3,1.114,33,1
|
| 134 |
+
3,170,64,37,225,34.5,0.356,30,1
|
| 135 |
+
8,84,74,31,0,38.3,0.457,39,0
|
| 136 |
+
2,96,68,13,49,21.1,0.647,26,0
|
| 137 |
+
2,125,60,20,140,33.8,0.088,31,0
|
| 138 |
+
0,100,70,26,50,30.8,0.597,21,0
|
| 139 |
+
0,93,60,25,92,28.7,0.532,22,0
|
| 140 |
+
0,129,80,0,0,31.2,0.703,29,0
|
| 141 |
+
5,105,72,29,325,36.9,0.159,28,0
|
| 142 |
+
3,128,78,0,0,21.1,0.268,55,0
|
| 143 |
+
5,106,82,30,0,39.5,0.286,38,0
|
| 144 |
+
2,108,52,26,63,32.5,0.318,22,0
|
| 145 |
+
10,108,66,0,0,32.4,0.272,42,1
|
| 146 |
+
4,154,62,31,284,32.8,0.237,23,0
|
| 147 |
+
0,102,75,23,0,0,0.572,21,0
|
| 148 |
+
9,57,80,37,0,32.8,0.096,41,0
|
| 149 |
+
2,106,64,35,119,30.5,1.4,34,0
|
| 150 |
+
5,147,78,0,0,33.7,0.218,65,0
|
| 151 |
+
2,90,70,17,0,27.3,0.085,22,0
|
| 152 |
+
1,136,74,50,204,37.4,0.399,24,0
|
| 153 |
+
4,114,65,0,0,21.9,0.432,37,0
|
| 154 |
+
9,156,86,28,155,34.3,1.189,42,1
|
| 155 |
+
1,153,82,42,485,40.6,0.687,23,0
|
| 156 |
+
8,188,78,0,0,47.9,0.137,43,1
|
| 157 |
+
7,152,88,44,0,50,0.337,36,1
|
| 158 |
+
2,99,52,15,94,24.6,0.637,21,0
|
| 159 |
+
1,109,56,21,135,25.2,0.833,23,0
|
| 160 |
+
2,88,74,19,53,29,0.229,22,0
|
| 161 |
+
17,163,72,41,114,40.9,0.817,47,1
|
| 162 |
+
4,151,90,38,0,29.7,0.294,36,0
|
| 163 |
+
7,102,74,40,105,37.2,0.204,45,0
|
| 164 |
+
0,114,80,34,285,44.2,0.167,27,0
|
| 165 |
+
2,100,64,23,0,29.7,0.368,21,0
|
| 166 |
+
0,131,88,0,0,31.6,0.743,32,1
|
| 167 |
+
6,104,74,18,156,29.9,0.722,41,1
|
| 168 |
+
3,148,66,25,0,32.5,0.256,22,0
|
| 169 |
+
4,120,68,0,0,29.6,0.709,34,0
|
| 170 |
+
4,110,66,0,0,31.9,0.471,29,0
|
| 171 |
+
3,111,90,12,78,28.4,0.495,29,0
|
| 172 |
+
6,102,82,0,0,30.8,0.18,36,1
|
| 173 |
+
6,134,70,23,130,35.4,0.542,29,1
|
| 174 |
+
2,87,0,23,0,28.9,0.773,25,0
|
| 175 |
+
1,79,60,42,48,43.5,0.678,23,0
|
| 176 |
+
2,75,64,24,55,29.7,0.37,33,0
|
| 177 |
+
8,179,72,42,130,32.7,0.719,36,1
|
| 178 |
+
6,85,78,0,0,31.2,0.382,42,0
|
| 179 |
+
0,129,110,46,130,67.1,0.319,26,1
|
| 180 |
+
5,143,78,0,0,45,0.19,47,0
|
| 181 |
+
5,130,82,0,0,39.1,0.956,37,1
|
| 182 |
+
6,87,80,0,0,23.2,0.084,32,0
|
| 183 |
+
0,119,64,18,92,34.9,0.725,23,0
|
| 184 |
+
1,0,74,20,23,27.7,0.299,21,0
|
| 185 |
+
5,73,60,0,0,26.8,0.268,27,0
|
| 186 |
+
4,141,74,0,0,27.6,0.244,40,0
|
| 187 |
+
7,194,68,28,0,35.9,0.745,41,1
|
| 188 |
+
8,181,68,36,495,30.1,0.615,60,1
|
| 189 |
+
1,128,98,41,58,32,1.321,33,1
|
| 190 |
+
8,109,76,39,114,27.9,0.64,31,1
|
| 191 |
+
5,139,80,35,160,31.6,0.361,25,1
|
| 192 |
+
3,111,62,0,0,22.6,0.142,21,0
|
| 193 |
+
9,123,70,44,94,33.1,0.374,40,0
|
| 194 |
+
7,159,66,0,0,30.4,0.383,36,1
|
| 195 |
+
11,135,0,0,0,52.3,0.578,40,1
|
| 196 |
+
8,85,55,20,0,24.4,0.136,42,0
|
| 197 |
+
5,158,84,41,210,39.4,0.395,29,1
|
| 198 |
+
1,105,58,0,0,24.3,0.187,21,0
|
| 199 |
+
3,107,62,13,48,22.9,0.678,23,1
|
| 200 |
+
4,109,64,44,99,34.8,0.905,26,1
|
| 201 |
+
4,148,60,27,318,30.9,0.15,29,1
|
| 202 |
+
0,113,80,16,0,31,0.874,21,0
|
| 203 |
+
1,138,82,0,0,40.1,0.236,28,0
|
| 204 |
+
0,108,68,20,0,27.3,0.787,32,0
|
| 205 |
+
2,99,70,16,44,20.4,0.235,27,0
|
| 206 |
+
6,103,72,32,190,37.7,0.324,55,0
|
| 207 |
+
5,111,72,28,0,23.9,0.407,27,0
|
| 208 |
+
8,196,76,29,280,37.5,0.605,57,1
|
| 209 |
+
5,162,104,0,0,37.7,0.151,52,1
|
| 210 |
+
1,96,64,27,87,33.2,0.289,21,0
|
| 211 |
+
7,184,84,33,0,35.5,0.355,41,1
|
| 212 |
+
2,81,60,22,0,27.7,0.29,25,0
|
| 213 |
+
0,147,85,54,0,42.8,0.375,24,0
|
| 214 |
+
7,179,95,31,0,34.2,0.164,60,0
|
| 215 |
+
0,140,65,26,130,42.6,0.431,24,1
|
| 216 |
+
9,112,82,32,175,34.2,0.26,36,1
|
| 217 |
+
12,151,70,40,271,41.8,0.742,38,1
|
| 218 |
+
5,109,62,41,129,35.8,0.514,25,1
|
| 219 |
+
6,125,68,30,120,30,0.464,32,0
|
| 220 |
+
5,85,74,22,0,29,1.224,32,1
|
| 221 |
+
5,112,66,0,0,37.8,0.261,41,1
|
| 222 |
+
0,177,60,29,478,34.6,1.072,21,1
|
| 223 |
+
2,158,90,0,0,31.6,0.805,66,1
|
| 224 |
+
7,119,0,0,0,25.2,0.209,37,0
|
| 225 |
+
7,142,60,33,190,28.8,0.687,61,0
|
| 226 |
+
1,100,66,15,56,23.6,0.666,26,0
|
| 227 |
+
1,87,78,27,32,34.6,0.101,22,0
|
| 228 |
+
0,101,76,0,0,35.7,0.198,26,0
|
| 229 |
+
3,162,52,38,0,37.2,0.652,24,1
|
| 230 |
+
4,197,70,39,744,36.7,2.329,31,0
|
| 231 |
+
0,117,80,31,53,45.2,0.089,24,0
|
| 232 |
+
4,142,86,0,0,44,0.645,22,1
|
| 233 |
+
6,134,80,37,370,46.2,0.238,46,1
|
| 234 |
+
1,79,80,25,37,25.4,0.583,22,0
|
| 235 |
+
4,122,68,0,0,35,0.394,29,0
|
| 236 |
+
3,74,68,28,45,29.7,0.293,23,0
|
| 237 |
+
4,171,72,0,0,43.6,0.479,26,1
|
| 238 |
+
7,181,84,21,192,35.9,0.586,51,1
|
| 239 |
+
0,179,90,27,0,44.1,0.686,23,1
|
| 240 |
+
9,164,84,21,0,30.8,0.831,32,1
|
| 241 |
+
0,104,76,0,0,18.4,0.582,27,0
|
| 242 |
+
1,91,64,24,0,29.2,0.192,21,0
|
| 243 |
+
4,91,70,32,88,33.1,0.446,22,0
|
| 244 |
+
3,139,54,0,0,25.6,0.402,22,1
|
| 245 |
+
6,119,50,22,176,27.1,1.318,33,1
|
| 246 |
+
2,146,76,35,194,38.2,0.329,29,0
|
| 247 |
+
9,184,85,15,0,30,1.213,49,1
|
| 248 |
+
10,122,68,0,0,31.2,0.258,41,0
|
| 249 |
+
0,165,90,33,680,52.3,0.427,23,0
|
| 250 |
+
9,124,70,33,402,35.4,0.282,34,0
|
| 251 |
+
1,111,86,19,0,30.1,0.143,23,0
|
| 252 |
+
9,106,52,0,0,31.2,0.38,42,0
|
| 253 |
+
2,129,84,0,0,28,0.284,27,0
|
| 254 |
+
2,90,80,14,55,24.4,0.249,24,0
|
| 255 |
+
0,86,68,32,0,35.8,0.238,25,0
|
| 256 |
+
12,92,62,7,258,27.6,0.926,44,1
|
| 257 |
+
1,113,64,35,0,33.6,0.543,21,1
|
| 258 |
+
3,111,56,39,0,30.1,0.557,30,0
|
| 259 |
+
2,114,68,22,0,28.7,0.092,25,0
|
| 260 |
+
1,193,50,16,375,25.9,0.655,24,0
|
| 261 |
+
11,155,76,28,150,33.3,1.353,51,1
|
| 262 |
+
3,191,68,15,130,30.9,0.299,34,0
|
| 263 |
+
3,141,0,0,0,30,0.761,27,1
|
| 264 |
+
4,95,70,32,0,32.1,0.612,24,0
|
| 265 |
+
3,142,80,15,0,32.4,0.2,63,0
|
| 266 |
+
4,123,62,0,0,32,0.226,35,1
|
| 267 |
+
5,96,74,18,67,33.6,0.997,43,0
|
| 268 |
+
0,138,0,0,0,36.3,0.933,25,1
|
| 269 |
+
2,128,64,42,0,40,1.101,24,0
|
| 270 |
+
0,102,52,0,0,25.1,0.078,21,0
|
| 271 |
+
2,146,0,0,0,27.5,0.24,28,1
|
| 272 |
+
10,101,86,37,0,45.6,1.136,38,1
|
| 273 |
+
2,108,62,32,56,25.2,0.128,21,0
|
| 274 |
+
3,122,78,0,0,23,0.254,40,0
|
| 275 |
+
1,71,78,50,45,33.2,0.422,21,0
|
| 276 |
+
13,106,70,0,0,34.2,0.251,52,0
|
| 277 |
+
2,100,70,52,57,40.5,0.677,25,0
|
| 278 |
+
7,106,60,24,0,26.5,0.296,29,1
|
| 279 |
+
0,104,64,23,116,27.8,0.454,23,0
|
| 280 |
+
5,114,74,0,0,24.9,0.744,57,0
|
| 281 |
+
2,108,62,10,278,25.3,0.881,22,0
|
| 282 |
+
0,146,70,0,0,37.9,0.334,28,1
|
| 283 |
+
10,129,76,28,122,35.9,0.28,39,0
|
| 284 |
+
7,133,88,15,155,32.4,0.262,37,0
|
| 285 |
+
7,161,86,0,0,30.4,0.165,47,1
|
| 286 |
+
2,108,80,0,0,27,0.259,52,1
|
| 287 |
+
7,136,74,26,135,26,0.647,51,0
|
| 288 |
+
5,155,84,44,545,38.7,0.619,34,0
|
| 289 |
+
1,119,86,39,220,45.6,0.808,29,1
|
| 290 |
+
4,96,56,17,49,20.8,0.34,26,0
|
| 291 |
+
5,108,72,43,75,36.1,0.263,33,0
|
| 292 |
+
0,78,88,29,40,36.9,0.434,21,0
|
| 293 |
+
0,107,62,30,74,36.6,0.757,25,1
|
| 294 |
+
2,128,78,37,182,43.3,1.224,31,1
|
| 295 |
+
1,128,48,45,194,40.5,0.613,24,1
|
| 296 |
+
0,161,50,0,0,21.9,0.254,65,0
|
| 297 |
+
6,151,62,31,120,35.5,0.692,28,0
|
| 298 |
+
2,146,70,38,360,28,0.337,29,1
|
| 299 |
+
0,126,84,29,215,30.7,0.52,24,0
|
| 300 |
+
14,100,78,25,184,36.6,0.412,46,1
|
| 301 |
+
8,112,72,0,0,23.6,0.84,58,0
|
| 302 |
+
0,167,0,0,0,32.3,0.839,30,1
|
| 303 |
+
2,144,58,33,135,31.6,0.422,25,1
|
| 304 |
+
5,77,82,41,42,35.8,0.156,35,0
|
| 305 |
+
5,115,98,0,0,52.9,0.209,28,1
|
| 306 |
+
3,150,76,0,0,21,0.207,37,0
|
| 307 |
+
2,120,76,37,105,39.7,0.215,29,0
|
| 308 |
+
10,161,68,23,132,25.5,0.326,47,1
|
| 309 |
+
0,137,68,14,148,24.8,0.143,21,0
|
| 310 |
+
0,128,68,19,180,30.5,1.391,25,1
|
| 311 |
+
2,124,68,28,205,32.9,0.875,30,1
|
| 312 |
+
6,80,66,30,0,26.2,0.313,41,0
|
| 313 |
+
0,106,70,37,148,39.4,0.605,22,0
|
| 314 |
+
2,155,74,17,96,26.6,0.433,27,1
|
| 315 |
+
3,113,50,10,85,29.5,0.626,25,0
|
| 316 |
+
7,109,80,31,0,35.9,1.127,43,1
|
| 317 |
+
2,112,68,22,94,34.1,0.315,26,0
|
| 318 |
+
3,99,80,11,64,19.3,0.284,30,0
|
| 319 |
+
3,182,74,0,0,30.5,0.345,29,1
|
| 320 |
+
3,115,66,39,140,38.1,0.15,28,0
|
| 321 |
+
6,194,78,0,0,23.5,0.129,59,1
|
| 322 |
+
4,129,60,12,231,27.5,0.527,31,0
|
| 323 |
+
3,112,74,30,0,31.6,0.197,25,1
|
| 324 |
+
0,124,70,20,0,27.4,0.254,36,1
|
| 325 |
+
13,152,90,33,29,26.8,0.731,43,1
|
| 326 |
+
2,112,75,32,0,35.7,0.148,21,0
|
| 327 |
+
1,157,72,21,168,25.6,0.123,24,0
|
| 328 |
+
1,122,64,32,156,35.1,0.692,30,1
|
| 329 |
+
10,179,70,0,0,35.1,0.2,37,0
|
| 330 |
+
2,102,86,36,120,45.5,0.127,23,1
|
| 331 |
+
6,105,70,32,68,30.8,0.122,37,0
|
| 332 |
+
8,118,72,19,0,23.1,1.476,46,0
|
| 333 |
+
2,87,58,16,52,32.7,0.166,25,0
|
| 334 |
+
1,180,0,0,0,43.3,0.282,41,1
|
| 335 |
+
12,106,80,0,0,23.6,0.137,44,0
|
| 336 |
+
1,95,60,18,58,23.9,0.26,22,0
|
| 337 |
+
0,165,76,43,255,47.9,0.259,26,0
|
| 338 |
+
0,117,0,0,0,33.8,0.932,44,0
|
| 339 |
+
5,115,76,0,0,31.2,0.343,44,1
|
| 340 |
+
9,152,78,34,171,34.2,0.893,33,1
|
| 341 |
+
7,178,84,0,0,39.9,0.331,41,1
|
| 342 |
+
1,130,70,13,105,25.9,0.472,22,0
|
| 343 |
+
1,95,74,21,73,25.9,0.673,36,0
|
| 344 |
+
1,0,68,35,0,32,0.389,22,0
|
| 345 |
+
5,122,86,0,0,34.7,0.29,33,0
|
| 346 |
+
8,95,72,0,0,36.8,0.485,57,0
|
| 347 |
+
8,126,88,36,108,38.5,0.349,49,0
|
| 348 |
+
1,139,46,19,83,28.7,0.654,22,0
|
| 349 |
+
3,116,0,0,0,23.5,0.187,23,0
|
| 350 |
+
3,99,62,19,74,21.8,0.279,26,0
|
| 351 |
+
5,0,80,32,0,41,0.346,37,1
|
| 352 |
+
4,92,80,0,0,42.2,0.237,29,0
|
| 353 |
+
4,137,84,0,0,31.2,0.252,30,0
|
| 354 |
+
3,61,82,28,0,34.4,0.243,46,0
|
| 355 |
+
1,90,62,12,43,27.2,0.58,24,0
|
| 356 |
+
3,90,78,0,0,42.7,0.559,21,0
|
| 357 |
+
9,165,88,0,0,30.4,0.302,49,1
|
| 358 |
+
1,125,50,40,167,33.3,0.962,28,1
|
| 359 |
+
13,129,0,30,0,39.9,0.569,44,1
|
| 360 |
+
12,88,74,40,54,35.3,0.378,48,0
|
| 361 |
+
1,196,76,36,249,36.5,0.875,29,1
|
| 362 |
+
5,189,64,33,325,31.2,0.583,29,1
|
| 363 |
+
5,158,70,0,0,29.8,0.207,63,0
|
| 364 |
+
5,103,108,37,0,39.2,0.305,65,0
|
| 365 |
+
4,146,78,0,0,38.5,0.52,67,1
|
| 366 |
+
4,147,74,25,293,34.9,0.385,30,0
|
| 367 |
+
5,99,54,28,83,34,0.499,30,0
|
| 368 |
+
6,124,72,0,0,27.6,0.368,29,1
|
| 369 |
+
0,101,64,17,0,21,0.252,21,0
|
| 370 |
+
3,81,86,16,66,27.5,0.306,22,0
|
| 371 |
+
1,133,102,28,140,32.8,0.234,45,1
|
| 372 |
+
3,173,82,48,465,38.4,2.137,25,1
|
| 373 |
+
0,118,64,23,89,0,1.731,21,0
|
| 374 |
+
0,84,64,22,66,35.8,0.545,21,0
|
| 375 |
+
2,105,58,40,94,34.9,0.225,25,0
|
| 376 |
+
2,122,52,43,158,36.2,0.816,28,0
|
| 377 |
+
12,140,82,43,325,39.2,0.528,58,1
|
| 378 |
+
0,98,82,15,84,25.2,0.299,22,0
|
| 379 |
+
1,87,60,37,75,37.2,0.509,22,0
|
| 380 |
+
4,156,75,0,0,48.3,0.238,32,1
|
| 381 |
+
0,93,100,39,72,43.4,1.021,35,0
|
| 382 |
+
1,107,72,30,82,30.8,0.821,24,0
|
| 383 |
+
0,105,68,22,0,20,0.236,22,0
|
| 384 |
+
1,109,60,8,182,25.4,0.947,21,0
|
| 385 |
+
1,90,62,18,59,25.1,1.268,25,0
|
| 386 |
+
1,125,70,24,110,24.3,0.221,25,0
|
| 387 |
+
1,119,54,13,50,22.3,0.205,24,0
|
| 388 |
+
5,116,74,29,0,32.3,0.66,35,1
|
| 389 |
+
8,105,100,36,0,43.3,0.239,45,1
|
| 390 |
+
5,144,82,26,285,32,0.452,58,1
|
| 391 |
+
3,100,68,23,81,31.6,0.949,28,0
|
| 392 |
+
1,100,66,29,196,32,0.444,42,0
|
| 393 |
+
5,166,76,0,0,45.7,0.34,27,1
|
| 394 |
+
1,131,64,14,415,23.7,0.389,21,0
|
| 395 |
+
4,116,72,12,87,22.1,0.463,37,0
|
| 396 |
+
4,158,78,0,0,32.9,0.803,31,1
|
| 397 |
+
2,127,58,24,275,27.7,1.6,25,0
|
| 398 |
+
3,96,56,34,115,24.7,0.944,39,0
|
| 399 |
+
0,131,66,40,0,34.3,0.196,22,1
|
| 400 |
+
3,82,70,0,0,21.1,0.389,25,0
|
| 401 |
+
3,193,70,31,0,34.9,0.241,25,1
|
| 402 |
+
4,95,64,0,0,32,0.161,31,1
|
| 403 |
+
6,137,61,0,0,24.2,0.151,55,0
|
| 404 |
+
5,136,84,41,88,35,0.286,35,1
|
| 405 |
+
9,72,78,25,0,31.6,0.28,38,0
|
| 406 |
+
5,168,64,0,0,32.9,0.135,41,1
|
| 407 |
+
2,123,48,32,165,42.1,0.52,26,0
|
| 408 |
+
4,115,72,0,0,28.9,0.376,46,1
|
| 409 |
+
0,101,62,0,0,21.9,0.336,25,0
|
| 410 |
+
8,197,74,0,0,25.9,1.191,39,1
|
| 411 |
+
1,172,68,49,579,42.4,0.702,28,1
|
| 412 |
+
6,102,90,39,0,35.7,0.674,28,0
|
| 413 |
+
1,112,72,30,176,34.4,0.528,25,0
|
| 414 |
+
1,143,84,23,310,42.4,1.076,22,0
|
| 415 |
+
1,143,74,22,61,26.2,0.256,21,0
|
| 416 |
+
0,138,60,35,167,34.6,0.534,21,1
|
| 417 |
+
3,173,84,33,474,35.7,0.258,22,1
|
| 418 |
+
1,97,68,21,0,27.2,1.095,22,0
|
| 419 |
+
4,144,82,32,0,38.5,0.554,37,1
|
| 420 |
+
1,83,68,0,0,18.2,0.624,27,0
|
| 421 |
+
3,129,64,29,115,26.4,0.219,28,1
|
| 422 |
+
1,119,88,41,170,45.3,0.507,26,0
|
| 423 |
+
2,94,68,18,76,26,0.561,21,0
|
| 424 |
+
0,102,64,46,78,40.6,0.496,21,0
|
| 425 |
+
2,115,64,22,0,30.8,0.421,21,0
|
| 426 |
+
8,151,78,32,210,42.9,0.516,36,1
|
| 427 |
+
4,184,78,39,277,37,0.264,31,1
|
| 428 |
+
0,94,0,0,0,0,0.256,25,0
|
| 429 |
+
1,181,64,30,180,34.1,0.328,38,1
|
| 430 |
+
0,135,94,46,145,40.6,0.284,26,0
|
| 431 |
+
1,95,82,25,180,35,0.233,43,1
|
| 432 |
+
2,99,0,0,0,22.2,0.108,23,0
|
| 433 |
+
3,89,74,16,85,30.4,0.551,38,0
|
| 434 |
+
1,80,74,11,60,30,0.527,22,0
|
| 435 |
+
2,139,75,0,0,25.6,0.167,29,0
|
| 436 |
+
1,90,68,8,0,24.5,1.138,36,0
|
| 437 |
+
0,141,0,0,0,42.4,0.205,29,1
|
| 438 |
+
12,140,85,33,0,37.4,0.244,41,0
|
| 439 |
+
5,147,75,0,0,29.9,0.434,28,0
|
| 440 |
+
1,97,70,15,0,18.2,0.147,21,0
|
| 441 |
+
6,107,88,0,0,36.8,0.727,31,0
|
| 442 |
+
0,189,104,25,0,34.3,0.435,41,1
|
| 443 |
+
2,83,66,23,50,32.2,0.497,22,0
|
| 444 |
+
4,117,64,27,120,33.2,0.23,24,0
|
| 445 |
+
8,108,70,0,0,30.5,0.955,33,1
|
| 446 |
+
4,117,62,12,0,29.7,0.38,30,1
|
| 447 |
+
0,180,78,63,14,59.4,2.42,25,1
|
| 448 |
+
1,100,72,12,70,25.3,0.658,28,0
|
| 449 |
+
0,95,80,45,92,36.5,0.33,26,0
|
| 450 |
+
0,104,64,37,64,33.6,0.51,22,1
|
| 451 |
+
0,120,74,18,63,30.5,0.285,26,0
|
| 452 |
+
1,82,64,13,95,21.2,0.415,23,0
|
| 453 |
+
2,134,70,0,0,28.9,0.542,23,1
|
| 454 |
+
0,91,68,32,210,39.9,0.381,25,0
|
| 455 |
+
2,119,0,0,0,19.6,0.832,72,0
|
| 456 |
+
2,100,54,28,105,37.8,0.498,24,0
|
| 457 |
+
14,175,62,30,0,33.6,0.212,38,1
|
| 458 |
+
1,135,54,0,0,26.7,0.687,62,0
|
| 459 |
+
5,86,68,28,71,30.2,0.364,24,0
|
| 460 |
+
10,148,84,48,237,37.6,1.001,51,1
|
| 461 |
+
9,134,74,33,60,25.9,0.46,81,0
|
| 462 |
+
9,120,72,22,56,20.8,0.733,48,0
|
| 463 |
+
1,71,62,0,0,21.8,0.416,26,0
|
| 464 |
+
8,74,70,40,49,35.3,0.705,39,0
|
| 465 |
+
5,88,78,30,0,27.6,0.258,37,0
|
| 466 |
+
10,115,98,0,0,24,1.022,34,0
|
| 467 |
+
0,124,56,13,105,21.8,0.452,21,0
|
| 468 |
+
0,74,52,10,36,27.8,0.269,22,0
|
| 469 |
+
0,97,64,36,100,36.8,0.6,25,0
|
| 470 |
+
8,120,0,0,0,30,0.183,38,1
|
| 471 |
+
6,154,78,41,140,46.1,0.571,27,0
|
| 472 |
+
1,144,82,40,0,41.3,0.607,28,0
|
| 473 |
+
0,137,70,38,0,33.2,0.17,22,0
|
| 474 |
+
0,119,66,27,0,38.8,0.259,22,0
|
| 475 |
+
7,136,90,0,0,29.9,0.21,50,0
|
| 476 |
+
4,114,64,0,0,28.9,0.126,24,0
|
| 477 |
+
0,137,84,27,0,27.3,0.231,59,0
|
| 478 |
+
2,105,80,45,191,33.7,0.711,29,1
|
| 479 |
+
7,114,76,17,110,23.8,0.466,31,0
|
| 480 |
+
8,126,74,38,75,25.9,0.162,39,0
|
| 481 |
+
4,132,86,31,0,28,0.419,63,0
|
| 482 |
+
3,158,70,30,328,35.5,0.344,35,1
|
| 483 |
+
0,123,88,37,0,35.2,0.197,29,0
|
| 484 |
+
4,85,58,22,49,27.8,0.306,28,0
|
| 485 |
+
0,84,82,31,125,38.2,0.233,23,0
|
| 486 |
+
0,145,0,0,0,44.2,0.63,31,1
|
| 487 |
+
0,135,68,42,250,42.3,0.365,24,1
|
| 488 |
+
1,139,62,41,480,40.7,0.536,21,0
|
| 489 |
+
0,173,78,32,265,46.5,1.159,58,0
|
| 490 |
+
4,99,72,17,0,25.6,0.294,28,0
|
| 491 |
+
8,194,80,0,0,26.1,0.551,67,0
|
| 492 |
+
2,83,65,28,66,36.8,0.629,24,0
|
| 493 |
+
2,89,90,30,0,33.5,0.292,42,0
|
| 494 |
+
4,99,68,38,0,32.8,0.145,33,0
|
| 495 |
+
4,125,70,18,122,28.9,1.144,45,1
|
| 496 |
+
3,80,0,0,0,0,0.174,22,0
|
| 497 |
+
6,166,74,0,0,26.6,0.304,66,0
|
| 498 |
+
5,110,68,0,0,26,0.292,30,0
|
| 499 |
+
2,81,72,15,76,30.1,0.547,25,0
|
| 500 |
+
7,195,70,33,145,25.1,0.163,55,1
|
| 501 |
+
6,154,74,32,193,29.3,0.839,39,0
|
| 502 |
+
2,117,90,19,71,25.2,0.313,21,0
|
| 503 |
+
3,84,72,32,0,37.2,0.267,28,0
|
| 504 |
+
6,0,68,41,0,39,0.727,41,1
|
| 505 |
+
7,94,64,25,79,33.3,0.738,41,0
|
| 506 |
+
3,96,78,39,0,37.3,0.238,40,0
|
| 507 |
+
10,75,82,0,0,33.3,0.263,38,0
|
| 508 |
+
0,180,90,26,90,36.5,0.314,35,1
|
| 509 |
+
1,130,60,23,170,28.6,0.692,21,0
|
| 510 |
+
2,84,50,23,76,30.4,0.968,21,0
|
| 511 |
+
8,120,78,0,0,25,0.409,64,0
|
| 512 |
+
12,84,72,31,0,29.7,0.297,46,1
|
| 513 |
+
0,139,62,17,210,22.1,0.207,21,0
|
| 514 |
+
9,91,68,0,0,24.2,0.2,58,0
|
| 515 |
+
2,91,62,0,0,27.3,0.525,22,0
|
| 516 |
+
3,99,54,19,86,25.6,0.154,24,0
|
| 517 |
+
3,163,70,18,105,31.6,0.268,28,1
|
| 518 |
+
9,145,88,34,165,30.3,0.771,53,1
|
| 519 |
+
7,125,86,0,0,37.6,0.304,51,0
|
| 520 |
+
13,76,60,0,0,32.8,0.18,41,0
|
| 521 |
+
6,129,90,7,326,19.6,0.582,60,0
|
| 522 |
+
2,68,70,32,66,25,0.187,25,0
|
| 523 |
+
3,124,80,33,130,33.2,0.305,26,0
|
| 524 |
+
6,114,0,0,0,0,0.189,26,0
|
| 525 |
+
9,130,70,0,0,34.2,0.652,45,1
|
| 526 |
+
3,125,58,0,0,31.6,0.151,24,0
|
| 527 |
+
3,87,60,18,0,21.8,0.444,21,0
|
| 528 |
+
1,97,64,19,82,18.2,0.299,21,0
|
| 529 |
+
3,116,74,15,105,26.3,0.107,24,0
|
| 530 |
+
0,117,66,31,188,30.8,0.493,22,0
|
| 531 |
+
0,111,65,0,0,24.6,0.66,31,0
|
| 532 |
+
2,122,60,18,106,29.8,0.717,22,0
|
| 533 |
+
0,107,76,0,0,45.3,0.686,24,0
|
| 534 |
+
1,86,66,52,65,41.3,0.917,29,0
|
| 535 |
+
6,91,0,0,0,29.8,0.501,31,0
|
| 536 |
+
1,77,56,30,56,33.3,1.251,24,0
|
| 537 |
+
4,132,0,0,0,32.9,0.302,23,1
|
| 538 |
+
0,105,90,0,0,29.6,0.197,46,0
|
| 539 |
+
0,57,60,0,0,21.7,0.735,67,0
|
| 540 |
+
0,127,80,37,210,36.3,0.804,23,0
|
| 541 |
+
3,129,92,49,155,36.4,0.968,32,1
|
| 542 |
+
8,100,74,40,215,39.4,0.661,43,1
|
| 543 |
+
3,128,72,25,190,32.4,0.549,27,1
|
| 544 |
+
10,90,85,32,0,34.9,0.825,56,1
|
| 545 |
+
4,84,90,23,56,39.5,0.159,25,0
|
| 546 |
+
1,88,78,29,76,32,0.365,29,0
|
| 547 |
+
8,186,90,35,225,34.5,0.423,37,1
|
| 548 |
+
5,187,76,27,207,43.6,1.034,53,1
|
| 549 |
+
4,131,68,21,166,33.1,0.16,28,0
|
| 550 |
+
1,164,82,43,67,32.8,0.341,50,0
|
| 551 |
+
4,189,110,31,0,28.5,0.68,37,0
|
| 552 |
+
1,116,70,28,0,27.4,0.204,21,0
|
| 553 |
+
3,84,68,30,106,31.9,0.591,25,0
|
| 554 |
+
6,114,88,0,0,27.8,0.247,66,0
|
| 555 |
+
1,88,62,24,44,29.9,0.422,23,0
|
| 556 |
+
1,84,64,23,115,36.9,0.471,28,0
|
| 557 |
+
7,124,70,33,215,25.5,0.161,37,0
|
| 558 |
+
1,97,70,40,0,38.1,0.218,30,0
|
| 559 |
+
8,110,76,0,0,27.8,0.237,58,0
|
| 560 |
+
11,103,68,40,0,46.2,0.126,42,0
|
| 561 |
+
11,85,74,0,0,30.1,0.3,35,0
|
| 562 |
+
6,125,76,0,0,33.8,0.121,54,1
|
| 563 |
+
0,198,66,32,274,41.3,0.502,28,1
|
| 564 |
+
1,87,68,34,77,37.6,0.401,24,0
|
| 565 |
+
6,99,60,19,54,26.9,0.497,32,0
|
| 566 |
+
0,91,80,0,0,32.4,0.601,27,0
|
| 567 |
+
2,95,54,14,88,26.1,0.748,22,0
|
| 568 |
+
1,99,72,30,18,38.6,0.412,21,0
|
| 569 |
+
6,92,62,32,126,32,0.085,46,0
|
| 570 |
+
4,154,72,29,126,31.3,0.338,37,0
|
| 571 |
+
0,121,66,30,165,34.3,0.203,33,1
|
| 572 |
+
3,78,70,0,0,32.5,0.27,39,0
|
| 573 |
+
2,130,96,0,0,22.6,0.268,21,0
|
| 574 |
+
3,111,58,31,44,29.5,0.43,22,0
|
| 575 |
+
2,98,60,17,120,34.7,0.198,22,0
|
| 576 |
+
1,143,86,30,330,30.1,0.892,23,0
|
| 577 |
+
1,119,44,47,63,35.5,0.28,25,0
|
| 578 |
+
6,108,44,20,130,24,0.813,35,0
|
| 579 |
+
2,118,80,0,0,42.9,0.693,21,1
|
| 580 |
+
10,133,68,0,0,27,0.245,36,0
|
| 581 |
+
2,197,70,99,0,34.7,0.575,62,1
|
| 582 |
+
0,151,90,46,0,42.1,0.371,21,1
|
| 583 |
+
6,109,60,27,0,25,0.206,27,0
|
| 584 |
+
12,121,78,17,0,26.5,0.259,62,0
|
| 585 |
+
8,100,76,0,0,38.7,0.19,42,0
|
| 586 |
+
8,124,76,24,600,28.7,0.687,52,1
|
| 587 |
+
1,93,56,11,0,22.5,0.417,22,0
|
| 588 |
+
8,143,66,0,0,34.9,0.129,41,1
|
| 589 |
+
6,103,66,0,0,24.3,0.249,29,0
|
| 590 |
+
3,176,86,27,156,33.3,1.154,52,1
|
| 591 |
+
0,73,0,0,0,21.1,0.342,25,0
|
| 592 |
+
11,111,84,40,0,46.8,0.925,45,1
|
| 593 |
+
2,112,78,50,140,39.4,0.175,24,0
|
| 594 |
+
3,132,80,0,0,34.4,0.402,44,1
|
| 595 |
+
2,82,52,22,115,28.5,1.699,25,0
|
| 596 |
+
6,123,72,45,230,33.6,0.733,34,0
|
| 597 |
+
0,188,82,14,185,32,0.682,22,1
|
| 598 |
+
0,67,76,0,0,45.3,0.194,46,0
|
| 599 |
+
1,89,24,19,25,27.8,0.559,21,0
|
| 600 |
+
1,173,74,0,0,36.8,0.088,38,1
|
| 601 |
+
1,109,38,18,120,23.1,0.407,26,0
|
| 602 |
+
1,108,88,19,0,27.1,0.4,24,0
|
| 603 |
+
6,96,0,0,0,23.7,0.19,28,0
|
| 604 |
+
1,124,74,36,0,27.8,0.1,30,0
|
| 605 |
+
7,150,78,29,126,35.2,0.692,54,1
|
| 606 |
+
4,183,0,0,0,28.4,0.212,36,1
|
| 607 |
+
1,124,60,32,0,35.8,0.514,21,0
|
| 608 |
+
1,181,78,42,293,40,1.258,22,1
|
| 609 |
+
1,92,62,25,41,19.5,0.482,25,0
|
| 610 |
+
0,152,82,39,272,41.5,0.27,27,0
|
| 611 |
+
1,111,62,13,182,24,0.138,23,0
|
| 612 |
+
3,106,54,21,158,30.9,0.292,24,0
|
| 613 |
+
3,174,58,22,194,32.9,0.593,36,1
|
| 614 |
+
7,168,88,42,321,38.2,0.787,40,1
|
| 615 |
+
6,105,80,28,0,32.5,0.878,26,0
|
| 616 |
+
11,138,74,26,144,36.1,0.557,50,1
|
| 617 |
+
3,106,72,0,0,25.8,0.207,27,0
|
| 618 |
+
6,117,96,0,0,28.7,0.157,30,0
|
| 619 |
+
2,68,62,13,15,20.1,0.257,23,0
|
| 620 |
+
9,112,82,24,0,28.2,1.282,50,1
|
| 621 |
+
0,119,0,0,0,32.4,0.141,24,1
|
| 622 |
+
2,112,86,42,160,38.4,0.246,28,0
|
| 623 |
+
2,92,76,20,0,24.2,1.698,28,0
|
| 624 |
+
6,183,94,0,0,40.8,1.461,45,0
|
| 625 |
+
0,94,70,27,115,43.5,0.347,21,0
|
| 626 |
+
2,108,64,0,0,30.8,0.158,21,0
|
| 627 |
+
4,90,88,47,54,37.7,0.362,29,0
|
| 628 |
+
0,125,68,0,0,24.7,0.206,21,0
|
| 629 |
+
0,132,78,0,0,32.4,0.393,21,0
|
| 630 |
+
5,128,80,0,0,34.6,0.144,45,0
|
| 631 |
+
4,94,65,22,0,24.7,0.148,21,0
|
| 632 |
+
7,114,64,0,0,27.4,0.732,34,1
|
| 633 |
+
0,102,78,40,90,34.5,0.238,24,0
|
| 634 |
+
2,111,60,0,0,26.2,0.343,23,0
|
| 635 |
+
1,128,82,17,183,27.5,0.115,22,0
|
| 636 |
+
10,92,62,0,0,25.9,0.167,31,0
|
| 637 |
+
13,104,72,0,0,31.2,0.465,38,1
|
| 638 |
+
5,104,74,0,0,28.8,0.153,48,0
|
| 639 |
+
2,94,76,18,66,31.6,0.649,23,0
|
| 640 |
+
7,97,76,32,91,40.9,0.871,32,1
|
| 641 |
+
1,100,74,12,46,19.5,0.149,28,0
|
| 642 |
+
0,102,86,17,105,29.3,0.695,27,0
|
| 643 |
+
4,128,70,0,0,34.3,0.303,24,0
|
| 644 |
+
6,147,80,0,0,29.5,0.178,50,1
|
| 645 |
+
4,90,0,0,0,28,0.61,31,0
|
| 646 |
+
3,103,72,30,152,27.6,0.73,27,0
|
| 647 |
+
2,157,74,35,440,39.4,0.134,30,0
|
| 648 |
+
1,167,74,17,144,23.4,0.447,33,1
|
| 649 |
+
0,179,50,36,159,37.8,0.455,22,1
|
| 650 |
+
11,136,84,35,130,28.3,0.26,42,1
|
| 651 |
+
0,107,60,25,0,26.4,0.133,23,0
|
| 652 |
+
1,91,54,25,100,25.2,0.234,23,0
|
| 653 |
+
1,117,60,23,106,33.8,0.466,27,0
|
| 654 |
+
5,123,74,40,77,34.1,0.269,28,0
|
| 655 |
+
2,120,54,0,0,26.8,0.455,27,0
|
| 656 |
+
1,106,70,28,135,34.2,0.142,22,0
|
| 657 |
+
2,155,52,27,540,38.7,0.24,25,1
|
| 658 |
+
2,101,58,35,90,21.8,0.155,22,0
|
| 659 |
+
1,120,80,48,200,38.9,1.162,41,0
|
| 660 |
+
11,127,106,0,0,39,0.19,51,0
|
| 661 |
+
3,80,82,31,70,34.2,1.292,27,1
|
| 662 |
+
10,162,84,0,0,27.7,0.182,54,0
|
| 663 |
+
1,199,76,43,0,42.9,1.394,22,1
|
| 664 |
+
8,167,106,46,231,37.6,0.165,43,1
|
| 665 |
+
9,145,80,46,130,37.9,0.637,40,1
|
| 666 |
+
6,115,60,39,0,33.7,0.245,40,1
|
| 667 |
+
1,112,80,45,132,34.8,0.217,24,0
|
| 668 |
+
4,145,82,18,0,32.5,0.235,70,1
|
| 669 |
+
10,111,70,27,0,27.5,0.141,40,1
|
| 670 |
+
6,98,58,33,190,34,0.43,43,0
|
| 671 |
+
9,154,78,30,100,30.9,0.164,45,0
|
| 672 |
+
6,165,68,26,168,33.6,0.631,49,0
|
| 673 |
+
1,99,58,10,0,25.4,0.551,21,0
|
| 674 |
+
10,68,106,23,49,35.5,0.285,47,0
|
| 675 |
+
3,123,100,35,240,57.3,0.88,22,0
|
| 676 |
+
8,91,82,0,0,35.6,0.587,68,0
|
| 677 |
+
6,195,70,0,0,30.9,0.328,31,1
|
| 678 |
+
9,156,86,0,0,24.8,0.23,53,1
|
| 679 |
+
0,93,60,0,0,35.3,0.263,25,0
|
| 680 |
+
3,121,52,0,0,36,0.127,25,1
|
| 681 |
+
2,101,58,17,265,24.2,0.614,23,0
|
| 682 |
+
2,56,56,28,45,24.2,0.332,22,0
|
| 683 |
+
0,162,76,36,0,49.6,0.364,26,1
|
| 684 |
+
0,95,64,39,105,44.6,0.366,22,0
|
| 685 |
+
4,125,80,0,0,32.3,0.536,27,1
|
| 686 |
+
5,136,82,0,0,0,0.64,69,0
|
| 687 |
+
2,129,74,26,205,33.2,0.591,25,0
|
| 688 |
+
3,130,64,0,0,23.1,0.314,22,0
|
| 689 |
+
1,107,50,19,0,28.3,0.181,29,0
|
| 690 |
+
1,140,74,26,180,24.1,0.828,23,0
|
| 691 |
+
1,144,82,46,180,46.1,0.335,46,1
|
| 692 |
+
8,107,80,0,0,24.6,0.856,34,0
|
| 693 |
+
13,158,114,0,0,42.3,0.257,44,1
|
| 694 |
+
2,121,70,32,95,39.1,0.886,23,0
|
| 695 |
+
7,129,68,49,125,38.5,0.439,43,1
|
| 696 |
+
2,90,60,0,0,23.5,0.191,25,0
|
| 697 |
+
7,142,90,24,480,30.4,0.128,43,1
|
| 698 |
+
3,169,74,19,125,29.9,0.268,31,1
|
| 699 |
+
0,99,0,0,0,25,0.253,22,0
|
| 700 |
+
4,127,88,11,155,34.5,0.598,28,0
|
| 701 |
+
4,118,70,0,0,44.5,0.904,26,0
|
| 702 |
+
2,122,76,27,200,35.9,0.483,26,0
|
| 703 |
+
6,125,78,31,0,27.6,0.565,49,1
|
| 704 |
+
1,168,88,29,0,35,0.905,52,1
|
| 705 |
+
2,129,0,0,0,38.5,0.304,41,0
|
| 706 |
+
4,110,76,20,100,28.4,0.118,27,0
|
| 707 |
+
6,80,80,36,0,39.8,0.177,28,0
|
| 708 |
+
10,115,0,0,0,0,0.261,30,1
|
| 709 |
+
2,127,46,21,335,34.4,0.176,22,0
|
| 710 |
+
9,164,78,0,0,32.8,0.148,45,1
|
| 711 |
+
2,93,64,32,160,38,0.674,23,1
|
| 712 |
+
3,158,64,13,387,31.2,0.295,24,0
|
| 713 |
+
5,126,78,27,22,29.6,0.439,40,0
|
| 714 |
+
10,129,62,36,0,41.2,0.441,38,1
|
| 715 |
+
0,134,58,20,291,26.4,0.352,21,0
|
| 716 |
+
3,102,74,0,0,29.5,0.121,32,0
|
| 717 |
+
7,187,50,33,392,33.9,0.826,34,1
|
| 718 |
+
3,173,78,39,185,33.8,0.97,31,1
|
| 719 |
+
10,94,72,18,0,23.1,0.595,56,0
|
| 720 |
+
1,108,60,46,178,35.5,0.415,24,0
|
| 721 |
+
5,97,76,27,0,35.6,0.378,52,1
|
| 722 |
+
4,83,86,19,0,29.3,0.317,34,0
|
| 723 |
+
1,114,66,36,200,38.1,0.289,21,0
|
| 724 |
+
1,149,68,29,127,29.3,0.349,42,1
|
| 725 |
+
5,117,86,30,105,39.1,0.251,42,0
|
| 726 |
+
1,111,94,0,0,32.8,0.265,45,0
|
| 727 |
+
4,112,78,40,0,39.4,0.236,38,0
|
| 728 |
+
1,116,78,29,180,36.1,0.496,25,0
|
| 729 |
+
0,141,84,26,0,32.4,0.433,22,0
|
| 730 |
+
2,175,88,0,0,22.9,0.326,22,0
|
| 731 |
+
2,92,52,0,0,30.1,0.141,22,0
|
| 732 |
+
3,130,78,23,79,28.4,0.323,34,1
|
| 733 |
+
8,120,86,0,0,28.4,0.259,22,1
|
| 734 |
+
2,174,88,37,120,44.5,0.646,24,1
|
| 735 |
+
2,106,56,27,165,29,0.426,22,0
|
| 736 |
+
2,105,75,0,0,23.3,0.56,53,0
|
| 737 |
+
4,95,60,32,0,35.4,0.284,28,0
|
| 738 |
+
0,126,86,27,120,27.4,0.515,21,0
|
| 739 |
+
8,65,72,23,0,32,0.6,42,0
|
| 740 |
+
2,99,60,17,160,36.6,0.453,21,0
|
| 741 |
+
1,102,74,0,0,39.5,0.293,42,1
|
| 742 |
+
11,120,80,37,150,42.3,0.785,48,1
|
| 743 |
+
3,102,44,20,94,30.8,0.4,26,0
|
| 744 |
+
1,109,58,18,116,28.5,0.219,22,0
|
| 745 |
+
9,140,94,0,0,32.7,0.734,45,1
|
| 746 |
+
13,153,88,37,140,40.6,1.174,39,0
|
| 747 |
+
12,100,84,33,105,30,0.488,46,0
|
| 748 |
+
1,147,94,41,0,49.3,0.358,27,1
|
| 749 |
+
1,81,74,41,57,46.3,1.096,32,0
|
| 750 |
+
3,187,70,22,200,36.4,0.408,36,1
|
| 751 |
+
6,162,62,0,0,24.3,0.178,50,1
|
| 752 |
+
4,136,70,0,0,31.2,1.182,22,1
|
| 753 |
+
1,121,78,39,74,39,0.261,28,0
|
| 754 |
+
3,108,62,24,0,26,0.223,25,0
|
| 755 |
+
0,181,88,44,510,43.3,0.222,26,1
|
| 756 |
+
8,154,78,32,0,32.4,0.443,45,1
|
| 757 |
+
1,128,88,39,110,36.5,1.057,37,1
|
| 758 |
+
7,137,90,41,0,32,0.391,39,0
|
| 759 |
+
0,123,72,0,0,36.3,0.258,52,1
|
| 760 |
+
1,106,76,0,0,37.5,0.197,26,0
|
| 761 |
+
6,190,92,0,0,35.5,0.278,66,1
|
| 762 |
+
2,88,58,26,16,28.4,0.766,22,0
|
| 763 |
+
9,170,74,31,0,44,0.403,43,1
|
| 764 |
+
9,89,62,0,0,22.5,0.142,33,0
|
| 765 |
+
10,101,76,48,180,32.9,0.171,63,0
|
| 766 |
+
2,122,70,27,0,36.8,0.34,27,0
|
| 767 |
+
5,121,72,23,112,26.2,0.245,30,0
|
| 768 |
+
1,126,60,0,0,30.1,0.349,47,1
|
| 769 |
+
1,93,70,31,0,30.4,0.315,23,0
|
datasets/heart.csv
ADDED
|
@@ -0,0 +1,1026 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
age,sex,cp,trestbps,chol,fbs,restecg,thalach,exang,oldpeak,slope,ca,thal,target
|
| 2 |
+
52,1,0,125,212,0,1,168,0,1,2,2,3,0
|
| 3 |
+
53,1,0,140,203,1,0,155,1,3.1,0,0,3,0
|
| 4 |
+
70,1,0,145,174,0,1,125,1,2.6,0,0,3,0
|
| 5 |
+
61,1,0,148,203,0,1,161,0,0,2,1,3,0
|
| 6 |
+
62,0,0,138,294,1,1,106,0,1.9,1,3,2,0
|
| 7 |
+
58,0,0,100,248,0,0,122,0,1,1,0,2,1
|
| 8 |
+
58,1,0,114,318,0,2,140,0,4.4,0,3,1,0
|
| 9 |
+
55,1,0,160,289,0,0,145,1,0.8,1,1,3,0
|
| 10 |
+
46,1,0,120,249,0,0,144,0,0.8,2,0,3,0
|
| 11 |
+
54,1,0,122,286,0,0,116,1,3.2,1,2,2,0
|
| 12 |
+
71,0,0,112,149,0,1,125,0,1.6,1,0,2,1
|
| 13 |
+
43,0,0,132,341,1,0,136,1,3,1,0,3,0
|
| 14 |
+
34,0,1,118,210,0,1,192,0,0.7,2,0,2,1
|
| 15 |
+
51,1,0,140,298,0,1,122,1,4.2,1,3,3,0
|
| 16 |
+
52,1,0,128,204,1,1,156,1,1,1,0,0,0
|
| 17 |
+
34,0,1,118,210,0,1,192,0,0.7,2,0,2,1
|
| 18 |
+
51,0,2,140,308,0,0,142,0,1.5,2,1,2,1
|
| 19 |
+
54,1,0,124,266,0,0,109,1,2.2,1,1,3,0
|
| 20 |
+
50,0,1,120,244,0,1,162,0,1.1,2,0,2,1
|
| 21 |
+
58,1,2,140,211,1,0,165,0,0,2,0,2,1
|
| 22 |
+
60,1,2,140,185,0,0,155,0,3,1,0,2,0
|
| 23 |
+
67,0,0,106,223,0,1,142,0,0.3,2,2,2,1
|
| 24 |
+
45,1,0,104,208,0,0,148,1,3,1,0,2,1
|
| 25 |
+
63,0,2,135,252,0,0,172,0,0,2,0,2,1
|
| 26 |
+
42,0,2,120,209,0,1,173,0,0,1,0,2,1
|
| 27 |
+
61,0,0,145,307,0,0,146,1,1,1,0,3,0
|
| 28 |
+
44,1,2,130,233,0,1,179,1,0.4,2,0,2,1
|
| 29 |
+
58,0,1,136,319,1,0,152,0,0,2,2,2,0
|
| 30 |
+
56,1,2,130,256,1,0,142,1,0.6,1,1,1,0
|
| 31 |
+
55,0,0,180,327,0,2,117,1,3.4,1,0,2,0
|
| 32 |
+
44,1,0,120,169,0,1,144,1,2.8,0,0,1,0
|
| 33 |
+
50,0,1,120,244,0,1,162,0,1.1,2,0,2,1
|
| 34 |
+
57,1,0,130,131,0,1,115,1,1.2,1,1,3,0
|
| 35 |
+
70,1,2,160,269,0,1,112,1,2.9,1,1,3,0
|
| 36 |
+
50,1,2,129,196,0,1,163,0,0,2,0,2,1
|
| 37 |
+
46,1,2,150,231,0,1,147,0,3.6,1,0,2,0
|
| 38 |
+
51,1,3,125,213,0,0,125,1,1.4,2,1,2,1
|
| 39 |
+
59,1,0,138,271,0,0,182,0,0,2,0,2,1
|
| 40 |
+
64,1,0,128,263,0,1,105,1,0.2,1,1,3,1
|
| 41 |
+
57,1,2,128,229,0,0,150,0,0.4,1,1,3,0
|
| 42 |
+
65,0,2,160,360,0,0,151,0,0.8,2,0,2,1
|
| 43 |
+
54,1,2,120,258,0,0,147,0,0.4,1,0,3,1
|
| 44 |
+
61,0,0,130,330,0,0,169,0,0,2,0,2,0
|
| 45 |
+
46,1,0,120,249,0,0,144,0,0.8,2,0,3,0
|
| 46 |
+
55,0,1,132,342,0,1,166,0,1.2,2,0,2,1
|
| 47 |
+
42,1,0,140,226,0,1,178,0,0,2,0,2,1
|
| 48 |
+
41,1,1,135,203,0,1,132,0,0,1,0,1,1
|
| 49 |
+
66,0,0,178,228,1,1,165,1,1,1,2,3,0
|
| 50 |
+
66,0,2,146,278,0,0,152,0,0,1,1,2,1
|
| 51 |
+
60,1,0,117,230,1,1,160,1,1.4,2,2,3,0
|
| 52 |
+
58,0,3,150,283,1,0,162,0,1,2,0,2,1
|
| 53 |
+
57,0,0,140,241,0,1,123,1,0.2,1,0,3,0
|
| 54 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 55 |
+
49,1,2,120,188,0,1,139,0,2,1,3,3,0
|
| 56 |
+
55,1,0,140,217,0,1,111,1,5.6,0,0,3,0
|
| 57 |
+
55,1,0,140,217,0,1,111,1,5.6,0,0,3,0
|
| 58 |
+
56,1,3,120,193,0,0,162,0,1.9,1,0,3,1
|
| 59 |
+
48,1,1,130,245,0,0,180,0,0.2,1,0,2,1
|
| 60 |
+
67,1,2,152,212,0,0,150,0,0.8,1,0,3,0
|
| 61 |
+
57,1,1,154,232,0,0,164,0,0,2,1,2,0
|
| 62 |
+
29,1,1,130,204,0,0,202,0,0,2,0,2,1
|
| 63 |
+
66,0,2,146,278,0,0,152,0,0,1,1,2,1
|
| 64 |
+
67,1,0,100,299,0,0,125,1,0.9,1,2,2,0
|
| 65 |
+
59,1,2,150,212,1,1,157,0,1.6,2,0,2,1
|
| 66 |
+
29,1,1,130,204,0,0,202,0,0,2,0,2,1
|
| 67 |
+
59,1,3,170,288,0,0,159,0,0.2,1,0,3,0
|
| 68 |
+
53,1,2,130,197,1,0,152,0,1.2,0,0,2,1
|
| 69 |
+
42,1,0,136,315,0,1,125,1,1.8,1,0,1,0
|
| 70 |
+
37,0,2,120,215,0,1,170,0,0,2,0,2,1
|
| 71 |
+
62,0,0,160,164,0,0,145,0,6.2,0,3,3,0
|
| 72 |
+
59,1,0,170,326,0,0,140,1,3.4,0,0,3,0
|
| 73 |
+
61,1,0,140,207,0,0,138,1,1.9,2,1,3,0
|
| 74 |
+
56,1,0,125,249,1,0,144,1,1.2,1,1,2,0
|
| 75 |
+
59,1,0,140,177,0,1,162,1,0,2,1,3,0
|
| 76 |
+
48,1,0,130,256,1,0,150,1,0,2,2,3,0
|
| 77 |
+
47,1,2,138,257,0,0,156,0,0,2,0,2,1
|
| 78 |
+
48,1,2,124,255,1,1,175,0,0,2,2,2,1
|
| 79 |
+
63,1,0,140,187,0,0,144,1,4,2,2,3,0
|
| 80 |
+
52,1,1,134,201,0,1,158,0,0.8,2,1,2,1
|
| 81 |
+
52,1,1,134,201,0,1,158,0,0.8,2,1,2,1
|
| 82 |
+
50,1,2,140,233,0,1,163,0,0.6,1,1,3,0
|
| 83 |
+
49,1,2,118,149,0,0,126,0,0.8,2,3,2,0
|
| 84 |
+
46,1,2,150,231,0,1,147,0,3.6,1,0,2,0
|
| 85 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 86 |
+
37,0,2,120,215,0,1,170,0,0,2,0,2,1
|
| 87 |
+
44,1,1,120,220,0,1,170,0,0,2,0,2,1
|
| 88 |
+
58,1,2,140,211,1,0,165,0,0,2,0,2,1
|
| 89 |
+
59,0,0,174,249,0,1,143,1,0,1,0,2,0
|
| 90 |
+
62,0,0,140,268,0,0,160,0,3.6,0,2,2,0
|
| 91 |
+
68,1,0,144,193,1,1,141,0,3.4,1,2,3,0
|
| 92 |
+
54,0,2,108,267,0,0,167,0,0,2,0,2,1
|
| 93 |
+
62,0,0,124,209,0,1,163,0,0,2,0,2,1
|
| 94 |
+
63,1,0,140,187,0,0,144,1,4,2,2,3,0
|
| 95 |
+
44,1,0,120,169,0,1,144,1,2.8,0,0,1,0
|
| 96 |
+
62,1,1,128,208,1,0,140,0,0,2,0,2,1
|
| 97 |
+
45,0,0,138,236,0,0,152,1,0.2,1,0,2,1
|
| 98 |
+
57,0,0,128,303,0,0,159,0,0,2,1,2,1
|
| 99 |
+
53,1,0,123,282,0,1,95,1,2,1,2,3,0
|
| 100 |
+
65,1,0,110,248,0,0,158,0,0.6,2,2,1,0
|
| 101 |
+
76,0,2,140,197,0,2,116,0,1.1,1,0,2,1
|
| 102 |
+
43,0,2,122,213,0,1,165,0,0.2,1,0,2,1
|
| 103 |
+
57,1,2,150,126,1,1,173,0,0.2,2,1,3,1
|
| 104 |
+
54,1,1,108,309,0,1,156,0,0,2,0,3,1
|
| 105 |
+
47,1,2,138,257,0,0,156,0,0,2,0,2,1
|
| 106 |
+
52,1,3,118,186,0,0,190,0,0,1,0,1,1
|
| 107 |
+
47,1,0,110,275,0,0,118,1,1,1,1,2,0
|
| 108 |
+
51,1,0,140,299,0,1,173,1,1.6,2,0,3,0
|
| 109 |
+
62,1,1,120,281,0,0,103,0,1.4,1,1,3,0
|
| 110 |
+
40,1,0,152,223,0,1,181,0,0,2,0,3,0
|
| 111 |
+
54,1,0,110,206,0,0,108,1,0,1,1,2,0
|
| 112 |
+
44,1,0,110,197,0,0,177,0,0,2,1,2,0
|
| 113 |
+
53,1,0,142,226,0,0,111,1,0,2,0,3,1
|
| 114 |
+
48,1,0,130,256,1,0,150,1,0,2,2,3,0
|
| 115 |
+
57,1,0,110,335,0,1,143,1,3,1,1,3,0
|
| 116 |
+
59,1,2,126,218,1,1,134,0,2.2,1,1,1,0
|
| 117 |
+
61,0,0,145,307,0,0,146,1,1,1,0,3,0
|
| 118 |
+
63,1,0,130,254,0,0,147,0,1.4,1,1,3,0
|
| 119 |
+
43,1,0,120,177,0,0,120,1,2.5,1,0,3,0
|
| 120 |
+
29,1,1,130,204,0,0,202,0,0,2,0,2,1
|
| 121 |
+
42,1,1,120,295,0,1,162,0,0,2,0,2,1
|
| 122 |
+
54,1,1,108,309,0,1,156,0,0,2,0,3,1
|
| 123 |
+
44,1,0,120,169,0,1,144,1,2.8,0,0,1,0
|
| 124 |
+
60,1,0,145,282,0,0,142,1,2.8,1,2,3,0
|
| 125 |
+
65,0,2,140,417,1,0,157,0,0.8,2,1,2,1
|
| 126 |
+
61,1,0,120,260,0,1,140,1,3.6,1,1,3,0
|
| 127 |
+
60,0,3,150,240,0,1,171,0,0.9,2,0,2,1
|
| 128 |
+
66,1,0,120,302,0,0,151,0,0.4,1,0,2,1
|
| 129 |
+
53,1,2,130,197,1,0,152,0,1.2,0,0,2,1
|
| 130 |
+
52,1,2,138,223,0,1,169,0,0,2,4,2,1
|
| 131 |
+
57,1,0,140,192,0,1,148,0,0.4,1,0,1,1
|
| 132 |
+
60,0,3,150,240,0,1,171,0,0.9,2,0,2,1
|
| 133 |
+
51,0,2,130,256,0,0,149,0,0.5,2,0,2,1
|
| 134 |
+
41,1,1,135,203,0,1,132,0,0,1,0,1,1
|
| 135 |
+
50,1,2,129,196,0,1,163,0,0,2,0,2,1
|
| 136 |
+
54,1,1,108,309,0,1,156,0,0,2,0,3,1
|
| 137 |
+
58,0,0,170,225,1,0,146,1,2.8,1,2,1,0
|
| 138 |
+
55,0,1,132,342,0,1,166,0,1.2,2,0,2,1
|
| 139 |
+
64,0,0,180,325,0,1,154,1,0,2,0,2,1
|
| 140 |
+
47,1,2,138,257,0,0,156,0,0,2,0,2,1
|
| 141 |
+
41,1,1,110,235,0,1,153,0,0,2,0,2,1
|
| 142 |
+
57,1,0,152,274,0,1,88,1,1.2,1,1,3,0
|
| 143 |
+
63,0,0,124,197,0,1,136,1,0,1,0,2,0
|
| 144 |
+
61,1,3,134,234,0,1,145,0,2.6,1,2,2,0
|
| 145 |
+
34,1,3,118,182,0,0,174,0,0,2,0,2,1
|
| 146 |
+
47,1,0,112,204,0,1,143,0,0.1,2,0,2,1
|
| 147 |
+
40,1,0,110,167,0,0,114,1,2,1,0,3,0
|
| 148 |
+
51,0,2,120,295,0,0,157,0,0.6,2,0,2,1
|
| 149 |
+
41,1,0,110,172,0,0,158,0,0,2,0,3,0
|
| 150 |
+
52,1,3,152,298,1,1,178,0,1.2,1,0,3,1
|
| 151 |
+
39,1,2,140,321,0,0,182,0,0,2,0,2,1
|
| 152 |
+
58,1,0,114,318,0,2,140,0,4.4,0,3,1,0
|
| 153 |
+
54,1,1,192,283,0,0,195,0,0,2,1,3,0
|
| 154 |
+
58,1,0,125,300,0,0,171,0,0,2,2,3,0
|
| 155 |
+
54,1,2,120,258,0,0,147,0,0.4,1,0,3,1
|
| 156 |
+
63,1,0,130,330,1,0,132,1,1.8,2,3,3,0
|
| 157 |
+
54,1,1,108,309,0,1,156,0,0,2,0,3,1
|
| 158 |
+
40,1,3,140,199,0,1,178,1,1.4,2,0,3,1
|
| 159 |
+
54,1,2,120,258,0,0,147,0,0.4,1,0,3,1
|
| 160 |
+
67,0,2,115,564,0,0,160,0,1.6,1,0,3,1
|
| 161 |
+
41,1,1,120,157,0,1,182,0,0,2,0,2,1
|
| 162 |
+
77,1,0,125,304,0,0,162,1,0,2,3,2,0
|
| 163 |
+
51,1,2,100,222,0,1,143,1,1.2,1,0,2,1
|
| 164 |
+
77,1,0,125,304,0,0,162,1,0,2,3,2,0
|
| 165 |
+
48,1,0,124,274,0,0,166,0,0.5,1,0,3,0
|
| 166 |
+
56,1,0,125,249,1,0,144,1,1.2,1,1,2,0
|
| 167 |
+
59,1,0,170,326,0,0,140,1,3.4,0,0,3,0
|
| 168 |
+
56,1,0,132,184,0,0,105,1,2.1,1,1,1,0
|
| 169 |
+
57,0,0,120,354,0,1,163,1,0.6,2,0,2,1
|
| 170 |
+
43,1,2,130,315,0,1,162,0,1.9,2,1,2,1
|
| 171 |
+
45,0,1,112,160,0,1,138,0,0,1,0,2,1
|
| 172 |
+
43,1,0,150,247,0,1,171,0,1.5,2,0,2,1
|
| 173 |
+
56,1,0,130,283,1,0,103,1,1.6,0,0,3,0
|
| 174 |
+
56,1,1,120,240,0,1,169,0,0,0,0,2,1
|
| 175 |
+
39,0,2,94,199,0,1,179,0,0,2,0,2,1
|
| 176 |
+
54,1,0,110,239,0,1,126,1,2.8,1,1,3,0
|
| 177 |
+
56,0,0,200,288,1,0,133,1,4,0,2,3,0
|
| 178 |
+
56,1,0,130,283,1,0,103,1,1.6,0,0,3,0
|
| 179 |
+
64,1,0,120,246,0,0,96,1,2.2,0,1,2,0
|
| 180 |
+
44,1,0,110,197,0,0,177,0,0,2,1,2,0
|
| 181 |
+
56,0,0,134,409,0,0,150,1,1.9,1,2,3,0
|
| 182 |
+
63,1,0,140,187,0,0,144,1,4,2,2,3,0
|
| 183 |
+
64,1,3,110,211,0,0,144,1,1.8,1,0,2,1
|
| 184 |
+
60,1,0,140,293,0,0,170,0,1.2,1,2,3,0
|
| 185 |
+
42,1,2,130,180,0,1,150,0,0,2,0,2,1
|
| 186 |
+
45,1,1,128,308,0,0,170,0,0,2,0,2,1
|
| 187 |
+
57,1,0,165,289,1,0,124,0,1,1,3,3,0
|
| 188 |
+
40,1,0,110,167,0,0,114,1,2,1,0,3,0
|
| 189 |
+
56,1,0,125,249,1,0,144,1,1.2,1,1,2,0
|
| 190 |
+
63,1,0,130,254,0,0,147,0,1.4,1,1,3,0
|
| 191 |
+
64,1,2,125,309,0,1,131,1,1.8,1,0,3,0
|
| 192 |
+
41,1,2,112,250,0,1,179,0,0,2,0,2,1
|
| 193 |
+
56,1,1,130,221,0,0,163,0,0,2,0,3,1
|
| 194 |
+
67,0,2,115,564,0,0,160,0,1.6,1,0,3,1
|
| 195 |
+
69,1,3,160,234,1,0,131,0,0.1,1,1,2,1
|
| 196 |
+
67,1,0,160,286,0,0,108,1,1.5,1,3,2,0
|
| 197 |
+
59,1,2,150,212,1,1,157,0,1.6,2,0,2,1
|
| 198 |
+
58,1,0,100,234,0,1,156,0,0.1,2,1,3,0
|
| 199 |
+
45,1,0,115,260,0,0,185,0,0,2,0,2,1
|
| 200 |
+
60,0,2,102,318,0,1,160,0,0,2,1,2,1
|
| 201 |
+
50,1,0,144,200,0,0,126,1,0.9,1,0,3,0
|
| 202 |
+
62,0,0,124,209,0,1,163,0,0,2,0,2,1
|
| 203 |
+
34,1,3,118,182,0,0,174,0,0,2,0,2,1
|
| 204 |
+
52,1,3,152,298,1,1,178,0,1.2,1,0,3,1
|
| 205 |
+
64,1,3,170,227,0,0,155,0,0.6,1,0,3,1
|
| 206 |
+
66,0,2,146,278,0,0,152,0,0,1,1,2,1
|
| 207 |
+
42,1,3,148,244,0,0,178,0,0.8,2,2,2,1
|
| 208 |
+
59,1,2,126,218,1,1,134,0,2.2,1,1,1,0
|
| 209 |
+
41,1,2,112,250,0,1,179,0,0,2,0,2,1
|
| 210 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 211 |
+
62,1,1,120,281,0,0,103,0,1.4,1,1,3,0
|
| 212 |
+
42,1,2,120,240,1,1,194,0,0.8,0,0,3,1
|
| 213 |
+
67,1,0,100,299,0,0,125,1,0.9,1,2,2,0
|
| 214 |
+
50,1,0,150,243,0,0,128,0,2.6,1,0,3,0
|
| 215 |
+
43,1,2,130,315,0,1,162,0,1.9,2,1,2,1
|
| 216 |
+
45,1,1,128,308,0,0,170,0,0,2,0,2,1
|
| 217 |
+
49,1,1,130,266,0,1,171,0,0.6,2,0,2,1
|
| 218 |
+
65,1,0,135,254,0,0,127,0,2.8,1,1,3,0
|
| 219 |
+
41,1,1,120,157,0,1,182,0,0,2,0,2,1
|
| 220 |
+
46,1,0,140,311,0,1,120,1,1.8,1,2,3,0
|
| 221 |
+
54,1,0,122,286,0,0,116,1,3.2,1,2,2,0
|
| 222 |
+
57,0,1,130,236,0,0,174,0,0,1,1,2,0
|
| 223 |
+
63,1,0,130,254,0,0,147,0,1.4,1,1,3,0
|
| 224 |
+
64,1,3,110,211,0,0,144,1,1.8,1,0,2,1
|
| 225 |
+
39,0,2,94,199,0,1,179,0,0,2,0,2,1
|
| 226 |
+
51,1,0,140,261,0,0,186,1,0,2,0,2,1
|
| 227 |
+
54,1,2,150,232,0,0,165,0,1.6,2,0,3,1
|
| 228 |
+
49,1,2,118,149,0,0,126,0,0.8,2,3,2,0
|
| 229 |
+
44,0,2,118,242,0,1,149,0,0.3,1,1,2,1
|
| 230 |
+
52,1,1,128,205,1,1,184,0,0,2,0,2,1
|
| 231 |
+
66,0,0,178,228,1,1,165,1,1,1,2,3,0
|
| 232 |
+
58,1,0,125,300,0,0,171,0,0,2,2,3,0
|
| 233 |
+
56,1,1,120,236,0,1,178,0,0.8,2,0,2,1
|
| 234 |
+
60,1,0,125,258,0,0,141,1,2.8,1,1,3,0
|
| 235 |
+
41,0,1,126,306,0,1,163,0,0,2,0,2,1
|
| 236 |
+
49,0,0,130,269,0,1,163,0,0,2,0,2,1
|
| 237 |
+
64,1,3,170,227,0,0,155,0,0.6,1,0,3,1
|
| 238 |
+
49,1,2,118,149,0,0,126,0,0.8,2,3,2,0
|
| 239 |
+
57,1,1,124,261,0,1,141,0,0.3,2,0,3,0
|
| 240 |
+
60,1,0,117,230,1,1,160,1,1.4,2,2,3,0
|
| 241 |
+
62,0,0,150,244,0,1,154,1,1.4,1,0,2,0
|
| 242 |
+
54,0,1,132,288,1,0,159,1,0,2,1,2,1
|
| 243 |
+
67,1,2,152,212,0,0,150,0,0.8,1,0,3,0
|
| 244 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 245 |
+
60,1,2,140,185,0,0,155,0,3,1,0,2,0
|
| 246 |
+
51,1,2,125,245,1,0,166,0,2.4,1,0,2,1
|
| 247 |
+
44,1,1,130,219,0,0,188,0,0,2,0,2,1
|
| 248 |
+
54,1,1,192,283,0,0,195,0,0,2,1,3,0
|
| 249 |
+
46,1,0,140,311,0,1,120,1,1.8,1,2,3,0
|
| 250 |
+
39,0,2,138,220,0,1,152,0,0,1,0,2,1
|
| 251 |
+
42,1,2,130,180,0,1,150,0,0,2,0,2,1
|
| 252 |
+
47,1,0,110,275,0,0,118,1,1,1,1,2,0
|
| 253 |
+
45,0,1,112,160,0,1,138,0,0,1,0,2,1
|
| 254 |
+
55,1,0,132,353,0,1,132,1,1.2,1,1,3,0
|
| 255 |
+
57,1,0,165,289,1,0,124,0,1,1,3,3,0
|
| 256 |
+
35,1,0,120,198,0,1,130,1,1.6,1,0,3,0
|
| 257 |
+
62,0,0,140,394,0,0,157,0,1.2,1,0,2,1
|
| 258 |
+
35,0,0,138,183,0,1,182,0,1.4,2,0,2,1
|
| 259 |
+
64,0,0,180,325,0,1,154,1,0,2,0,2,1
|
| 260 |
+
38,1,3,120,231,0,1,182,1,3.8,1,0,3,0
|
| 261 |
+
66,1,0,120,302,0,0,151,0,0.4,1,0,2,1
|
| 262 |
+
44,1,2,120,226,0,1,169,0,0,2,0,2,1
|
| 263 |
+
54,1,2,150,232,0,0,165,0,1.6,2,0,3,1
|
| 264 |
+
48,1,0,122,222,0,0,186,0,0,2,0,2,1
|
| 265 |
+
55,0,1,132,342,0,1,166,0,1.2,2,0,2,1
|
| 266 |
+
58,0,0,170,225,1,0,146,1,2.8,1,2,1,0
|
| 267 |
+
45,1,0,104,208,0,0,148,1,3,1,0,2,1
|
| 268 |
+
53,1,0,123,282,0,1,95,1,2,1,2,3,0
|
| 269 |
+
67,1,0,120,237,0,1,71,0,1,1,0,2,0
|
| 270 |
+
58,1,2,132,224,0,0,173,0,3.2,2,2,3,0
|
| 271 |
+
71,0,2,110,265,1,0,130,0,0,2,1,2,1
|
| 272 |
+
43,1,0,110,211,0,1,161,0,0,2,0,3,1
|
| 273 |
+
44,1,1,120,263,0,1,173,0,0,2,0,3,1
|
| 274 |
+
39,0,2,138,220,0,1,152,0,0,1,0,2,1
|
| 275 |
+
54,1,0,110,206,0,0,108,1,0,1,1,2,0
|
| 276 |
+
66,1,0,160,228,0,0,138,0,2.3,2,0,1,1
|
| 277 |
+
56,1,0,130,283,1,0,103,1,1.6,0,0,3,0
|
| 278 |
+
57,1,0,132,207,0,1,168,1,0,2,0,3,1
|
| 279 |
+
44,1,1,130,219,0,0,188,0,0,2,0,2,1
|
| 280 |
+
55,1,0,160,289,0,0,145,1,0.8,1,1,3,0
|
| 281 |
+
41,0,1,105,198,0,1,168,0,0,2,1,2,1
|
| 282 |
+
45,0,1,130,234,0,0,175,0,0.6,1,0,2,1
|
| 283 |
+
35,1,1,122,192,0,1,174,0,0,2,0,2,1
|
| 284 |
+
41,0,1,130,204,0,0,172,0,1.4,2,0,2,1
|
| 285 |
+
64,1,3,110,211,0,0,144,1,1.8,1,0,2,1
|
| 286 |
+
58,1,2,132,224,0,0,173,0,3.2,2,2,3,0
|
| 287 |
+
71,0,2,110,265,1,0,130,0,0,2,1,2,1
|
| 288 |
+
64,0,2,140,313,0,1,133,0,0.2,2,0,3,1
|
| 289 |
+
71,0,1,160,302,0,1,162,0,0.4,2,2,2,1
|
| 290 |
+
58,0,2,120,340,0,1,172,0,0,2,0,2,1
|
| 291 |
+
40,1,0,152,223,0,1,181,0,0,2,0,3,0
|
| 292 |
+
52,1,2,138,223,0,1,169,0,0,2,4,2,1
|
| 293 |
+
58,1,0,128,259,0,0,130,1,3,1,2,3,0
|
| 294 |
+
61,1,2,150,243,1,1,137,1,1,1,0,2,1
|
| 295 |
+
59,1,2,150,212,1,1,157,0,1.6,2,0,2,1
|
| 296 |
+
56,0,0,200,288,1,0,133,1,4,0,2,3,0
|
| 297 |
+
67,1,0,100,299,0,0,125,1,0.9,1,2,2,0
|
| 298 |
+
67,1,0,120,237,0,1,71,0,1,1,0,2,0
|
| 299 |
+
58,1,0,150,270,0,0,111,1,0.8,2,0,3,0
|
| 300 |
+
35,1,1,122,192,0,1,174,0,0,2,0,2,1
|
| 301 |
+
52,1,1,120,325,0,1,172,0,0.2,2,0,2,1
|
| 302 |
+
46,0,1,105,204,0,1,172,0,0,2,0,2,1
|
| 303 |
+
51,1,2,94,227,0,1,154,1,0,2,1,3,1
|
| 304 |
+
55,0,1,132,342,0,1,166,0,1.2,2,0,2,1
|
| 305 |
+
60,1,0,145,282,0,0,142,1,2.8,1,2,3,0
|
| 306 |
+
52,0,2,136,196,0,0,169,0,0.1,1,0,2,1
|
| 307 |
+
62,1,0,120,267,0,1,99,1,1.8,1,2,3,0
|
| 308 |
+
44,0,2,118,242,0,1,149,0,0.3,1,1,2,1
|
| 309 |
+
44,1,1,120,220,0,1,170,0,0,2,0,2,1
|
| 310 |
+
59,1,2,126,218,1,1,134,0,2.2,1,1,1,0
|
| 311 |
+
56,0,1,140,294,0,0,153,0,1.3,1,0,2,1
|
| 312 |
+
61,1,0,120,260,0,1,140,1,3.6,1,1,3,0
|
| 313 |
+
48,1,0,130,256,1,0,150,1,0,2,2,3,0
|
| 314 |
+
70,1,2,160,269,0,1,112,1,2.9,1,1,3,0
|
| 315 |
+
74,0,1,120,269,0,0,121,1,0.2,2,1,2,1
|
| 316 |
+
40,1,3,140,199,0,1,178,1,1.4,2,0,3,1
|
| 317 |
+
42,1,3,148,244,0,0,178,0,0.8,2,2,2,1
|
| 318 |
+
64,0,2,140,313,0,1,133,0,0.2,2,0,3,1
|
| 319 |
+
63,0,2,135,252,0,0,172,0,0,2,0,2,1
|
| 320 |
+
59,1,0,140,177,0,1,162,1,0,2,1,3,0
|
| 321 |
+
53,0,2,128,216,0,0,115,0,0,2,0,0,1
|
| 322 |
+
53,0,0,130,264,0,0,143,0,0.4,1,0,2,1
|
| 323 |
+
48,0,2,130,275,0,1,139,0,0.2,2,0,2,1
|
| 324 |
+
45,1,0,142,309,0,0,147,1,0,1,3,3,0
|
| 325 |
+
66,1,1,160,246,0,1,120,1,0,1,3,1,0
|
| 326 |
+
48,1,1,130,245,0,0,180,0,0.2,1,0,2,1
|
| 327 |
+
56,0,1,140,294,0,0,153,0,1.3,1,0,2,1
|
| 328 |
+
54,1,1,192,283,0,0,195,0,0,2,1,3,0
|
| 329 |
+
57,1,0,150,276,0,0,112,1,0.6,1,1,1,0
|
| 330 |
+
70,1,0,130,322,0,0,109,0,2.4,1,3,2,0
|
| 331 |
+
53,0,2,128,216,0,0,115,0,0,2,0,0,1
|
| 332 |
+
37,0,2,120,215,0,1,170,0,0,2,0,2,1
|
| 333 |
+
63,0,0,108,269,0,1,169,1,1.8,1,2,2,0
|
| 334 |
+
37,1,2,130,250,0,1,187,0,3.5,0,0,2,1
|
| 335 |
+
54,0,2,110,214,0,1,158,0,1.6,1,0,2,1
|
| 336 |
+
60,1,0,130,206,0,0,132,1,2.4,1,2,3,0
|
| 337 |
+
58,1,0,150,270,0,0,111,1,0.8,2,0,3,0
|
| 338 |
+
57,1,2,150,126,1,1,173,0,0.2,2,1,3,1
|
| 339 |
+
54,1,2,125,273,0,0,152,0,0.5,0,1,2,1
|
| 340 |
+
56,1,2,130,256,1,0,142,1,0.6,1,1,1,0
|
| 341 |
+
60,1,0,130,253,0,1,144,1,1.4,2,1,3,0
|
| 342 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 343 |
+
44,1,2,120,226,0,1,169,0,0,2,0,2,1
|
| 344 |
+
65,0,2,155,269,0,1,148,0,0.8,2,0,2,1
|
| 345 |
+
52,1,2,172,199,1,1,162,0,0.5,2,0,3,1
|
| 346 |
+
41,1,1,120,157,0,1,182,0,0,2,0,2,1
|
| 347 |
+
66,1,1,160,246,0,1,120,1,0,1,3,1,0
|
| 348 |
+
50,1,0,150,243,0,0,128,0,2.6,1,0,3,0
|
| 349 |
+
54,0,2,108,267,0,0,167,0,0,2,0,2,1
|
| 350 |
+
43,1,0,132,247,1,0,143,1,0.1,1,4,3,0
|
| 351 |
+
62,0,2,130,263,0,1,97,0,1.2,1,1,3,0
|
| 352 |
+
66,1,0,120,302,0,0,151,0,0.4,1,0,2,1
|
| 353 |
+
50,1,0,144,200,0,0,126,1,0.9,1,0,3,0
|
| 354 |
+
57,1,0,110,335,0,1,143,1,3,1,1,3,0
|
| 355 |
+
57,1,0,110,201,0,1,126,1,1.5,1,0,1,1
|
| 356 |
+
57,1,1,124,261,0,1,141,0,0.3,2,0,3,0
|
| 357 |
+
46,0,0,138,243,0,0,152,1,0,1,0,2,1
|
| 358 |
+
59,1,0,164,176,1,0,90,0,1,1,2,1,0
|
| 359 |
+
67,1,0,160,286,0,0,108,1,1.5,1,3,2,0
|
| 360 |
+
59,1,3,134,204,0,1,162,0,0.8,2,2,2,0
|
| 361 |
+
53,0,2,128,216,0,0,115,0,0,2,0,0,1
|
| 362 |
+
48,1,0,122,222,0,0,186,0,0,2,0,2,1
|
| 363 |
+
62,1,2,130,231,0,1,146,0,1.8,1,3,3,1
|
| 364 |
+
43,0,2,122,213,0,1,165,0,0.2,1,0,2,1
|
| 365 |
+
53,1,2,130,246,1,0,173,0,0,2,3,2,1
|
| 366 |
+
57,0,1,130,236,0,0,174,0,0,1,1,2,0
|
| 367 |
+
53,1,2,130,246,1,0,173,0,0,2,3,2,1
|
| 368 |
+
58,1,2,112,230,0,0,165,0,2.5,1,1,3,0
|
| 369 |
+
48,1,1,110,229,0,1,168,0,1,0,0,3,0
|
| 370 |
+
58,1,2,105,240,0,0,154,1,0.6,1,0,3,1
|
| 371 |
+
51,1,2,110,175,0,1,123,0,0.6,2,0,2,1
|
| 372 |
+
43,0,0,132,341,1,0,136,1,3,1,0,3,0
|
| 373 |
+
55,1,0,132,353,0,1,132,1,1.2,1,1,3,0
|
| 374 |
+
54,0,2,110,214,0,1,158,0,1.6,1,0,2,1
|
| 375 |
+
58,1,1,120,284,0,0,160,0,1.8,1,0,2,0
|
| 376 |
+
46,0,2,142,177,0,0,160,1,1.4,0,0,2,1
|
| 377 |
+
66,1,0,160,228,0,0,138,0,2.3,2,0,1,1
|
| 378 |
+
59,1,1,140,221,0,1,164,1,0,2,0,2,1
|
| 379 |
+
64,0,0,130,303,0,1,122,0,2,1,2,2,1
|
| 380 |
+
67,1,0,120,237,0,1,71,0,1,1,0,2,0
|
| 381 |
+
52,1,3,118,186,0,0,190,0,0,1,0,1,1
|
| 382 |
+
58,1,0,146,218,0,1,105,0,2,1,1,3,0
|
| 383 |
+
58,1,2,132,224,0,0,173,0,3.2,2,2,3,0
|
| 384 |
+
59,1,0,110,239,0,0,142,1,1.2,1,1,3,0
|
| 385 |
+
58,1,0,150,270,0,0,111,1,0.8,2,0,3,0
|
| 386 |
+
35,1,0,126,282,0,0,156,1,0,2,0,3,0
|
| 387 |
+
51,1,2,110,175,0,1,123,0,0.6,2,0,2,1
|
| 388 |
+
42,0,2,120,209,0,1,173,0,0,1,0,2,1
|
| 389 |
+
77,1,0,125,304,0,0,162,1,0,2,3,2,0
|
| 390 |
+
64,1,0,120,246,0,0,96,1,2.2,0,1,2,0
|
| 391 |
+
63,1,3,145,233,1,0,150,0,2.3,0,0,1,1
|
| 392 |
+
58,0,1,136,319,1,0,152,0,0,2,2,2,0
|
| 393 |
+
45,1,3,110,264,0,1,132,0,1.2,1,0,3,0
|
| 394 |
+
51,1,2,110,175,0,1,123,0,0.6,2,0,2,1
|
| 395 |
+
62,0,0,160,164,0,0,145,0,6.2,0,3,3,0
|
| 396 |
+
63,1,0,130,330,1,0,132,1,1.8,2,3,3,0
|
| 397 |
+
66,0,2,146,278,0,0,152,0,0,1,1,2,1
|
| 398 |
+
68,1,2,180,274,1,0,150,1,1.6,1,0,3,0
|
| 399 |
+
40,1,0,110,167,0,0,114,1,2,1,0,3,0
|
| 400 |
+
66,1,0,160,228,0,0,138,0,2.3,2,0,1,1
|
| 401 |
+
63,1,3,145,233,1,0,150,0,2.3,0,0,1,1
|
| 402 |
+
49,1,2,120,188,0,1,139,0,2,1,3,3,0
|
| 403 |
+
71,0,0,112,149,0,1,125,0,1.6,1,0,2,1
|
| 404 |
+
70,1,1,156,245,0,0,143,0,0,2,0,2,1
|
| 405 |
+
46,0,1,105,204,0,1,172,0,0,2,0,2,1
|
| 406 |
+
61,1,0,140,207,0,0,138,1,1.9,2,1,3,0
|
| 407 |
+
56,1,2,130,256,1,0,142,1,0.6,1,1,1,0
|
| 408 |
+
58,1,2,140,211,1,0,165,0,0,2,0,2,1
|
| 409 |
+
58,1,0,100,234,0,1,156,0,0.1,2,1,3,0
|
| 410 |
+
46,0,0,138,243,0,0,152,1,0,1,0,2,1
|
| 411 |
+
46,1,2,150,231,0,1,147,0,3.6,1,0,2,0
|
| 412 |
+
41,0,1,105,198,0,1,168,0,0,2,1,2,1
|
| 413 |
+
56,1,0,125,249,1,0,144,1,1.2,1,1,2,0
|
| 414 |
+
57,1,0,150,276,0,0,112,1,0.6,1,1,1,0
|
| 415 |
+
70,1,0,130,322,0,0,109,0,2.4,1,3,2,0
|
| 416 |
+
59,1,3,170,288,0,0,159,0,0.2,1,0,3,0
|
| 417 |
+
41,0,1,130,204,0,0,172,0,1.4,2,0,2,1
|
| 418 |
+
54,1,2,125,273,0,0,152,0,0.5,0,1,2,1
|
| 419 |
+
52,1,2,138,223,0,1,169,0,0,2,4,2,1
|
| 420 |
+
62,0,0,124,209,0,1,163,0,0,2,0,2,1
|
| 421 |
+
65,0,2,160,360,0,0,151,0,0.8,2,0,2,1
|
| 422 |
+
57,0,0,128,303,0,0,159,0,0,2,1,2,1
|
| 423 |
+
42,0,0,102,265,0,0,122,0,0.6,1,0,2,1
|
| 424 |
+
57,0,0,120,354,0,1,163,1,0.6,2,0,2,1
|
| 425 |
+
58,0,1,136,319,1,0,152,0,0,2,2,2,0
|
| 426 |
+
45,1,0,142,309,0,0,147,1,0,1,3,3,0
|
| 427 |
+
51,0,0,130,305,0,1,142,1,1.2,1,0,3,0
|
| 428 |
+
54,0,2,160,201,0,1,163,0,0,2,1,2,1
|
| 429 |
+
57,1,2,150,168,0,1,174,0,1.6,2,0,2,1
|
| 430 |
+
43,1,0,132,247,1,0,143,1,0.1,1,4,3,0
|
| 431 |
+
47,1,2,108,243,0,1,152,0,0,2,0,2,0
|
| 432 |
+
67,1,2,152,212,0,0,150,0,0.8,1,0,3,0
|
| 433 |
+
65,0,0,150,225,0,0,114,0,1,1,3,3,0
|
| 434 |
+
60,0,2,102,318,0,1,160,0,0,2,1,2,1
|
| 435 |
+
37,1,2,130,250,0,1,187,0,3.5,0,0,2,1
|
| 436 |
+
41,0,2,112,268,0,0,172,1,0,2,0,2,1
|
| 437 |
+
57,0,0,120,354,0,1,163,1,0.6,2,0,2,1
|
| 438 |
+
59,0,0,174,249,0,1,143,1,0,1,0,2,0
|
| 439 |
+
67,1,0,120,229,0,0,129,1,2.6,1,2,3,0
|
| 440 |
+
47,1,2,130,253,0,1,179,0,0,2,0,2,1
|
| 441 |
+
58,1,1,120,284,0,0,160,0,1.8,1,0,2,0
|
| 442 |
+
62,0,0,150,244,0,1,154,1,1.4,1,0,2,0
|
| 443 |
+
60,1,0,140,293,0,0,170,0,1.2,1,2,3,0
|
| 444 |
+
57,1,0,152,274,0,1,88,1,1.2,1,1,3,0
|
| 445 |
+
57,1,2,150,168,0,1,174,0,1.6,2,0,2,1
|
| 446 |
+
47,1,2,130,253,0,1,179,0,0,2,0,2,1
|
| 447 |
+
52,1,1,128,205,1,1,184,0,0,2,0,2,1
|
| 448 |
+
53,1,2,130,246,1,0,173,0,0,2,3,2,1
|
| 449 |
+
55,1,0,160,289,0,0,145,1,0.8,1,1,3,0
|
| 450 |
+
51,0,2,120,295,0,0,157,0,0.6,2,0,2,1
|
| 451 |
+
52,1,0,112,230,0,1,160,0,0,2,1,2,0
|
| 452 |
+
63,0,0,150,407,0,0,154,0,4,1,3,3,0
|
| 453 |
+
49,0,1,134,271,0,1,162,0,0,1,0,2,1
|
| 454 |
+
66,0,0,178,228,1,1,165,1,1,1,2,3,0
|
| 455 |
+
49,0,1,134,271,0,1,162,0,0,1,0,2,1
|
| 456 |
+
65,0,0,150,225,0,0,114,0,1,1,3,3,0
|
| 457 |
+
69,1,3,160,234,1,0,131,0,0.1,1,1,2,1
|
| 458 |
+
47,1,2,108,243,0,1,152,0,0,2,0,2,0
|
| 459 |
+
39,0,2,138,220,0,1,152,0,0,1,0,2,1
|
| 460 |
+
43,1,0,150,247,0,1,171,0,1.5,2,0,2,1
|
| 461 |
+
51,1,0,140,261,0,0,186,1,0,2,0,2,1
|
| 462 |
+
69,1,2,140,254,0,0,146,0,2,1,3,3,0
|
| 463 |
+
48,1,2,124,255,1,1,175,0,0,2,2,2,1
|
| 464 |
+
52,1,3,118,186,0,0,190,0,0,1,0,1,1
|
| 465 |
+
43,1,0,110,211,0,1,161,0,0,2,0,3,1
|
| 466 |
+
67,0,2,115,564,0,0,160,0,1.6,1,0,3,1
|
| 467 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 468 |
+
44,1,1,130,219,0,0,188,0,0,2,0,2,1
|
| 469 |
+
47,1,0,110,275,0,0,118,1,1,1,1,2,0
|
| 470 |
+
61,1,2,150,243,1,1,137,1,1,1,0,2,1
|
| 471 |
+
67,1,0,160,286,0,0,108,1,1.5,1,3,2,0
|
| 472 |
+
60,0,3,150,240,0,1,171,0,0.9,2,0,2,1
|
| 473 |
+
64,0,2,140,313,0,1,133,0,0.2,2,0,3,1
|
| 474 |
+
58,0,0,130,197,0,1,131,0,0.6,1,0,2,1
|
| 475 |
+
41,1,2,130,214,0,0,168,0,2,1,0,2,1
|
| 476 |
+
48,1,1,110,229,0,1,168,0,1,0,0,3,0
|
| 477 |
+
57,1,2,150,126,1,1,173,0,0.2,2,1,3,1
|
| 478 |
+
57,1,0,165,289,1,0,124,0,1,1,3,3,0
|
| 479 |
+
57,1,2,128,229,0,0,150,0,0.4,1,1,3,0
|
| 480 |
+
39,1,2,140,321,0,0,182,0,0,2,0,2,1
|
| 481 |
+
58,1,0,128,216,0,0,131,1,2.2,1,3,3,0
|
| 482 |
+
51,0,0,130,305,0,1,142,1,1.2,1,0,3,0
|
| 483 |
+
63,0,0,150,407,0,0,154,0,4,1,3,3,0
|
| 484 |
+
51,1,0,140,298,0,1,122,1,4.2,1,3,3,0
|
| 485 |
+
35,1,1,122,192,0,1,174,0,0,2,0,2,1
|
| 486 |
+
65,1,0,110,248,0,0,158,0,0.6,2,2,1,0
|
| 487 |
+
62,1,1,120,281,0,0,103,0,1.4,1,1,3,0
|
| 488 |
+
41,1,0,110,172,0,0,158,0,0,2,0,3,0
|
| 489 |
+
65,1,0,135,254,0,0,127,0,2.8,1,1,3,0
|
| 490 |
+
54,0,1,132,288,1,0,159,1,0,2,1,2,1
|
| 491 |
+
61,1,2,150,243,1,1,137,1,1,1,0,2,1
|
| 492 |
+
57,0,0,128,303,0,0,159,0,0,2,1,2,1
|
| 493 |
+
57,1,2,150,168,0,1,174,0,1.6,2,0,2,1
|
| 494 |
+
64,1,2,125,309,0,1,131,1,1.8,1,0,3,0
|
| 495 |
+
55,1,0,132,353,0,1,132,1,1.2,1,1,3,0
|
| 496 |
+
51,1,2,125,245,1,0,166,0,2.4,1,0,2,1
|
| 497 |
+
59,1,0,135,234,0,1,161,0,0.5,1,0,3,1
|
| 498 |
+
68,1,2,180,274,1,0,150,1,1.6,1,0,3,0
|
| 499 |
+
57,1,1,154,232,0,0,164,0,0,2,1,2,0
|
| 500 |
+
54,1,0,140,239,0,1,160,0,1.2,2,0,2,1
|
| 501 |
+
46,0,2,142,177,0,0,160,1,1.4,0,0,2,1
|
| 502 |
+
71,0,0,112,149,0,1,125,0,1.6,1,0,2,1
|
| 503 |
+
35,0,0,138,183,0,1,182,0,1.4,2,0,2,1
|
| 504 |
+
46,0,2,142,177,0,0,160,1,1.4,0,0,2,1
|
| 505 |
+
45,0,1,130,234,0,0,175,0,0.6,1,0,2,1
|
| 506 |
+
47,1,2,108,243,0,1,152,0,0,2,0,2,0
|
| 507 |
+
44,0,2,118,242,0,1,149,0,0.3,1,1,2,1
|
| 508 |
+
61,1,0,120,260,0,1,140,1,3.6,1,1,3,0
|
| 509 |
+
41,0,1,130,204,0,0,172,0,1.4,2,0,2,1
|
| 510 |
+
56,0,0,200,288,1,0,133,1,4,0,2,3,0
|
| 511 |
+
55,0,0,180,327,0,2,117,1,3.4,1,0,2,0
|
| 512 |
+
54,0,1,132,288,1,0,159,1,0,2,1,2,1
|
| 513 |
+
43,1,0,120,177,0,0,120,1,2.5,1,0,3,0
|
| 514 |
+
44,1,0,112,290,0,0,153,0,0,2,1,2,0
|
| 515 |
+
54,1,0,110,206,0,0,108,1,0,1,1,2,0
|
| 516 |
+
44,1,1,120,220,0,1,170,0,0,2,0,2,1
|
| 517 |
+
49,1,2,120,188,0,1,139,0,2,1,3,3,0
|
| 518 |
+
60,1,0,130,206,0,0,132,1,2.4,1,2,3,0
|
| 519 |
+
41,0,1,105,198,0,1,168,0,0,2,1,2,1
|
| 520 |
+
49,1,2,120,188,0,1,139,0,2,1,3,3,0
|
| 521 |
+
61,1,0,148,203,0,1,161,0,0,2,1,3,0
|
| 522 |
+
59,1,0,140,177,0,1,162,1,0,2,1,3,0
|
| 523 |
+
58,1,1,125,220,0,1,144,0,0.4,1,4,3,1
|
| 524 |
+
67,0,2,152,277,0,1,172,0,0,2,1,2,1
|
| 525 |
+
61,1,0,148,203,0,1,161,0,0,2,1,3,0
|
| 526 |
+
58,1,2,112,230,0,0,165,0,2.5,1,1,3,0
|
| 527 |
+
51,0,2,130,256,0,0,149,0,0.5,2,0,2,1
|
| 528 |
+
62,0,0,160,164,0,0,145,0,6.2,0,3,3,0
|
| 529 |
+
62,0,0,124,209,0,1,163,0,0,2,0,2,1
|
| 530 |
+
59,1,3,178,270,0,0,145,0,4.2,0,0,3,1
|
| 531 |
+
69,1,3,160,234,1,0,131,0,0.1,1,1,2,1
|
| 532 |
+
60,0,0,150,258,0,0,157,0,2.6,1,2,3,0
|
| 533 |
+
65,0,2,155,269,0,1,148,0,0.8,2,0,2,1
|
| 534 |
+
63,0,0,124,197,0,1,136,1,0,1,0,2,0
|
| 535 |
+
53,0,0,138,234,0,0,160,0,0,2,0,2,1
|
| 536 |
+
54,0,2,108,267,0,0,167,0,0,2,0,2,1
|
| 537 |
+
76,0,2,140,197,0,2,116,0,1.1,1,0,2,1
|
| 538 |
+
50,0,2,120,219,0,1,158,0,1.6,1,0,2,1
|
| 539 |
+
52,1,1,120,325,0,1,172,0,0.2,2,0,2,1
|
| 540 |
+
46,1,0,120,249,0,0,144,0,0.8,2,0,3,0
|
| 541 |
+
64,1,3,170,227,0,0,155,0,0.6,1,0,3,1
|
| 542 |
+
58,1,0,128,259,0,0,130,1,3,1,2,3,0
|
| 543 |
+
44,1,2,140,235,0,0,180,0,0,2,0,2,1
|
| 544 |
+
62,0,0,140,394,0,0,157,0,1.2,1,0,2,1
|
| 545 |
+
59,1,3,134,204,0,1,162,0,0.8,2,2,2,0
|
| 546 |
+
54,1,2,125,273,0,0,152,0,0.5,0,1,2,1
|
| 547 |
+
48,1,1,110,229,0,1,168,0,1,0,0,3,0
|
| 548 |
+
70,1,0,130,322,0,0,109,0,2.4,1,3,2,0
|
| 549 |
+
67,0,0,106,223,0,1,142,0,0.3,2,2,2,1
|
| 550 |
+
51,0,2,120,295,0,0,157,0,0.6,2,0,2,1
|
| 551 |
+
68,1,2,118,277,0,1,151,0,1,2,1,3,1
|
| 552 |
+
69,1,2,140,254,0,0,146,0,2,1,3,3,0
|
| 553 |
+
54,1,0,122,286,0,0,116,1,3.2,1,2,2,0
|
| 554 |
+
43,0,0,132,341,1,0,136,1,3,1,0,3,0
|
| 555 |
+
53,1,2,130,197,1,0,152,0,1.2,0,0,2,1
|
| 556 |
+
58,1,0,100,234,0,1,156,0,0.1,2,1,3,0
|
| 557 |
+
67,1,0,125,254,1,1,163,0,0.2,1,2,3,0
|
| 558 |
+
59,1,0,140,177,0,1,162,1,0,2,1,3,0
|
| 559 |
+
48,1,0,122,222,0,0,186,0,0,2,0,2,1
|
| 560 |
+
39,0,2,94,199,0,1,179,0,0,2,0,2,1
|
| 561 |
+
67,1,0,120,237,0,1,71,0,1,1,0,2,0
|
| 562 |
+
58,0,0,130,197,0,1,131,0,0.6,1,0,2,1
|
| 563 |
+
65,0,2,155,269,0,1,148,0,0.8,2,0,2,1
|
| 564 |
+
42,0,2,120,209,0,1,173,0,0,1,0,2,1
|
| 565 |
+
44,1,0,112,290,0,0,153,0,0,2,1,2,0
|
| 566 |
+
56,1,0,132,184,0,0,105,1,2.1,1,1,1,0
|
| 567 |
+
53,0,0,138,234,0,0,160,0,0,2,0,2,1
|
| 568 |
+
50,0,0,110,254,0,0,159,0,0,2,0,2,1
|
| 569 |
+
41,1,2,130,214,0,0,168,0,2,1,0,2,1
|
| 570 |
+
54,0,2,160,201,0,1,163,0,0,2,1,2,1
|
| 571 |
+
42,1,2,120,240,1,1,194,0,0.8,0,0,3,1
|
| 572 |
+
54,0,2,135,304,1,1,170,0,0,2,0,2,1
|
| 573 |
+
60,1,0,145,282,0,0,142,1,2.8,1,2,3,0
|
| 574 |
+
34,1,3,118,182,0,0,174,0,0,2,0,2,1
|
| 575 |
+
44,1,0,112,290,0,0,153,0,0,2,1,2,0
|
| 576 |
+
60,1,0,125,258,0,0,141,1,2.8,1,1,3,0
|
| 577 |
+
43,1,0,150,247,0,1,171,0,1.5,2,0,2,1
|
| 578 |
+
52,1,3,152,298,1,1,178,0,1.2,1,0,3,1
|
| 579 |
+
70,1,0,130,322,0,0,109,0,2.4,1,3,2,0
|
| 580 |
+
62,0,0,140,394,0,0,157,0,1.2,1,0,2,1
|
| 581 |
+
58,1,0,146,218,0,1,105,0,2,1,1,3,0
|
| 582 |
+
46,1,1,101,197,1,1,156,0,0,2,0,3,1
|
| 583 |
+
44,1,2,140,235,0,0,180,0,0,2,0,2,1
|
| 584 |
+
55,1,1,130,262,0,1,155,0,0,2,0,2,1
|
| 585 |
+
43,1,0,120,177,0,0,120,1,2.5,1,0,3,0
|
| 586 |
+
55,1,0,132,353,0,1,132,1,1.2,1,1,3,0
|
| 587 |
+
40,1,3,140,199,0,1,178,1,1.4,2,0,3,1
|
| 588 |
+
64,1,2,125,309,0,1,131,1,1.8,1,0,3,0
|
| 589 |
+
59,1,0,164,176,1,0,90,0,1,1,2,1,0
|
| 590 |
+
61,0,0,145,307,0,0,146,1,1,1,0,3,0
|
| 591 |
+
54,1,0,122,286,0,0,116,1,3.2,1,2,2,0
|
| 592 |
+
74,0,1,120,269,0,0,121,1,0.2,2,1,2,1
|
| 593 |
+
63,0,0,108,269,0,1,169,1,1.8,1,2,2,0
|
| 594 |
+
70,1,2,160,269,0,1,112,1,2.9,1,1,3,0
|
| 595 |
+
63,0,0,108,269,0,1,169,1,1.8,1,2,2,0
|
| 596 |
+
64,1,0,145,212,0,0,132,0,2,1,2,1,0
|
| 597 |
+
61,1,0,148,203,0,1,161,0,0,2,1,3,0
|
| 598 |
+
59,1,1,140,221,0,1,164,1,0,2,0,2,1
|
| 599 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 600 |
+
58,1,1,120,284,0,0,160,0,1.8,1,0,2,0
|
| 601 |
+
63,0,1,140,195,0,1,179,0,0,2,2,2,1
|
| 602 |
+
62,0,2,130,263,0,1,97,0,1.2,1,1,3,0
|
| 603 |
+
46,1,0,140,311,0,1,120,1,1.8,1,2,3,0
|
| 604 |
+
58,0,2,120,340,0,1,172,0,0,2,0,2,1
|
| 605 |
+
63,0,1,140,195,0,1,179,0,0,2,2,2,1
|
| 606 |
+
47,1,2,130,253,0,1,179,0,0,2,0,2,1
|
| 607 |
+
71,0,2,110,265,1,0,130,0,0,2,1,2,1
|
| 608 |
+
66,1,0,112,212,0,0,132,1,0.1,2,1,2,0
|
| 609 |
+
42,1,0,136,315,0,1,125,1,1.8,1,0,1,0
|
| 610 |
+
64,1,0,145,212,0,0,132,0,2,1,2,1,0
|
| 611 |
+
55,0,0,180,327,0,2,117,1,3.4,1,0,2,0
|
| 612 |
+
43,0,0,132,341,1,0,136,1,3,1,0,3,0
|
| 613 |
+
55,0,0,128,205,0,2,130,1,2,1,1,3,0
|
| 614 |
+
58,0,0,170,225,1,0,146,1,2.8,1,2,1,0
|
| 615 |
+
55,1,0,140,217,0,1,111,1,5.6,0,0,3,0
|
| 616 |
+
51,0,0,130,305,0,1,142,1,1.2,1,0,3,0
|
| 617 |
+
50,0,2,120,219,0,1,158,0,1.6,1,0,2,1
|
| 618 |
+
43,1,0,115,303,0,1,181,0,1.2,1,0,2,1
|
| 619 |
+
41,0,1,126,306,0,1,163,0,0,2,0,2,1
|
| 620 |
+
49,1,1,130,266,0,1,171,0,0.6,2,0,2,1
|
| 621 |
+
65,1,0,110,248,0,0,158,0,0.6,2,2,1,0
|
| 622 |
+
57,1,0,152,274,0,1,88,1,1.2,1,1,3,0
|
| 623 |
+
48,1,0,130,256,1,0,150,1,0,2,2,3,0
|
| 624 |
+
62,0,0,138,294,1,1,106,0,1.9,1,3,2,0
|
| 625 |
+
61,1,3,134,234,0,1,145,0,2.6,1,2,2,0
|
| 626 |
+
59,1,3,178,270,0,0,145,0,4.2,0,0,3,1
|
| 627 |
+
69,1,2,140,254,0,0,146,0,2,1,3,3,0
|
| 628 |
+
58,1,2,132,224,0,0,173,0,3.2,2,2,3,0
|
| 629 |
+
38,1,3,120,231,0,1,182,1,3.8,1,0,3,0
|
| 630 |
+
69,0,3,140,239,0,1,151,0,1.8,2,2,2,1
|
| 631 |
+
65,1,3,138,282,1,0,174,0,1.4,1,1,2,0
|
| 632 |
+
45,1,3,110,264,0,1,132,0,1.2,1,0,3,0
|
| 633 |
+
49,1,1,130,266,0,1,171,0,0.6,2,0,2,1
|
| 634 |
+
45,0,1,130,234,0,0,175,0,0.6,1,0,2,1
|
| 635 |
+
61,1,0,138,166,0,0,125,1,3.6,1,1,2,0
|
| 636 |
+
52,1,0,125,212,0,1,168,0,1,2,2,3,0
|
| 637 |
+
53,0,0,130,264,0,0,143,0,0.4,1,0,2,1
|
| 638 |
+
59,0,0,174,249,0,1,143,1,0,1,0,2,0
|
| 639 |
+
58,0,2,120,340,0,1,172,0,0,2,0,2,1
|
| 640 |
+
65,1,3,138,282,1,0,174,0,1.4,1,1,2,0
|
| 641 |
+
58,0,0,130,197,0,1,131,0,0.6,1,0,2,1
|
| 642 |
+
46,0,0,138,243,0,0,152,1,0,1,0,2,1
|
| 643 |
+
56,0,0,134,409,0,0,150,1,1.9,1,2,3,0
|
| 644 |
+
64,1,0,128,263,0,1,105,1,0.2,1,1,3,1
|
| 645 |
+
65,1,0,120,177,0,1,140,0,0.4,2,0,3,1
|
| 646 |
+
44,1,2,120,226,0,1,169,0,0,2,0,2,1
|
| 647 |
+
50,1,0,150,243,0,0,128,0,2.6,1,0,3,0
|
| 648 |
+
47,1,2,108,243,0,1,152,0,0,2,0,2,0
|
| 649 |
+
64,0,0,130,303,0,1,122,0,2,1,2,2,1
|
| 650 |
+
71,0,0,112,149,0,1,125,0,1.6,1,0,2,1
|
| 651 |
+
45,0,1,130,234,0,0,175,0,0.6,1,0,2,1
|
| 652 |
+
62,1,0,120,267,0,1,99,1,1.8,1,2,3,0
|
| 653 |
+
41,1,1,120,157,0,1,182,0,0,2,0,2,1
|
| 654 |
+
66,0,3,150,226,0,1,114,0,2.6,0,0,2,1
|
| 655 |
+
56,1,0,130,283,1,0,103,1,1.6,0,0,3,0
|
| 656 |
+
41,0,1,126,306,0,1,163,0,0,2,0,2,1
|
| 657 |
+
41,1,1,110,235,0,1,153,0,0,2,0,2,1
|
| 658 |
+
57,0,1,130,236,0,0,174,0,0,1,1,2,0
|
| 659 |
+
39,0,2,138,220,0,1,152,0,0,1,0,2,1
|
| 660 |
+
64,1,2,125,309,0,1,131,1,1.8,1,0,3,0
|
| 661 |
+
59,1,0,138,271,0,0,182,0,0,2,0,2,1
|
| 662 |
+
61,1,0,138,166,0,0,125,1,3.6,1,1,2,0
|
| 663 |
+
58,1,0,114,318,0,2,140,0,4.4,0,3,1,0
|
| 664 |
+
47,1,0,112,204,0,1,143,0,0.1,2,0,2,1
|
| 665 |
+
58,0,0,100,248,0,0,122,0,1,1,0,2,1
|
| 666 |
+
66,0,3,150,226,0,1,114,0,2.6,0,0,2,1
|
| 667 |
+
65,0,2,140,417,1,0,157,0,0.8,2,1,2,1
|
| 668 |
+
35,1,1,122,192,0,1,174,0,0,2,0,2,1
|
| 669 |
+
57,1,1,124,261,0,1,141,0,0.3,2,0,3,0
|
| 670 |
+
29,1,1,130,204,0,0,202,0,0,2,0,2,1
|
| 671 |
+
66,1,1,160,246,0,1,120,1,0,1,3,1,0
|
| 672 |
+
61,0,0,130,330,0,0,169,0,0,2,0,2,0
|
| 673 |
+
52,1,0,125,212,0,1,168,0,1,2,2,3,0
|
| 674 |
+
68,1,2,118,277,0,1,151,0,1,2,1,3,1
|
| 675 |
+
54,1,2,120,258,0,0,147,0,0.4,1,0,3,1
|
| 676 |
+
63,1,0,130,330,1,0,132,1,1.8,2,3,3,0
|
| 677 |
+
58,1,0,100,234,0,1,156,0,0.1,2,1,3,0
|
| 678 |
+
60,1,0,130,253,0,1,144,1,1.4,2,1,3,0
|
| 679 |
+
63,1,0,130,254,0,0,147,0,1.4,1,1,3,0
|
| 680 |
+
41,0,2,112,268,0,0,172,1,0,2,0,2,1
|
| 681 |
+
68,1,2,180,274,1,0,150,1,1.6,1,0,3,0
|
| 682 |
+
42,1,1,120,295,0,1,162,0,0,2,0,2,1
|
| 683 |
+
59,1,0,170,326,0,0,140,1,3.4,0,0,3,0
|
| 684 |
+
59,1,0,164,176,1,0,90,0,1,1,2,1,0
|
| 685 |
+
43,1,0,120,177,0,0,120,1,2.5,1,0,3,0
|
| 686 |
+
60,1,2,140,185,0,0,155,0,3,1,0,2,0
|
| 687 |
+
63,0,0,150,407,0,0,154,0,4,1,3,3,0
|
| 688 |
+
52,1,0,128,204,1,1,156,1,1,1,0,0,0
|
| 689 |
+
58,1,0,125,300,0,0,171,0,0,2,2,3,0
|
| 690 |
+
56,0,0,200,288,1,0,133,1,4,0,2,3,0
|
| 691 |
+
54,0,2,135,304,1,1,170,0,0,2,0,2,1
|
| 692 |
+
58,1,2,105,240,0,0,154,1,0.6,1,0,3,1
|
| 693 |
+
55,0,1,135,250,0,0,161,0,1.4,1,0,2,1
|
| 694 |
+
53,1,0,140,203,1,0,155,1,3.1,0,0,3,0
|
| 695 |
+
63,0,1,140,195,0,1,179,0,0,2,2,2,1
|
| 696 |
+
39,1,0,118,219,0,1,140,0,1.2,1,0,3,0
|
| 697 |
+
35,1,0,126,282,0,0,156,1,0,2,0,3,0
|
| 698 |
+
50,0,2,120,219,0,1,158,0,1.6,1,0,2,1
|
| 699 |
+
67,1,2,152,212,0,0,150,0,0.8,1,0,3,0
|
| 700 |
+
66,1,0,112,212,0,0,132,1,0.1,2,1,2,0
|
| 701 |
+
35,1,0,126,282,0,0,156,1,0,2,0,3,0
|
| 702 |
+
41,1,2,130,214,0,0,168,0,2,1,0,2,1
|
| 703 |
+
35,1,0,120,198,0,1,130,1,1.6,1,0,3,0
|
| 704 |
+
71,0,1,160,302,0,1,162,0,0.4,2,2,2,1
|
| 705 |
+
57,1,0,110,201,0,1,126,1,1.5,1,0,1,1
|
| 706 |
+
51,1,2,94,227,0,1,154,1,0,2,1,3,1
|
| 707 |
+
58,1,0,128,216,0,0,131,1,2.2,1,3,3,0
|
| 708 |
+
57,1,2,128,229,0,0,150,0,0.4,1,1,3,0
|
| 709 |
+
56,0,1,140,294,0,0,153,0,1.3,1,0,2,1
|
| 710 |
+
60,0,2,120,178,1,1,96,0,0,2,0,2,1
|
| 711 |
+
45,1,3,110,264,0,1,132,0,1.2,1,0,3,0
|
| 712 |
+
56,1,1,130,221,0,0,163,0,0,2,0,3,1
|
| 713 |
+
35,1,0,120,198,0,1,130,1,1.6,1,0,3,0
|
| 714 |
+
45,0,1,112,160,0,1,138,0,0,1,0,2,1
|
| 715 |
+
66,0,3,150,226,0,1,114,0,2.6,0,0,2,1
|
| 716 |
+
51,1,3,125,213,0,0,125,1,1.4,2,1,2,1
|
| 717 |
+
70,1,1,156,245,0,0,143,0,0,2,0,2,1
|
| 718 |
+
55,0,0,128,205,0,2,130,1,2,1,1,3,0
|
| 719 |
+
56,1,2,130,256,1,0,142,1,0.6,1,1,1,0
|
| 720 |
+
55,0,1,135,250,0,0,161,0,1.4,1,0,2,1
|
| 721 |
+
52,1,0,108,233,1,1,147,0,0.1,2,3,3,1
|
| 722 |
+
64,1,2,140,335,0,1,158,0,0,2,0,2,0
|
| 723 |
+
45,1,0,115,260,0,0,185,0,0,2,0,2,1
|
| 724 |
+
67,0,2,152,277,0,1,172,0,0,2,1,2,1
|
| 725 |
+
68,0,2,120,211,0,0,115,0,1.5,1,0,2,1
|
| 726 |
+
74,0,1,120,269,0,0,121,1,0.2,2,1,2,1
|
| 727 |
+
60,0,0,150,258,0,0,157,0,2.6,1,2,3,0
|
| 728 |
+
48,1,0,124,274,0,0,166,0,0.5,1,0,3,0
|
| 729 |
+
56,1,1,130,221,0,0,163,0,0,2,0,3,1
|
| 730 |
+
46,1,0,140,311,0,1,120,1,1.8,1,2,3,0
|
| 731 |
+
55,0,1,135,250,0,0,161,0,1.4,1,0,2,1
|
| 732 |
+
44,1,1,120,220,0,1,170,0,0,2,0,2,1
|
| 733 |
+
52,1,0,112,230,0,1,160,0,0,2,1,2,0
|
| 734 |
+
51,1,2,94,227,0,1,154,1,0,2,1,3,1
|
| 735 |
+
44,0,2,108,141,0,1,175,0,0.6,1,0,2,1
|
| 736 |
+
52,1,0,128,204,1,1,156,1,1,1,0,0,0
|
| 737 |
+
50,1,2,129,196,0,1,163,0,0,2,0,2,1
|
| 738 |
+
59,1,0,110,239,0,0,142,1,1.2,1,1,3,0
|
| 739 |
+
67,1,0,120,229,0,0,129,1,2.6,1,2,3,0
|
| 740 |
+
58,1,0,125,300,0,0,171,0,0,2,2,3,0
|
| 741 |
+
52,1,0,128,255,0,1,161,1,0,2,1,3,0
|
| 742 |
+
44,1,2,140,235,0,0,180,0,0,2,0,2,1
|
| 743 |
+
41,0,2,112,268,0,0,172,1,0,2,0,2,1
|
| 744 |
+
63,1,0,130,330,1,0,132,1,1.8,2,3,3,0
|
| 745 |
+
58,1,1,125,220,0,1,144,0,0.4,1,4,3,1
|
| 746 |
+
60,0,2,102,318,0,1,160,0,0,2,1,2,1
|
| 747 |
+
51,1,2,100,222,0,1,143,1,1.2,1,0,2,1
|
| 748 |
+
64,1,2,140,335,0,1,158,0,0,2,0,2,0
|
| 749 |
+
60,1,0,117,230,1,1,160,1,1.4,2,2,3,0
|
| 750 |
+
44,1,2,120,226,0,1,169,0,0,2,0,2,1
|
| 751 |
+
58,1,1,125,220,0,1,144,0,0.4,1,4,3,1
|
| 752 |
+
55,1,1,130,262,0,1,155,0,0,2,0,2,1
|
| 753 |
+
65,0,2,160,360,0,0,151,0,0.8,2,0,2,1
|
| 754 |
+
48,1,1,130,245,0,0,180,0,0.2,1,0,2,1
|
| 755 |
+
65,1,0,120,177,0,1,140,0,0.4,2,0,3,1
|
| 756 |
+
51,0,2,130,256,0,0,149,0,0.5,2,0,2,1
|
| 757 |
+
48,1,2,124,255,1,1,175,0,0,2,2,2,1
|
| 758 |
+
64,1,0,120,246,0,0,96,1,2.2,0,1,2,0
|
| 759 |
+
66,1,0,160,228,0,0,138,0,2.3,2,0,1,1
|
| 760 |
+
46,0,1,105,204,0,1,172,0,0,2,0,2,1
|
| 761 |
+
61,0,0,130,330,0,0,169,0,0,2,0,2,0
|
| 762 |
+
57,1,0,150,276,0,0,112,1,0.6,1,1,1,0
|
| 763 |
+
49,0,0,130,269,0,1,163,0,0,2,0,2,1
|
| 764 |
+
56,1,1,130,221,0,0,163,0,0,2,0,3,1
|
| 765 |
+
58,0,3,150,283,1,0,162,0,1,2,0,2,1
|
| 766 |
+
63,1,0,140,187,0,0,144,1,4,2,2,3,0
|
| 767 |
+
57,1,0,110,335,0,1,143,1,3,1,1,3,0
|
| 768 |
+
57,1,0,110,335,0,1,143,1,3,1,1,3,0
|
| 769 |
+
68,1,0,144,193,1,1,141,0,3.4,1,2,3,0
|
| 770 |
+
46,1,1,101,197,1,1,156,0,0,2,0,3,1
|
| 771 |
+
71,0,2,110,265,1,0,130,0,0,2,1,2,1
|
| 772 |
+
41,1,1,135,203,0,1,132,0,0,1,0,1,1
|
| 773 |
+
45,0,0,138,236,0,0,152,1,0.2,1,0,2,1
|
| 774 |
+
62,0,0,150,244,0,1,154,1,1.4,1,0,2,0
|
| 775 |
+
65,0,0,150,225,0,0,114,0,1,1,3,3,0
|
| 776 |
+
48,0,2,130,275,0,1,139,0,0.2,2,0,2,1
|
| 777 |
+
51,1,2,100,222,0,1,143,1,1.2,1,0,2,1
|
| 778 |
+
61,0,0,145,307,0,0,146,1,1,1,0,3,0
|
| 779 |
+
53,1,0,123,282,0,1,95,1,2,1,2,3,0
|
| 780 |
+
59,1,3,134,204,0,1,162,0,0.8,2,2,2,0
|
| 781 |
+
34,0,1,118,210,0,1,192,0,0.7,2,0,2,1
|
| 782 |
+
44,1,0,120,169,0,1,144,1,2.8,0,0,1,0
|
| 783 |
+
58,1,0,146,218,0,1,105,0,2,1,1,3,0
|
| 784 |
+
64,0,0,130,303,0,1,122,0,2,1,2,2,1
|
| 785 |
+
56,1,1,120,240,0,1,169,0,0,0,0,2,1
|
| 786 |
+
54,1,2,150,232,0,0,165,0,1.6,2,0,3,1
|
| 787 |
+
55,1,0,160,289,0,0,145,1,0.8,1,1,3,0
|
| 788 |
+
67,1,0,125,254,1,1,163,0,0.2,1,2,3,0
|
| 789 |
+
51,1,0,140,298,0,1,122,1,4.2,1,3,3,0
|
| 790 |
+
62,0,0,138,294,1,1,106,0,1.9,1,3,2,0
|
| 791 |
+
62,1,1,120,281,0,0,103,0,1.4,1,1,3,0
|
| 792 |
+
54,1,0,110,239,0,1,126,1,2.8,1,1,3,0
|
| 793 |
+
54,1,0,110,239,0,1,126,1,2.8,1,1,3,0
|
| 794 |
+
68,1,0,144,193,1,1,141,0,3.4,1,2,3,0
|
| 795 |
+
60,0,2,120,178,1,1,96,0,0,2,0,2,1
|
| 796 |
+
61,1,3,134,234,0,1,145,0,2.6,1,2,2,0
|
| 797 |
+
62,1,1,128,208,1,0,140,0,0,2,0,2,1
|
| 798 |
+
41,1,1,135,203,0,1,132,0,0,1,0,1,1
|
| 799 |
+
65,0,0,150,225,0,0,114,0,1,1,3,3,0
|
| 800 |
+
59,1,3,170,288,0,0,159,0,0.2,1,0,3,0
|
| 801 |
+
43,1,0,115,303,0,1,181,0,1.2,1,0,2,1
|
| 802 |
+
67,1,0,120,229,0,0,129,1,2.6,1,2,3,0
|
| 803 |
+
63,1,3,145,233,1,0,150,0,2.3,0,0,1,1
|
| 804 |
+
63,0,0,124,197,0,1,136,1,0,1,0,2,0
|
| 805 |
+
52,1,0,112,230,0,1,160,0,0,2,1,2,0
|
| 806 |
+
58,0,0,130,197,0,1,131,0,0.6,1,0,2,1
|
| 807 |
+
53,1,0,142,226,0,0,111,1,0,2,0,3,1
|
| 808 |
+
57,1,0,150,276,0,0,112,1,0.6,1,1,1,0
|
| 809 |
+
44,1,2,130,233,0,1,179,1,0.4,2,0,2,1
|
| 810 |
+
51,1,2,94,227,0,1,154,1,0,2,1,3,1
|
| 811 |
+
54,0,2,110,214,0,1,158,0,1.6,1,0,2,1
|
| 812 |
+
40,1,0,110,167,0,0,114,1,2,1,0,3,0
|
| 813 |
+
57,1,1,124,261,0,1,141,0,0.3,2,0,3,0
|
| 814 |
+
62,0,0,140,268,0,0,160,0,3.6,0,2,2,0
|
| 815 |
+
53,1,0,140,203,1,0,155,1,3.1,0,0,3,0
|
| 816 |
+
62,1,1,128,208,1,0,140,0,0,2,0,2,1
|
| 817 |
+
58,1,2,105,240,0,0,154,1,0.6,1,0,3,1
|
| 818 |
+
70,1,1,156,245,0,0,143,0,0,2,0,2,1
|
| 819 |
+
45,1,0,115,260,0,0,185,0,0,2,0,2,1
|
| 820 |
+
42,1,3,148,244,0,0,178,0,0.8,2,2,2,1
|
| 821 |
+
58,0,0,170,225,1,0,146,1,2.8,1,2,1,0
|
| 822 |
+
61,1,0,140,207,0,0,138,1,1.9,2,1,3,0
|
| 823 |
+
62,0,0,140,268,0,0,160,0,3.6,0,2,2,0
|
| 824 |
+
60,1,0,130,253,0,1,144,1,1.4,2,1,3,0
|
| 825 |
+
54,1,0,140,239,0,1,160,0,1.2,2,0,2,1
|
| 826 |
+
61,1,0,138,166,0,0,125,1,3.6,1,1,2,0
|
| 827 |
+
63,0,2,135,252,0,0,172,0,0,2,0,2,1
|
| 828 |
+
42,1,2,130,180,0,1,150,0,0,2,0,2,1
|
| 829 |
+
57,1,2,128,229,0,0,150,0,0.4,1,1,3,0
|
| 830 |
+
44,1,2,130,233,0,1,179,1,0.4,2,0,2,1
|
| 831 |
+
54,1,0,124,266,0,0,109,1,2.2,1,1,3,0
|
| 832 |
+
51,1,2,100,222,0,1,143,1,1.2,1,0,2,1
|
| 833 |
+
58,1,1,125,220,0,1,144,0,0.4,1,4,3,1
|
| 834 |
+
68,1,2,118,277,0,1,151,0,1,2,1,3,1
|
| 835 |
+
55,1,0,140,217,0,1,111,1,5.6,0,0,3,0
|
| 836 |
+
42,1,0,136,315,0,1,125,1,1.8,1,0,1,0
|
| 837 |
+
49,1,2,118,149,0,0,126,0,0.8,2,3,2,0
|
| 838 |
+
53,0,0,138,234,0,0,160,0,0,2,0,2,1
|
| 839 |
+
52,1,2,172,199,1,1,162,0,0.5,2,0,3,1
|
| 840 |
+
51,1,3,125,213,0,0,125,1,1.4,2,1,2,1
|
| 841 |
+
51,1,0,140,261,0,0,186,1,0,2,0,2,1
|
| 842 |
+
70,1,0,145,174,0,1,125,1,2.6,0,0,3,0
|
| 843 |
+
35,0,0,138,183,0,1,182,0,1.4,2,0,2,1
|
| 844 |
+
58,1,2,112,230,0,0,165,0,2.5,1,1,3,0
|
| 845 |
+
59,1,3,160,273,0,0,125,0,0,2,0,2,0
|
| 846 |
+
60,1,0,140,293,0,0,170,0,1.2,1,2,3,0
|
| 847 |
+
56,1,0,132,184,0,0,105,1,2.1,1,1,1,0
|
| 848 |
+
35,0,0,138,183,0,1,182,0,1.4,2,0,2,1
|
| 849 |
+
61,1,0,138,166,0,0,125,1,3.6,1,1,2,0
|
| 850 |
+
58,0,3,150,283,1,0,162,0,1,2,0,2,1
|
| 851 |
+
52,1,0,128,255,0,1,161,1,0,2,1,3,0
|
| 852 |
+
58,1,1,120,284,0,0,160,0,1.8,1,0,2,0
|
| 853 |
+
37,1,2,130,250,0,1,187,0,3.5,0,0,2,1
|
| 854 |
+
52,1,0,128,255,0,1,161,1,0,2,1,3,0
|
| 855 |
+
67,1,0,120,229,0,0,129,1,2.6,1,2,3,0
|
| 856 |
+
65,1,3,138,282,1,0,174,0,1.4,1,1,2,0
|
| 857 |
+
46,1,1,101,197,1,1,156,0,0,2,0,3,1
|
| 858 |
+
68,0,2,120,211,0,0,115,0,1.5,1,0,2,1
|
| 859 |
+
43,1,0,115,303,0,1,181,0,1.2,1,0,2,1
|
| 860 |
+
68,0,2,120,211,0,0,115,0,1.5,1,0,2,1
|
| 861 |
+
51,1,0,140,299,0,1,173,1,1.6,2,0,3,0
|
| 862 |
+
52,1,0,112,230,0,1,160,0,0,2,1,2,0
|
| 863 |
+
64,1,2,140,335,0,1,158,0,0,2,0,2,0
|
| 864 |
+
59,1,3,170,288,0,0,159,0,0.2,1,0,3,0
|
| 865 |
+
52,1,0,125,212,0,1,168,0,1,2,2,3,0
|
| 866 |
+
59,1,3,160,273,0,0,125,0,0,2,0,2,0
|
| 867 |
+
60,0,3,150,240,0,1,171,0,0.9,2,0,2,1
|
| 868 |
+
41,1,2,112,250,0,1,179,0,0,2,0,2,1
|
| 869 |
+
41,1,1,110,235,0,1,153,0,0,2,0,2,1
|
| 870 |
+
56,1,1,120,240,0,1,169,0,0,0,0,2,1
|
| 871 |
+
56,1,1,120,236,0,1,178,0,0.8,2,0,2,1
|
| 872 |
+
48,0,2,130,275,0,1,139,0,0.2,2,0,2,1
|
| 873 |
+
39,1,2,140,321,0,0,182,0,0,2,0,2,1
|
| 874 |
+
64,1,3,170,227,0,0,155,0,0.6,1,0,3,1
|
| 875 |
+
57,1,0,140,192,0,1,148,0,0.4,1,0,1,1
|
| 876 |
+
59,1,3,160,273,0,0,125,0,0,2,0,2,0
|
| 877 |
+
60,1,0,130,206,0,0,132,1,2.4,1,2,3,0
|
| 878 |
+
61,1,0,140,207,0,0,138,1,1.9,2,1,3,0
|
| 879 |
+
43,0,2,122,213,0,1,165,0,0.2,1,0,2,1
|
| 880 |
+
54,1,0,120,188,0,1,113,0,1.4,1,1,3,0
|
| 881 |
+
59,1,0,138,271,0,0,182,0,0,2,0,2,1
|
| 882 |
+
57,1,0,132,207,0,1,168,1,0,2,0,3,1
|
| 883 |
+
57,1,1,154,232,0,0,164,0,0,2,1,2,0
|
| 884 |
+
57,1,0,130,131,0,1,115,1,1.2,1,1,3,0
|
| 885 |
+
48,1,0,124,274,0,0,166,0,0.5,1,0,3,0
|
| 886 |
+
70,1,0,145,174,0,1,125,1,2.6,0,0,3,0
|
| 887 |
+
57,1,0,165,289,1,0,124,0,1,1,3,3,0
|
| 888 |
+
61,1,0,120,260,0,1,140,1,3.6,1,1,3,0
|
| 889 |
+
57,1,0,110,201,0,1,126,1,1.5,1,0,1,1
|
| 890 |
+
60,0,0,150,258,0,0,157,0,2.6,1,2,3,0
|
| 891 |
+
63,0,0,150,407,0,0,154,0,4,1,3,3,0
|
| 892 |
+
55,0,0,128,205,0,2,130,1,2,1,1,3,0
|
| 893 |
+
64,0,0,180,325,0,1,154,1,0,2,0,2,1
|
| 894 |
+
54,1,0,110,239,0,1,126,1,2.8,1,1,3,0
|
| 895 |
+
52,1,0,128,204,1,1,156,1,1,1,0,0,0
|
| 896 |
+
51,1,0,140,299,0,1,173,1,1.6,2,0,3,0
|
| 897 |
+
62,0,2,130,263,0,1,97,0,1.2,1,1,3,0
|
| 898 |
+
59,1,3,178,270,0,0,145,0,4.2,0,0,3,1
|
| 899 |
+
52,1,1,134,201,0,1,158,0,0.8,2,1,2,1
|
| 900 |
+
42,0,0,102,265,0,0,122,0,0.6,1,0,2,1
|
| 901 |
+
59,1,0,135,234,0,1,161,0,0.5,1,0,3,1
|
| 902 |
+
61,1,3,134,234,0,1,145,0,2.6,1,2,2,0
|
| 903 |
+
42,0,0,102,265,0,0,122,0,0.6,1,0,2,1
|
| 904 |
+
62,0,0,140,268,0,0,160,0,3.6,0,2,2,0
|
| 905 |
+
59,1,2,126,218,1,1,134,0,2.2,1,1,1,0
|
| 906 |
+
55,1,1,130,262,0,1,155,0,0,2,0,2,1
|
| 907 |
+
64,1,0,120,246,0,0,96,1,2.2,0,1,2,0
|
| 908 |
+
42,1,0,140,226,0,1,178,0,0,2,0,2,1
|
| 909 |
+
50,0,1,120,244,0,1,162,0,1.1,2,0,2,1
|
| 910 |
+
62,1,0,120,267,0,1,99,1,1.8,1,2,3,0
|
| 911 |
+
50,1,0,144,200,0,0,126,1,0.9,1,0,3,0
|
| 912 |
+
50,1,2,140,233,0,1,163,0,0.6,1,1,3,0
|
| 913 |
+
58,0,1,136,319,1,0,152,0,0,2,2,2,0
|
| 914 |
+
35,1,0,120,198,0,1,130,1,1.6,1,0,3,0
|
| 915 |
+
45,1,0,104,208,0,0,148,1,3,1,0,2,1
|
| 916 |
+
66,1,0,112,212,0,0,132,1,0.1,2,1,2,0
|
| 917 |
+
46,1,0,120,249,0,0,144,0,0.8,2,0,3,0
|
| 918 |
+
65,1,0,135,254,0,0,127,0,2.8,1,1,3,0
|
| 919 |
+
47,1,2,130,253,0,1,179,0,0,2,0,2,1
|
| 920 |
+
59,1,3,134,204,0,1,162,0,0.8,2,2,2,0
|
| 921 |
+
38,1,3,120,231,0,1,182,1,3.8,1,0,3,0
|
| 922 |
+
39,1,0,118,219,0,1,140,0,1.2,1,0,3,0
|
| 923 |
+
58,1,0,146,218,0,1,105,0,2,1,1,3,0
|
| 924 |
+
44,1,1,120,263,0,1,173,0,0,2,0,3,1
|
| 925 |
+
54,1,0,140,239,0,1,160,0,1.2,2,0,2,1
|
| 926 |
+
61,0,0,130,330,0,0,169,0,0,2,0,2,0
|
| 927 |
+
57,1,0,130,131,0,1,115,1,1.2,1,1,3,0
|
| 928 |
+
54,1,0,110,206,0,0,108,1,0,1,1,2,0
|
| 929 |
+
42,1,2,120,240,1,1,194,0,0.8,0,0,3,1
|
| 930 |
+
54,1,0,124,266,0,0,109,1,2.2,1,1,3,0
|
| 931 |
+
60,1,0,130,206,0,0,132,1,2.4,1,2,3,0
|
| 932 |
+
65,1,0,135,254,0,0,127,0,2.8,1,1,3,0
|
| 933 |
+
40,1,0,152,223,0,1,181,0,0,2,0,3,0
|
| 934 |
+
51,0,2,140,308,0,0,142,0,1.5,2,1,2,1
|
| 935 |
+
38,1,3,120,231,0,1,182,1,3.8,1,0,3,0
|
| 936 |
+
42,1,2,130,180,0,1,150,0,0,2,0,2,1
|
| 937 |
+
56,1,1,120,240,0,1,169,0,0,0,0,2,1
|
| 938 |
+
43,1,2,130,315,0,1,162,0,1.9,2,1,2,1
|
| 939 |
+
64,1,2,140,335,0,1,158,0,0,2,0,2,0
|
| 940 |
+
53,1,0,142,226,0,0,111,1,0,2,0,3,1
|
| 941 |
+
49,0,1,134,271,0,1,162,0,0,1,0,2,1
|
| 942 |
+
57,0,0,140,241,0,1,123,1,0.2,1,0,3,0
|
| 943 |
+
52,0,2,136,196,0,0,169,0,0.1,1,0,2,1
|
| 944 |
+
69,0,3,140,239,0,1,151,0,1.8,2,2,2,1
|
| 945 |
+
65,1,0,120,177,0,1,140,0,0.4,2,0,3,1
|
| 946 |
+
66,0,0,178,228,1,1,165,1,1,1,2,3,0
|
| 947 |
+
56,1,3,120,193,0,0,162,0,1.9,1,0,3,1
|
| 948 |
+
67,0,2,152,277,0,1,172,0,0,2,1,2,1
|
| 949 |
+
54,0,2,160,201,0,1,163,0,0,2,1,2,1
|
| 950 |
+
70,1,0,145,174,0,1,125,1,2.6,0,0,3,0
|
| 951 |
+
57,1,0,132,207,0,1,168,1,0,2,0,3,1
|
| 952 |
+
67,1,0,160,286,0,0,108,1,1.5,1,3,2,0
|
| 953 |
+
62,0,2,130,263,0,1,97,0,1.2,1,1,3,0
|
| 954 |
+
54,0,2,135,304,1,1,170,0,0,2,0,2,1
|
| 955 |
+
45,0,0,138,236,0,0,152,1,0.2,1,0,2,1
|
| 956 |
+
53,0,0,130,264,0,0,143,0,0.4,1,0,2,1
|
| 957 |
+
62,1,2,130,231,0,1,146,0,1.8,1,3,3,1
|
| 958 |
+
49,0,0,130,269,0,1,163,0,0,2,0,2,1
|
| 959 |
+
50,1,2,140,233,0,1,163,0,0.6,1,1,3,0
|
| 960 |
+
65,0,2,140,417,1,0,157,0,0.8,2,1,2,1
|
| 961 |
+
69,0,3,140,239,0,1,151,0,1.8,2,2,2,1
|
| 962 |
+
52,0,2,136,196,0,0,169,0,0.1,1,0,2,1
|
| 963 |
+
58,0,0,100,248,0,0,122,0,1,1,0,2,1
|
| 964 |
+
52,1,0,108,233,1,1,147,0,0.1,2,3,3,1
|
| 965 |
+
57,0,0,140,241,0,1,123,1,0.2,1,0,3,0
|
| 966 |
+
44,0,2,108,141,0,1,175,0,0.6,1,0,2,1
|
| 967 |
+
76,0,2,140,197,0,2,116,0,1.1,1,0,2,1
|
| 968 |
+
58,1,0,128,259,0,0,130,1,3,1,2,3,0
|
| 969 |
+
60,0,2,120,178,1,1,96,0,0,2,0,2,1
|
| 970 |
+
53,1,0,140,203,1,0,155,1,3.1,0,0,3,0
|
| 971 |
+
52,1,1,120,325,0,1,172,0,0.2,2,0,2,1
|
| 972 |
+
38,1,2,138,175,0,1,173,0,0,2,4,2,1
|
| 973 |
+
52,1,2,172,199,1,1,162,0,0.5,2,0,3,1
|
| 974 |
+
52,1,3,118,186,0,0,190,0,0,1,0,1,1
|
| 975 |
+
51,1,2,125,245,1,0,166,0,2.4,1,0,2,1
|
| 976 |
+
43,1,0,110,211,0,1,161,0,0,2,0,3,1
|
| 977 |
+
39,1,0,118,219,0,1,140,0,1.2,1,0,3,0
|
| 978 |
+
63,0,0,108,269,0,1,169,1,1.8,1,2,2,0
|
| 979 |
+
52,1,1,128,205,1,1,184,0,0,2,0,2,1
|
| 980 |
+
44,1,0,110,197,0,0,177,0,0,2,1,2,0
|
| 981 |
+
45,1,0,142,309,0,0,147,1,0,1,3,3,0
|
| 982 |
+
57,1,0,140,192,0,1,148,0,0.4,1,0,1,1
|
| 983 |
+
39,1,0,118,219,0,1,140,0,1.2,1,0,3,0
|
| 984 |
+
67,0,0,106,223,0,1,142,0,0.3,2,2,2,1
|
| 985 |
+
64,1,0,128,263,0,1,105,1,0.2,1,1,3,1
|
| 986 |
+
59,1,0,135,234,0,1,161,0,0.5,1,0,3,1
|
| 987 |
+
62,1,2,130,231,0,1,146,0,1.8,1,3,3,1
|
| 988 |
+
55,0,0,180,327,0,2,117,1,3.4,1,0,2,0
|
| 989 |
+
57,1,1,154,232,0,0,164,0,0,2,1,2,0
|
| 990 |
+
60,1,0,140,293,0,0,170,0,1.2,1,2,3,0
|
| 991 |
+
71,0,1,160,302,0,1,162,0,0.4,2,2,2,1
|
| 992 |
+
56,1,1,120,236,0,1,178,0,0.8,2,0,2,1
|
| 993 |
+
60,1,0,117,230,1,1,160,1,1.4,2,2,3,0
|
| 994 |
+
50,0,0,110,254,0,0,159,0,0,2,0,2,1
|
| 995 |
+
43,1,0,132,247,1,0,143,1,0.1,1,4,3,0
|
| 996 |
+
59,1,0,110,239,0,0,142,1,1.2,1,1,3,0
|
| 997 |
+
44,1,1,120,263,0,1,173,0,0,2,0,3,1
|
| 998 |
+
56,0,0,134,409,0,0,150,1,1.9,1,2,3,0
|
| 999 |
+
54,1,0,120,188,0,1,113,0,1.4,1,1,3,0
|
| 1000 |
+
42,1,0,136,315,0,1,125,1,1.8,1,0,1,0
|
| 1001 |
+
67,1,0,125,254,1,1,163,0,0.2,1,2,3,0
|
| 1002 |
+
64,1,0,145,212,0,0,132,0,2,1,2,1,0
|
| 1003 |
+
42,1,0,140,226,0,1,178,0,0,2,0,2,1
|
| 1004 |
+
66,1,0,112,212,0,0,132,1,0.1,2,1,2,0
|
| 1005 |
+
52,1,0,108,233,1,1,147,0,0.1,2,3,3,1
|
| 1006 |
+
51,0,2,140,308,0,0,142,0,1.5,2,1,2,1
|
| 1007 |
+
55,0,0,128,205,0,2,130,1,2,1,1,3,0
|
| 1008 |
+
58,1,2,140,211,1,0,165,0,0,2,0,2,1
|
| 1009 |
+
56,1,3,120,193,0,0,162,0,1.9,1,0,3,1
|
| 1010 |
+
42,1,1,120,295,0,1,162,0,0,2,0,2,1
|
| 1011 |
+
40,1,0,152,223,0,1,181,0,0,2,0,3,0
|
| 1012 |
+
51,1,0,140,299,0,1,173,1,1.6,2,0,3,0
|
| 1013 |
+
45,1,1,128,308,0,0,170,0,0,2,0,2,1
|
| 1014 |
+
48,1,1,110,229,0,1,168,0,1,0,0,3,0
|
| 1015 |
+
58,1,0,114,318,0,2,140,0,4.4,0,3,1,0
|
| 1016 |
+
44,0,2,108,141,0,1,175,0,0.6,1,0,2,1
|
| 1017 |
+
58,1,0,128,216,0,0,131,1,2.2,1,3,3,0
|
| 1018 |
+
65,1,3,138,282,1,0,174,0,1.4,1,1,2,0
|
| 1019 |
+
53,1,0,123,282,0,1,95,1,2,1,2,3,0
|
| 1020 |
+
41,1,0,110,172,0,0,158,0,0,2,0,3,0
|
| 1021 |
+
47,1,0,112,204,0,1,143,0,0.1,2,0,2,1
|
| 1022 |
+
59,1,1,140,221,0,1,164,1,0,2,0,2,1
|
| 1023 |
+
60,1,0,125,258,0,0,141,1,2.8,1,1,3,0
|
| 1024 |
+
47,1,0,110,275,0,0,118,1,1,1,1,2,0
|
| 1025 |
+
50,0,0,110,254,0,0,159,0,0,2,0,2,1
|
| 1026 |
+
54,1,0,120,188,0,1,113,0,1.4,1,1,3,0
|
datasets/parkinsons.csv
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
name,MDVP:Fo(Hz),MDVP:Fhi(Hz),MDVP:Flo(Hz),MDVP:Jitter(%),MDVP:Jitter(Abs),MDVP:RAP,MDVP:PPQ,Jitter:DDP,MDVP:Shimmer,MDVP:Shimmer(dB),Shimmer:APQ3,Shimmer:APQ5,MDVP:APQ,Shimmer:DDA,NHR,HNR,status,RPDE,DFA,spread1,spread2,D2,PPE
|
| 2 |
+
phon_R01_S01_1,119.99200,157.30200,74.99700,0.00784,0.00007,0.00370,0.00554,0.01109,0.04374,0.42600,0.02182,0.03130,0.02971,0.06545,0.02211,21.03300,1,0.414783,0.815285,-4.813031,0.266482,2.301442,0.284654
|
| 3 |
+
phon_R01_S01_2,122.40000,148.65000,113.81900,0.00968,0.00008,0.00465,0.00696,0.01394,0.06134,0.62600,0.03134,0.04518,0.04368,0.09403,0.01929,19.08500,1,0.458359,0.819521,-4.075192,0.335590,2.486855,0.368674
|
| 4 |
+
phon_R01_S01_3,116.68200,131.11100,111.55500,0.01050,0.00009,0.00544,0.00781,0.01633,0.05233,0.48200,0.02757,0.03858,0.03590,0.08270,0.01309,20.65100,1,0.429895,0.825288,-4.443179,0.311173,2.342259,0.332634
|
| 5 |
+
phon_R01_S01_4,116.67600,137.87100,111.36600,0.00997,0.00009,0.00502,0.00698,0.01505,0.05492,0.51700,0.02924,0.04005,0.03772,0.08771,0.01353,20.64400,1,0.434969,0.819235,-4.117501,0.334147,2.405554,0.368975
|
| 6 |
+
phon_R01_S01_5,116.01400,141.78100,110.65500,0.01284,0.00011,0.00655,0.00908,0.01966,0.06425,0.58400,0.03490,0.04825,0.04465,0.10470,0.01767,19.64900,1,0.417356,0.823484,-3.747787,0.234513,2.332180,0.410335
|
| 7 |
+
phon_R01_S01_6,120.55200,131.16200,113.78700,0.00968,0.00008,0.00463,0.00750,0.01388,0.04701,0.45600,0.02328,0.03526,0.03243,0.06985,0.01222,21.37800,1,0.415564,0.825069,-4.242867,0.299111,2.187560,0.357775
|
| 8 |
+
phon_R01_S02_1,120.26700,137.24400,114.82000,0.00333,0.00003,0.00155,0.00202,0.00466,0.01608,0.14000,0.00779,0.00937,0.01351,0.02337,0.00607,24.88600,1,0.596040,0.764112,-5.634322,0.257682,1.854785,0.211756
|
| 9 |
+
phon_R01_S02_2,107.33200,113.84000,104.31500,0.00290,0.00003,0.00144,0.00182,0.00431,0.01567,0.13400,0.00829,0.00946,0.01256,0.02487,0.00344,26.89200,1,0.637420,0.763262,-6.167603,0.183721,2.064693,0.163755
|
| 10 |
+
phon_R01_S02_3,95.73000,132.06800,91.75400,0.00551,0.00006,0.00293,0.00332,0.00880,0.02093,0.19100,0.01073,0.01277,0.01717,0.03218,0.01070,21.81200,1,0.615551,0.773587,-5.498678,0.327769,2.322511,0.231571
|
| 11 |
+
phon_R01_S02_4,95.05600,120.10300,91.22600,0.00532,0.00006,0.00268,0.00332,0.00803,0.02838,0.25500,0.01441,0.01725,0.02444,0.04324,0.01022,21.86200,1,0.547037,0.798463,-5.011879,0.325996,2.432792,0.271362
|
| 12 |
+
phon_R01_S02_5,88.33300,112.24000,84.07200,0.00505,0.00006,0.00254,0.00330,0.00763,0.02143,0.19700,0.01079,0.01342,0.01892,0.03237,0.01166,21.11800,1,0.611137,0.776156,-5.249770,0.391002,2.407313,0.249740
|
| 13 |
+
phon_R01_S02_6,91.90400,115.87100,86.29200,0.00540,0.00006,0.00281,0.00336,0.00844,0.02752,0.24900,0.01424,0.01641,0.02214,0.04272,0.01141,21.41400,1,0.583390,0.792520,-4.960234,0.363566,2.642476,0.275931
|
| 14 |
+
phon_R01_S04_1,136.92600,159.86600,131.27600,0.00293,0.00002,0.00118,0.00153,0.00355,0.01259,0.11200,0.00656,0.00717,0.01140,0.01968,0.00581,25.70300,1,0.460600,0.646846,-6.547148,0.152813,2.041277,0.138512
|
| 15 |
+
phon_R01_S04_2,139.17300,179.13900,76.55600,0.00390,0.00003,0.00165,0.00208,0.00496,0.01642,0.15400,0.00728,0.00932,0.01797,0.02184,0.01041,24.88900,1,0.430166,0.665833,-5.660217,0.254989,2.519422,0.199889
|
| 16 |
+
phon_R01_S04_3,152.84500,163.30500,75.83600,0.00294,0.00002,0.00121,0.00149,0.00364,0.01828,0.15800,0.01064,0.00972,0.01246,0.03191,0.00609,24.92200,1,0.474791,0.654027,-6.105098,0.203653,2.125618,0.170100
|
| 17 |
+
phon_R01_S04_4,142.16700,217.45500,83.15900,0.00369,0.00003,0.00157,0.00203,0.00471,0.01503,0.12600,0.00772,0.00888,0.01359,0.02316,0.00839,25.17500,1,0.565924,0.658245,-5.340115,0.210185,2.205546,0.234589
|
| 18 |
+
phon_R01_S04_5,144.18800,349.25900,82.76400,0.00544,0.00004,0.00211,0.00292,0.00632,0.02047,0.19200,0.00969,0.01200,0.02074,0.02908,0.01859,22.33300,1,0.567380,0.644692,-5.440040,0.239764,2.264501,0.218164
|
| 19 |
+
phon_R01_S04_6,168.77800,232.18100,75.60300,0.00718,0.00004,0.00284,0.00387,0.00853,0.03327,0.34800,0.01441,0.01893,0.03430,0.04322,0.02919,20.37600,1,0.631099,0.605417,-2.931070,0.434326,3.007463,0.430788
|
| 20 |
+
phon_R01_S05_1,153.04600,175.82900,68.62300,0.00742,0.00005,0.00364,0.00432,0.01092,0.05517,0.54200,0.02471,0.03572,0.05767,0.07413,0.03160,17.28000,1,0.665318,0.719467,-3.949079,0.357870,3.109010,0.377429
|
| 21 |
+
phon_R01_S05_2,156.40500,189.39800,142.82200,0.00768,0.00005,0.00372,0.00399,0.01116,0.03995,0.34800,0.01721,0.02374,0.04310,0.05164,0.03365,17.15300,1,0.649554,0.686080,-4.554466,0.340176,2.856676,0.322111
|
| 22 |
+
phon_R01_S05_3,153.84800,165.73800,65.78200,0.00840,0.00005,0.00428,0.00450,0.01285,0.03810,0.32800,0.01667,0.02383,0.04055,0.05000,0.03871,17.53600,1,0.660125,0.704087,-4.095442,0.262564,2.739710,0.365391
|
| 23 |
+
phon_R01_S05_4,153.88000,172.86000,78.12800,0.00480,0.00003,0.00232,0.00267,0.00696,0.04137,0.37000,0.02021,0.02591,0.04525,0.06062,0.01849,19.49300,1,0.629017,0.698951,-5.186960,0.237622,2.557536,0.259765
|
| 24 |
+
phon_R01_S05_5,167.93000,193.22100,79.06800,0.00442,0.00003,0.00220,0.00247,0.00661,0.04351,0.37700,0.02228,0.02540,0.04246,0.06685,0.01280,22.46800,1,0.619060,0.679834,-4.330956,0.262384,2.916777,0.285695
|
| 25 |
+
phon_R01_S05_6,173.91700,192.73500,86.18000,0.00476,0.00003,0.00221,0.00258,0.00663,0.04192,0.36400,0.02187,0.02470,0.03772,0.06562,0.01840,20.42200,1,0.537264,0.686894,-5.248776,0.210279,2.547508,0.253556
|
| 26 |
+
phon_R01_S06_1,163.65600,200.84100,76.77900,0.00742,0.00005,0.00380,0.00390,0.01140,0.01659,0.16400,0.00738,0.00948,0.01497,0.02214,0.01778,23.83100,1,0.397937,0.732479,-5.557447,0.220890,2.692176,0.215961
|
| 27 |
+
phon_R01_S06_2,104.40000,206.00200,77.96800,0.00633,0.00006,0.00316,0.00375,0.00948,0.03767,0.38100,0.01732,0.02245,0.03780,0.05197,0.02887,22.06600,1,0.522746,0.737948,-5.571843,0.236853,2.846369,0.219514
|
| 28 |
+
phon_R01_S06_3,171.04100,208.31300,75.50100,0.00455,0.00003,0.00250,0.00234,0.00750,0.01966,0.18600,0.00889,0.01169,0.01872,0.02666,0.01095,25.90800,1,0.418622,0.720916,-6.183590,0.226278,2.589702,0.147403
|
| 29 |
+
phon_R01_S06_4,146.84500,208.70100,81.73700,0.00496,0.00003,0.00250,0.00275,0.00749,0.01919,0.19800,0.00883,0.01144,0.01826,0.02650,0.01328,25.11900,1,0.358773,0.726652,-6.271690,0.196102,2.314209,0.162999
|
| 30 |
+
phon_R01_S06_5,155.35800,227.38300,80.05500,0.00310,0.00002,0.00159,0.00176,0.00476,0.01718,0.16100,0.00769,0.01012,0.01661,0.02307,0.00677,25.97000,1,0.470478,0.676258,-7.120925,0.279789,2.241742,0.108514
|
| 31 |
+
phon_R01_S06_6,162.56800,198.34600,77.63000,0.00502,0.00003,0.00280,0.00253,0.00841,0.01791,0.16800,0.00793,0.01057,0.01799,0.02380,0.01170,25.67800,1,0.427785,0.723797,-6.635729,0.209866,1.957961,0.135242
|
| 32 |
+
phon_R01_S07_1,197.07600,206.89600,192.05500,0.00289,0.00001,0.00166,0.00168,0.00498,0.01098,0.09700,0.00563,0.00680,0.00802,0.01689,0.00339,26.77500,0,0.422229,0.741367,-7.348300,0.177551,1.743867,0.085569
|
| 33 |
+
phon_R01_S07_2,199.22800,209.51200,192.09100,0.00241,0.00001,0.00134,0.00138,0.00402,0.01015,0.08900,0.00504,0.00641,0.00762,0.01513,0.00167,30.94000,0,0.432439,0.742055,-7.682587,0.173319,2.103106,0.068501
|
| 34 |
+
phon_R01_S07_3,198.38300,215.20300,193.10400,0.00212,0.00001,0.00113,0.00135,0.00339,0.01263,0.11100,0.00640,0.00825,0.00951,0.01919,0.00119,30.77500,0,0.465946,0.738703,-7.067931,0.175181,1.512275,0.096320
|
| 35 |
+
phon_R01_S07_4,202.26600,211.60400,197.07900,0.00180,0.000009,0.00093,0.00107,0.00278,0.00954,0.08500,0.00469,0.00606,0.00719,0.01407,0.00072,32.68400,0,0.368535,0.742133,-7.695734,0.178540,1.544609,0.056141
|
| 36 |
+
phon_R01_S07_5,203.18400,211.52600,196.16000,0.00178,0.000009,0.00094,0.00106,0.00283,0.00958,0.08500,0.00468,0.00610,0.00726,0.01403,0.00065,33.04700,0,0.340068,0.741899,-7.964984,0.163519,1.423287,0.044539
|
| 37 |
+
phon_R01_S07_6,201.46400,210.56500,195.70800,0.00198,0.000010,0.00105,0.00115,0.00314,0.01194,0.10700,0.00586,0.00760,0.00957,0.01758,0.00135,31.73200,0,0.344252,0.742737,-7.777685,0.170183,2.447064,0.057610
|
| 38 |
+
phon_R01_S08_1,177.87600,192.92100,168.01300,0.00411,0.00002,0.00233,0.00241,0.00700,0.02126,0.18900,0.01154,0.01347,0.01612,0.03463,0.00586,23.21600,1,0.360148,0.778834,-6.149653,0.218037,2.477082,0.165827
|
| 39 |
+
phon_R01_S08_2,176.17000,185.60400,163.56400,0.00369,0.00002,0.00205,0.00218,0.00616,0.01851,0.16800,0.00938,0.01160,0.01491,0.02814,0.00340,24.95100,1,0.341435,0.783626,-6.006414,0.196371,2.536527,0.173218
|
| 40 |
+
phon_R01_S08_3,180.19800,201.24900,175.45600,0.00284,0.00002,0.00153,0.00166,0.00459,0.01444,0.13100,0.00726,0.00885,0.01190,0.02177,0.00231,26.73800,1,0.403884,0.766209,-6.452058,0.212294,2.269398,0.141929
|
| 41 |
+
phon_R01_S08_4,187.73300,202.32400,173.01500,0.00316,0.00002,0.00168,0.00182,0.00504,0.01663,0.15100,0.00829,0.01003,0.01366,0.02488,0.00265,26.31000,1,0.396793,0.758324,-6.006647,0.266892,2.382544,0.160691
|
| 42 |
+
phon_R01_S08_5,186.16300,197.72400,177.58400,0.00298,0.00002,0.00165,0.00175,0.00496,0.01495,0.13500,0.00774,0.00941,0.01233,0.02321,0.00231,26.82200,1,0.326480,0.765623,-6.647379,0.201095,2.374073,0.130554
|
| 43 |
+
phon_R01_S08_6,184.05500,196.53700,166.97700,0.00258,0.00001,0.00134,0.00147,0.00403,0.01463,0.13200,0.00742,0.00901,0.01234,0.02226,0.00257,26.45300,1,0.306443,0.759203,-7.044105,0.063412,2.361532,0.115730
|
| 44 |
+
phon_R01_S10_1,237.22600,247.32600,225.22700,0.00298,0.00001,0.00169,0.00182,0.00507,0.01752,0.16400,0.01035,0.01024,0.01133,0.03104,0.00740,22.73600,0,0.305062,0.654172,-7.310550,0.098648,2.416838,0.095032
|
| 45 |
+
phon_R01_S10_2,241.40400,248.83400,232.48300,0.00281,0.00001,0.00157,0.00173,0.00470,0.01760,0.15400,0.01006,0.01038,0.01251,0.03017,0.00675,23.14500,0,0.457702,0.634267,-6.793547,0.158266,2.256699,0.117399
|
| 46 |
+
phon_R01_S10_3,243.43900,250.91200,232.43500,0.00210,0.000009,0.00109,0.00137,0.00327,0.01419,0.12600,0.00777,0.00898,0.01033,0.02330,0.00454,25.36800,0,0.438296,0.635285,-7.057869,0.091608,2.330716,0.091470
|
| 47 |
+
phon_R01_S10_4,242.85200,255.03400,227.91100,0.00225,0.000009,0.00117,0.00139,0.00350,0.01494,0.13400,0.00847,0.00879,0.01014,0.02542,0.00476,25.03200,0,0.431285,0.638928,-6.995820,0.102083,2.365800,0.102706
|
| 48 |
+
phon_R01_S10_5,245.51000,262.09000,231.84800,0.00235,0.000010,0.00127,0.00148,0.00380,0.01608,0.14100,0.00906,0.00977,0.01149,0.02719,0.00476,24.60200,0,0.467489,0.631653,-7.156076,0.127642,2.392122,0.097336
|
| 49 |
+
phon_R01_S10_6,252.45500,261.48700,182.78600,0.00185,0.000007,0.00092,0.00113,0.00276,0.01152,0.10300,0.00614,0.00730,0.00860,0.01841,0.00432,26.80500,0,0.610367,0.635204,-7.319510,0.200873,2.028612,0.086398
|
| 50 |
+
phon_R01_S13_1,122.18800,128.61100,115.76500,0.00524,0.00004,0.00169,0.00203,0.00507,0.01613,0.14300,0.00855,0.00776,0.01433,0.02566,0.00839,23.16200,0,0.579597,0.733659,-6.439398,0.266392,2.079922,0.133867
|
| 51 |
+
phon_R01_S13_2,122.96400,130.04900,114.67600,0.00428,0.00003,0.00124,0.00155,0.00373,0.01681,0.15400,0.00930,0.00802,0.01400,0.02789,0.00462,24.97100,0,0.538688,0.754073,-6.482096,0.264967,2.054419,0.128872
|
| 52 |
+
phon_R01_S13_3,124.44500,135.06900,117.49500,0.00431,0.00003,0.00141,0.00167,0.00422,0.02184,0.19700,0.01241,0.01024,0.01685,0.03724,0.00479,25.13500,0,0.553134,0.775933,-6.650471,0.254498,1.840198,0.103561
|
| 53 |
+
phon_R01_S13_4,126.34400,134.23100,112.77300,0.00448,0.00004,0.00131,0.00169,0.00393,0.02033,0.18500,0.01143,0.00959,0.01614,0.03429,0.00474,25.03000,0,0.507504,0.760361,-6.689151,0.291954,2.431854,0.105993
|
| 54 |
+
phon_R01_S13_5,128.00100,138.05200,122.08000,0.00436,0.00003,0.00137,0.00166,0.00411,0.02297,0.21000,0.01323,0.01072,0.01677,0.03969,0.00481,24.69200,0,0.459766,0.766204,-7.072419,0.220434,1.972297,0.119308
|
| 55 |
+
phon_R01_S13_6,129.33600,139.86700,118.60400,0.00490,0.00004,0.00165,0.00183,0.00495,0.02498,0.22800,0.01396,0.01219,0.01947,0.04188,0.00484,25.42900,0,0.420383,0.785714,-6.836811,0.269866,2.223719,0.147491
|
| 56 |
+
phon_R01_S16_1,108.80700,134.65600,102.87400,0.00761,0.00007,0.00349,0.00486,0.01046,0.02719,0.25500,0.01483,0.01609,0.02067,0.04450,0.01036,21.02800,1,0.536009,0.819032,-4.649573,0.205558,1.986899,0.316700
|
| 57 |
+
phon_R01_S16_2,109.86000,126.35800,104.43700,0.00874,0.00008,0.00398,0.00539,0.01193,0.03209,0.30700,0.01789,0.01992,0.02454,0.05368,0.01180,20.76700,1,0.558586,0.811843,-4.333543,0.221727,2.014606,0.344834
|
| 58 |
+
phon_R01_S16_3,110.41700,131.06700,103.37000,0.00784,0.00007,0.00352,0.00514,0.01056,0.03715,0.33400,0.02032,0.02302,0.02802,0.06097,0.00969,21.42200,1,0.541781,0.821364,-4.438453,0.238298,1.922940,0.335041
|
| 59 |
+
phon_R01_S16_4,117.27400,129.91600,110.40200,0.00752,0.00006,0.00299,0.00469,0.00898,0.02293,0.22100,0.01189,0.01459,0.01948,0.03568,0.00681,22.81700,1,0.530529,0.817756,-4.608260,0.290024,2.021591,0.314464
|
| 60 |
+
phon_R01_S16_5,116.87900,131.89700,108.15300,0.00788,0.00007,0.00334,0.00493,0.01003,0.02645,0.26500,0.01394,0.01625,0.02137,0.04183,0.00786,22.60300,1,0.540049,0.813432,-4.476755,0.262633,1.827012,0.326197
|
| 61 |
+
phon_R01_S16_6,114.84700,271.31400,104.68000,0.00867,0.00008,0.00373,0.00520,0.01120,0.03225,0.35000,0.01805,0.01974,0.02519,0.05414,0.01143,21.66000,1,0.547975,0.817396,-4.609161,0.221711,1.831691,0.316395
|
| 62 |
+
phon_R01_S17_1,209.14400,237.49400,109.37900,0.00282,0.00001,0.00147,0.00152,0.00442,0.01861,0.17000,0.00975,0.01258,0.01382,0.02925,0.00871,25.55400,0,0.341788,0.678874,-7.040508,0.066994,2.460791,0.101516
|
| 63 |
+
phon_R01_S17_2,223.36500,238.98700,98.66400,0.00264,0.00001,0.00154,0.00151,0.00461,0.01906,0.16500,0.01013,0.01296,0.01340,0.03039,0.00301,26.13800,0,0.447979,0.686264,-7.293801,0.086372,2.321560,0.098555
|
| 64 |
+
phon_R01_S17_3,222.23600,231.34500,205.49500,0.00266,0.00001,0.00152,0.00144,0.00457,0.01643,0.14500,0.00867,0.01108,0.01200,0.02602,0.00340,25.85600,0,0.364867,0.694399,-6.966321,0.095882,2.278687,0.103224
|
| 65 |
+
phon_R01_S17_4,228.83200,234.61900,223.63400,0.00296,0.00001,0.00175,0.00155,0.00526,0.01644,0.14500,0.00882,0.01075,0.01179,0.02647,0.00351,25.96400,0,0.256570,0.683296,-7.245620,0.018689,2.498224,0.093534
|
| 66 |
+
phon_R01_S17_5,229.40100,252.22100,221.15600,0.00205,0.000009,0.00114,0.00113,0.00342,0.01457,0.12900,0.00769,0.00957,0.01016,0.02308,0.00300,26.41500,0,0.276850,0.673636,-7.496264,0.056844,2.003032,0.073581
|
| 67 |
+
phon_R01_S17_6,228.96900,239.54100,113.20100,0.00238,0.00001,0.00136,0.00140,0.00408,0.01745,0.15400,0.00942,0.01160,0.01234,0.02827,0.00420,24.54700,0,0.305429,0.681811,-7.314237,0.006274,2.118596,0.091546
|
| 68 |
+
phon_R01_S18_1,140.34100,159.77400,67.02100,0.00817,0.00006,0.00430,0.00440,0.01289,0.03198,0.31300,0.01830,0.01810,0.02428,0.05490,0.02183,19.56000,1,0.460139,0.720908,-5.409423,0.226850,2.359973,0.226156
|
| 69 |
+
phon_R01_S18_2,136.96900,166.60700,66.00400,0.00923,0.00007,0.00507,0.00463,0.01520,0.03111,0.30800,0.01638,0.01759,0.02603,0.04914,0.02659,19.97900,1,0.498133,0.729067,-5.324574,0.205660,2.291558,0.226247
|
| 70 |
+
phon_R01_S18_3,143.53300,162.21500,65.80900,0.01101,0.00008,0.00647,0.00467,0.01941,0.05384,0.47800,0.03152,0.02422,0.03392,0.09455,0.04882,20.33800,1,0.513237,0.731444,-5.869750,0.151814,2.118496,0.185580
|
| 71 |
+
phon_R01_S18_4,148.09000,162.82400,67.34300,0.00762,0.00005,0.00467,0.00354,0.01400,0.05428,0.49700,0.03357,0.02494,0.03635,0.10070,0.02431,21.71800,1,0.487407,0.727313,-6.261141,0.120956,2.137075,0.141958
|
| 72 |
+
phon_R01_S18_5,142.72900,162.40800,65.47600,0.00831,0.00006,0.00469,0.00419,0.01407,0.03485,0.36500,0.01868,0.01906,0.02949,0.05605,0.02599,20.26400,1,0.489345,0.730387,-5.720868,0.158830,2.277927,0.180828
|
| 73 |
+
phon_R01_S18_6,136.35800,176.59500,65.75000,0.00971,0.00007,0.00534,0.00478,0.01601,0.04978,0.48300,0.02749,0.02466,0.03736,0.08247,0.03361,18.57000,1,0.543299,0.733232,-5.207985,0.224852,2.642276,0.242981
|
| 74 |
+
phon_R01_S19_1,120.08000,139.71000,111.20800,0.00405,0.00003,0.00180,0.00220,0.00540,0.01706,0.15200,0.00974,0.00925,0.01345,0.02921,0.00442,25.74200,1,0.495954,0.762959,-5.791820,0.329066,2.205024,0.188180
|
| 75 |
+
phon_R01_S19_2,112.01400,588.51800,107.02400,0.00533,0.00005,0.00268,0.00329,0.00805,0.02448,0.22600,0.01373,0.01375,0.01956,0.04120,0.00623,24.17800,1,0.509127,0.789532,-5.389129,0.306636,1.928708,0.225461
|
| 76 |
+
phon_R01_S19_3,110.79300,128.10100,107.31600,0.00494,0.00004,0.00260,0.00283,0.00780,0.02442,0.21600,0.01432,0.01325,0.01831,0.04295,0.00479,25.43800,1,0.437031,0.815908,-5.313360,0.201861,2.225815,0.244512
|
| 77 |
+
phon_R01_S19_4,110.70700,122.61100,105.00700,0.00516,0.00005,0.00277,0.00289,0.00831,0.02215,0.20600,0.01284,0.01219,0.01715,0.03851,0.00472,25.19700,1,0.463514,0.807217,-5.477592,0.315074,1.862092,0.228624
|
| 78 |
+
phon_R01_S19_5,112.87600,148.82600,106.98100,0.00500,0.00004,0.00270,0.00289,0.00810,0.03999,0.35000,0.02413,0.02231,0.02704,0.07238,0.00905,23.37000,1,0.489538,0.789977,-5.775966,0.341169,2.007923,0.193918
|
| 79 |
+
phon_R01_S19_6,110.56800,125.39400,106.82100,0.00462,0.00004,0.00226,0.00280,0.00677,0.02199,0.19700,0.01284,0.01199,0.01636,0.03852,0.00420,25.82000,1,0.429484,0.816340,-5.391029,0.250572,1.777901,0.232744
|
| 80 |
+
phon_R01_S20_1,95.38500,102.14500,90.26400,0.00608,0.00006,0.00331,0.00332,0.00994,0.03202,0.26300,0.01803,0.01886,0.02455,0.05408,0.01062,21.87500,1,0.644954,0.779612,-5.115212,0.249494,2.017753,0.260015
|
| 81 |
+
phon_R01_S20_2,100.77000,115.69700,85.54500,0.01038,0.00010,0.00622,0.00576,0.01865,0.03121,0.36100,0.01773,0.01783,0.02139,0.05320,0.02220,19.20000,1,0.594387,0.790117,-4.913885,0.265699,2.398422,0.277948
|
| 82 |
+
phon_R01_S20_3,96.10600,108.66400,84.51000,0.00694,0.00007,0.00389,0.00415,0.01168,0.04024,0.36400,0.02266,0.02451,0.02876,0.06799,0.01823,19.05500,1,0.544805,0.770466,-4.441519,0.155097,2.645959,0.327978
|
| 83 |
+
phon_R01_S20_4,95.60500,107.71500,87.54900,0.00702,0.00007,0.00428,0.00371,0.01283,0.03156,0.29600,0.01792,0.01841,0.02190,0.05377,0.01825,19.65900,1,0.576084,0.778747,-5.132032,0.210458,2.232576,0.260633
|
| 84 |
+
phon_R01_S20_5,100.96000,110.01900,95.62800,0.00606,0.00006,0.00351,0.00348,0.01053,0.02427,0.21600,0.01371,0.01421,0.01751,0.04114,0.01237,20.53600,1,0.554610,0.787896,-5.022288,0.146948,2.428306,0.264666
|
| 85 |
+
phon_R01_S20_6,98.80400,102.30500,87.80400,0.00432,0.00004,0.00247,0.00258,0.00742,0.02223,0.20200,0.01277,0.01343,0.01552,0.03831,0.00882,22.24400,1,0.576644,0.772416,-6.025367,0.078202,2.053601,0.177275
|
| 86 |
+
phon_R01_S21_1,176.85800,205.56000,75.34400,0.00747,0.00004,0.00418,0.00420,0.01254,0.04795,0.43500,0.02679,0.03022,0.03510,0.08037,0.05470,13.89300,1,0.556494,0.729586,-5.288912,0.343073,3.099301,0.242119
|
| 87 |
+
phon_R01_S21_2,180.97800,200.12500,155.49500,0.00406,0.00002,0.00220,0.00244,0.00659,0.03852,0.33100,0.02107,0.02493,0.02877,0.06321,0.02782,16.17600,1,0.583574,0.727747,-5.657899,0.315903,3.098256,0.200423
|
| 88 |
+
phon_R01_S21_3,178.22200,202.45000,141.04700,0.00321,0.00002,0.00163,0.00194,0.00488,0.03759,0.32700,0.02073,0.02415,0.02784,0.06219,0.03151,15.92400,1,0.598714,0.712199,-6.366916,0.335753,2.654271,0.144614
|
| 89 |
+
phon_R01_S21_4,176.28100,227.38100,125.61000,0.00520,0.00003,0.00287,0.00312,0.00862,0.06511,0.58000,0.03671,0.04159,0.04683,0.11012,0.04824,13.92200,1,0.602874,0.740837,-5.515071,0.299549,3.136550,0.220968
|
| 90 |
+
phon_R01_S21_5,173.89800,211.35000,74.67700,0.00448,0.00003,0.00237,0.00254,0.00710,0.06727,0.65000,0.03788,0.04254,0.04802,0.11363,0.04214,14.73900,1,0.599371,0.743937,-5.783272,0.299793,3.007096,0.194052
|
| 91 |
+
phon_R01_S21_6,179.71100,225.93000,144.87800,0.00709,0.00004,0.00391,0.00419,0.01172,0.04313,0.44200,0.02297,0.02768,0.03455,0.06892,0.07223,11.86600,1,0.590951,0.745526,-4.379411,0.375531,3.671155,0.332086
|
| 92 |
+
phon_R01_S21_7,166.60500,206.00800,78.03200,0.00742,0.00004,0.00387,0.00453,0.01161,0.06640,0.63400,0.03650,0.04282,0.05114,0.10949,0.08725,11.74400,1,0.653410,0.733165,-4.508984,0.389232,3.317586,0.301952
|
| 93 |
+
phon_R01_S22_1,151.95500,163.33500,147.22600,0.00419,0.00003,0.00224,0.00227,0.00672,0.07959,0.77200,0.04421,0.04962,0.05690,0.13262,0.01658,19.66400,1,0.501037,0.714360,-6.411497,0.207156,2.344876,0.134120
|
| 94 |
+
phon_R01_S22_2,148.27200,164.98900,142.29900,0.00459,0.00003,0.00250,0.00256,0.00750,0.04190,0.38300,0.02383,0.02521,0.03051,0.07150,0.01914,18.78000,1,0.454444,0.734504,-5.952058,0.087840,2.344336,0.186489
|
| 95 |
+
phon_R01_S22_3,152.12500,161.46900,76.59600,0.00382,0.00003,0.00191,0.00226,0.00574,0.05925,0.63700,0.03341,0.03794,0.04398,0.10024,0.01211,20.96900,1,0.447456,0.697790,-6.152551,0.173520,2.080121,0.160809
|
| 96 |
+
phon_R01_S22_4,157.82100,172.97500,68.40100,0.00358,0.00002,0.00196,0.00196,0.00587,0.03716,0.30700,0.02062,0.02321,0.02764,0.06185,0.00850,22.21900,1,0.502380,0.712170,-6.251425,0.188056,2.143851,0.160812
|
| 97 |
+
phon_R01_S22_5,157.44700,163.26700,149.60500,0.00369,0.00002,0.00201,0.00197,0.00602,0.03272,0.28300,0.01813,0.01909,0.02571,0.05439,0.01018,21.69300,1,0.447285,0.705658,-6.247076,0.180528,2.344348,0.164916
|
| 98 |
+
phon_R01_S22_6,159.11600,168.91300,144.81100,0.00342,0.00002,0.00178,0.00184,0.00535,0.03381,0.30700,0.01806,0.02024,0.02809,0.05417,0.00852,22.66300,1,0.366329,0.693429,-6.417440,0.194627,2.473239,0.151709
|
| 99 |
+
phon_R01_S24_1,125.03600,143.94600,116.18700,0.01280,0.00010,0.00743,0.00623,0.02228,0.03886,0.34200,0.02135,0.02174,0.03088,0.06406,0.08151,15.33800,1,0.629574,0.714485,-4.020042,0.265315,2.671825,0.340623
|
| 100 |
+
phon_R01_S24_2,125.79100,140.55700,96.20600,0.01378,0.00011,0.00826,0.00655,0.02478,0.04689,0.42200,0.02542,0.02630,0.03908,0.07625,0.10323,15.43300,1,0.571010,0.690892,-5.159169,0.202146,2.441612,0.260375
|
| 101 |
+
phon_R01_S24_3,126.51200,141.75600,99.77000,0.01936,0.00015,0.01159,0.00990,0.03476,0.06734,0.65900,0.03611,0.03963,0.05783,0.10833,0.16744,12.43500,1,0.638545,0.674953,-3.760348,0.242861,2.634633,0.378483
|
| 102 |
+
phon_R01_S24_4,125.64100,141.06800,116.34600,0.03316,0.00026,0.02144,0.01522,0.06433,0.09178,0.89100,0.05358,0.04791,0.06196,0.16074,0.31482,8.86700,1,0.671299,0.656846,-3.700544,0.260481,2.991063,0.370961
|
| 103 |
+
phon_R01_S24_5,128.45100,150.44900,75.63200,0.01551,0.00012,0.00905,0.00909,0.02716,0.06170,0.58400,0.03223,0.03672,0.05174,0.09669,0.11843,15.06000,1,0.639808,0.643327,-4.202730,0.310163,2.638279,0.356881
|
| 104 |
+
phon_R01_S24_6,139.22400,586.56700,66.15700,0.03011,0.00022,0.01854,0.01628,0.05563,0.09419,0.93000,0.05551,0.05005,0.06023,0.16654,0.25930,10.48900,1,0.596362,0.641418,-3.269487,0.270641,2.690917,0.444774
|
| 105 |
+
phon_R01_S25_1,150.25800,154.60900,75.34900,0.00248,0.00002,0.00105,0.00136,0.00315,0.01131,0.10700,0.00522,0.00659,0.01009,0.01567,0.00495,26.75900,1,0.296888,0.722356,-6.878393,0.089267,2.004055,0.113942
|
| 106 |
+
phon_R01_S25_2,154.00300,160.26700,128.62100,0.00183,0.00001,0.00076,0.00100,0.00229,0.01030,0.09400,0.00469,0.00582,0.00871,0.01406,0.00243,28.40900,1,0.263654,0.691483,-7.111576,0.144780,2.065477,0.093193
|
| 107 |
+
phon_R01_S25_3,149.68900,160.36800,133.60800,0.00257,0.00002,0.00116,0.00134,0.00349,0.01346,0.12600,0.00660,0.00818,0.01059,0.01979,0.00578,27.42100,1,0.365488,0.719974,-6.997403,0.210279,1.994387,0.112878
|
| 108 |
+
phon_R01_S25_4,155.07800,163.73600,144.14800,0.00168,0.00001,0.00068,0.00092,0.00204,0.01064,0.09700,0.00522,0.00632,0.00928,0.01567,0.00233,29.74600,1,0.334171,0.677930,-6.981201,0.184550,2.129924,0.106802
|
| 109 |
+
phon_R01_S25_5,151.88400,157.76500,133.75100,0.00258,0.00002,0.00115,0.00122,0.00346,0.01450,0.13700,0.00633,0.00788,0.01267,0.01898,0.00659,26.83300,1,0.393563,0.700246,-6.600023,0.249172,2.499148,0.105306
|
| 110 |
+
phon_R01_S25_6,151.98900,157.33900,132.85700,0.00174,0.00001,0.00075,0.00096,0.00225,0.01024,0.09300,0.00455,0.00576,0.00993,0.01364,0.00238,29.92800,1,0.311369,0.676066,-6.739151,0.160686,2.296873,0.115130
|
| 111 |
+
phon_R01_S26_1,193.03000,208.90000,80.29700,0.00766,0.00004,0.00450,0.00389,0.01351,0.03044,0.27500,0.01771,0.01815,0.02084,0.05312,0.00947,21.93400,1,0.497554,0.740539,-5.845099,0.278679,2.608749,0.185668
|
| 112 |
+
phon_R01_S26_2,200.71400,223.98200,89.68600,0.00621,0.00003,0.00371,0.00337,0.01112,0.02286,0.20700,0.01192,0.01439,0.01852,0.03576,0.00704,23.23900,1,0.436084,0.727863,-5.258320,0.256454,2.550961,0.232520
|
| 113 |
+
phon_R01_S26_3,208.51900,220.31500,199.02000,0.00609,0.00003,0.00368,0.00339,0.01105,0.01761,0.15500,0.00952,0.01058,0.01307,0.02855,0.00830,22.40700,1,0.338097,0.712466,-6.471427,0.184378,2.502336,0.136390
|
| 114 |
+
phon_R01_S26_4,204.66400,221.30000,189.62100,0.00841,0.00004,0.00502,0.00485,0.01506,0.02378,0.21000,0.01277,0.01483,0.01767,0.03831,0.01316,21.30500,1,0.498877,0.722085,-4.876336,0.212054,2.376749,0.268144
|
| 115 |
+
phon_R01_S26_5,210.14100,232.70600,185.25800,0.00534,0.00003,0.00321,0.00280,0.00964,0.01680,0.14900,0.00861,0.01017,0.01301,0.02583,0.00620,23.67100,1,0.441097,0.722254,-5.963040,0.250283,2.489191,0.177807
|
| 116 |
+
phon_R01_S26_6,206.32700,226.35500,92.02000,0.00495,0.00002,0.00302,0.00246,0.00905,0.02105,0.20900,0.01107,0.01284,0.01604,0.03320,0.01048,21.86400,1,0.331508,0.715121,-6.729713,0.181701,2.938114,0.115515
|
| 117 |
+
phon_R01_S27_1,151.87200,492.89200,69.08500,0.00856,0.00006,0.00404,0.00385,0.01211,0.01843,0.23500,0.00796,0.00832,0.01271,0.02389,0.06051,23.69300,1,0.407701,0.662668,-4.673241,0.261549,2.702355,0.274407
|
| 118 |
+
phon_R01_S27_2,158.21900,442.55700,71.94800,0.00476,0.00003,0.00214,0.00207,0.00642,0.01458,0.14800,0.00606,0.00747,0.01312,0.01818,0.01554,26.35600,1,0.450798,0.653823,-6.051233,0.273280,2.640798,0.170106
|
| 119 |
+
phon_R01_S27_3,170.75600,450.24700,79.03200,0.00555,0.00003,0.00244,0.00261,0.00731,0.01725,0.17500,0.00757,0.00971,0.01652,0.02270,0.01802,25.69000,1,0.486738,0.676023,-4.597834,0.372114,2.975889,0.282780
|
| 120 |
+
phon_R01_S27_4,178.28500,442.82400,82.06300,0.00462,0.00003,0.00157,0.00194,0.00472,0.01279,0.12900,0.00617,0.00744,0.01151,0.01851,0.00856,25.02000,1,0.470422,0.655239,-4.913137,0.393056,2.816781,0.251972
|
| 121 |
+
phon_R01_S27_5,217.11600,233.48100,93.97800,0.00404,0.00002,0.00127,0.00128,0.00381,0.01299,0.12400,0.00679,0.00631,0.01075,0.02038,0.00681,24.58100,1,0.462516,0.582710,-5.517173,0.389295,2.925862,0.220657
|
| 122 |
+
phon_R01_S27_6,128.94000,479.69700,88.25100,0.00581,0.00005,0.00241,0.00314,0.00723,0.02008,0.22100,0.00849,0.01117,0.01734,0.02548,0.02350,24.74300,1,0.487756,0.684130,-6.186128,0.279933,2.686240,0.152428
|
| 123 |
+
phon_R01_S27_7,176.82400,215.29300,83.96100,0.00460,0.00003,0.00209,0.00221,0.00628,0.01169,0.11700,0.00534,0.00630,0.01104,0.01603,0.01161,27.16600,1,0.400088,0.656182,-4.711007,0.281618,2.655744,0.234809
|
| 124 |
+
phon_R01_S31_1,138.19000,203.52200,83.34000,0.00704,0.00005,0.00406,0.00398,0.01218,0.04479,0.44100,0.02587,0.02567,0.03220,0.07761,0.01968,18.30500,1,0.538016,0.741480,-5.418787,0.160267,2.090438,0.229892
|
| 125 |
+
phon_R01_S31_2,182.01800,197.17300,79.18700,0.00842,0.00005,0.00506,0.00449,0.01517,0.02503,0.23100,0.01372,0.01580,0.01931,0.04115,0.01813,18.78400,1,0.589956,0.732903,-5.445140,0.142466,2.174306,0.215558
|
| 126 |
+
phon_R01_S31_3,156.23900,195.10700,79.82000,0.00694,0.00004,0.00403,0.00395,0.01209,0.02343,0.22400,0.01289,0.01420,0.01720,0.03867,0.02020,19.19600,1,0.618663,0.728421,-5.944191,0.143359,1.929715,0.181988
|
| 127 |
+
phon_R01_S31_4,145.17400,198.10900,80.63700,0.00733,0.00005,0.00414,0.00422,0.01242,0.02362,0.23300,0.01235,0.01495,0.01944,0.03706,0.01874,18.85700,1,0.637518,0.735546,-5.594275,0.127950,1.765957,0.222716
|
| 128 |
+
phon_R01_S31_5,138.14500,197.23800,81.11400,0.00544,0.00004,0.00294,0.00327,0.00883,0.02791,0.24600,0.01484,0.01805,0.02259,0.04451,0.01794,18.17800,1,0.623209,0.738245,-5.540351,0.087165,1.821297,0.214075
|
| 129 |
+
phon_R01_S31_6,166.88800,198.96600,79.51200,0.00638,0.00004,0.00368,0.00351,0.01104,0.02857,0.25700,0.01547,0.01859,0.02301,0.04641,0.01796,18.33000,1,0.585169,0.736964,-5.825257,0.115697,1.996146,0.196535
|
| 130 |
+
phon_R01_S32_1,119.03100,127.53300,109.21600,0.00440,0.00004,0.00214,0.00192,0.00641,0.01033,0.09800,0.00538,0.00570,0.00811,0.01614,0.01724,26.84200,1,0.457541,0.699787,-6.890021,0.152941,2.328513,0.112856
|
| 131 |
+
phon_R01_S32_2,120.07800,126.63200,105.66700,0.00270,0.00002,0.00116,0.00135,0.00349,0.01022,0.09000,0.00476,0.00588,0.00903,0.01428,0.00487,26.36900,1,0.491345,0.718839,-5.892061,0.195976,2.108873,0.183572
|
| 132 |
+
phon_R01_S32_3,120.28900,128.14300,100.20900,0.00492,0.00004,0.00269,0.00238,0.00808,0.01412,0.12500,0.00703,0.00820,0.01194,0.02110,0.01610,23.94900,1,0.467160,0.724045,-6.135296,0.203630,2.539724,0.169923
|
| 133 |
+
phon_R01_S32_4,120.25600,125.30600,104.77300,0.00407,0.00003,0.00224,0.00205,0.00671,0.01516,0.13800,0.00721,0.00815,0.01310,0.02164,0.01015,26.01700,1,0.468621,0.735136,-6.112667,0.217013,2.527742,0.170633
|
| 134 |
+
phon_R01_S32_5,119.05600,125.21300,86.79500,0.00346,0.00003,0.00169,0.00170,0.00508,0.01201,0.10600,0.00633,0.00701,0.00915,0.01898,0.00903,23.38900,1,0.470972,0.721308,-5.436135,0.254909,2.516320,0.232209
|
| 135 |
+
phon_R01_S32_6,118.74700,123.72300,109.83600,0.00331,0.00003,0.00168,0.00171,0.00504,0.01043,0.09900,0.00490,0.00621,0.00903,0.01471,0.00504,25.61900,1,0.482296,0.723096,-6.448134,0.178713,2.034827,0.141422
|
| 136 |
+
phon_R01_S33_1,106.51600,112.77700,93.10500,0.00589,0.00006,0.00291,0.00319,0.00873,0.04932,0.44100,0.02683,0.03112,0.03651,0.08050,0.03031,17.06000,1,0.637814,0.744064,-5.301321,0.320385,2.375138,0.243080
|
| 137 |
+
phon_R01_S33_2,110.45300,127.61100,105.55400,0.00494,0.00004,0.00244,0.00315,0.00731,0.04128,0.37900,0.02229,0.02592,0.03316,0.06688,0.02529,17.70700,1,0.653427,0.706687,-5.333619,0.322044,2.631793,0.228319
|
| 138 |
+
phon_R01_S33_3,113.40000,133.34400,107.81600,0.00451,0.00004,0.00219,0.00283,0.00658,0.04879,0.43100,0.02385,0.02973,0.04370,0.07154,0.02278,19.01300,1,0.647900,0.708144,-4.378916,0.300067,2.445502,0.259451
|
| 139 |
+
phon_R01_S33_4,113.16600,130.27000,100.67300,0.00502,0.00004,0.00257,0.00312,0.00772,0.05279,0.47600,0.02896,0.03347,0.04134,0.08689,0.03690,16.74700,1,0.625362,0.708617,-4.654894,0.304107,2.672362,0.274387
|
| 140 |
+
phon_R01_S33_5,112.23900,126.60900,104.09500,0.00472,0.00004,0.00238,0.00290,0.00715,0.05643,0.51700,0.03070,0.03530,0.04451,0.09211,0.02629,17.36600,1,0.640945,0.701404,-5.634576,0.306014,2.419253,0.209191
|
| 141 |
+
phon_R01_S33_6,116.15000,131.73100,109.81500,0.00381,0.00003,0.00181,0.00232,0.00542,0.03026,0.26700,0.01514,0.01812,0.02770,0.04543,0.01827,18.80100,1,0.624811,0.696049,-5.866357,0.233070,2.445646,0.184985
|
| 142 |
+
phon_R01_S34_1,170.36800,268.79600,79.54300,0.00571,0.00003,0.00232,0.00269,0.00696,0.03273,0.28100,0.01713,0.01964,0.02824,0.05139,0.02485,18.54000,1,0.677131,0.685057,-4.796845,0.397749,2.963799,0.277227
|
| 143 |
+
phon_R01_S34_2,208.08300,253.79200,91.80200,0.00757,0.00004,0.00428,0.00428,0.01285,0.06725,0.57100,0.04016,0.04003,0.04464,0.12047,0.04238,15.64800,1,0.606344,0.665945,-5.410336,0.288917,2.665133,0.231723
|
| 144 |
+
phon_R01_S34_3,198.45800,219.29000,148.69100,0.00376,0.00002,0.00182,0.00215,0.00546,0.03527,0.29700,0.02055,0.02076,0.02530,0.06165,0.01728,18.70200,1,0.606273,0.661735,-5.585259,0.310746,2.465528,0.209863
|
| 145 |
+
phon_R01_S34_4,202.80500,231.50800,86.23200,0.00370,0.00002,0.00189,0.00211,0.00568,0.01997,0.18000,0.01117,0.01177,0.01506,0.03350,0.02010,18.68700,1,0.536102,0.632631,-5.898673,0.213353,2.470746,0.189032
|
| 146 |
+
phon_R01_S34_5,202.54400,241.35000,164.16800,0.00254,0.00001,0.00100,0.00133,0.00301,0.02662,0.22800,0.01475,0.01558,0.02006,0.04426,0.01049,20.68000,1,0.497480,0.630409,-6.132663,0.220617,2.576563,0.159777
|
| 147 |
+
phon_R01_S34_6,223.36100,263.87200,87.63800,0.00352,0.00002,0.00169,0.00188,0.00506,0.02536,0.22500,0.01379,0.01478,0.01909,0.04137,0.01493,20.36600,1,0.566849,0.574282,-5.456811,0.345238,2.840556,0.232861
|
| 148 |
+
phon_R01_S35_1,169.77400,191.75900,151.45100,0.01568,0.00009,0.00863,0.00946,0.02589,0.08143,0.82100,0.03804,0.05426,0.08808,0.11411,0.07530,12.35900,1,0.561610,0.793509,-3.297668,0.414758,3.413649,0.457533
|
| 149 |
+
phon_R01_S35_2,183.52000,216.81400,161.34000,0.01466,0.00008,0.00849,0.00819,0.02546,0.06050,0.61800,0.02865,0.04101,0.06359,0.08595,0.06057,14.36700,1,0.478024,0.768974,-4.276605,0.355736,3.142364,0.336085
|
| 150 |
+
phon_R01_S35_3,188.62000,216.30200,165.98200,0.01719,0.00009,0.00996,0.01027,0.02987,0.07118,0.72200,0.03474,0.04580,0.06824,0.10422,0.08069,12.29800,1,0.552870,0.764036,-3.377325,0.335357,3.274865,0.418646
|
| 151 |
+
phon_R01_S35_4,202.63200,565.74000,177.25800,0.01627,0.00008,0.00919,0.00963,0.02756,0.07170,0.83300,0.03515,0.04265,0.06460,0.10546,0.07889,14.98900,1,0.427627,0.775708,-4.892495,0.262281,2.910213,0.270173
|
| 152 |
+
phon_R01_S35_5,186.69500,211.96100,149.44200,0.01872,0.00010,0.01075,0.01154,0.03225,0.05830,0.78400,0.02699,0.03714,0.06259,0.08096,0.10952,12.52900,1,0.507826,0.762726,-4.484303,0.340256,2.958815,0.301487
|
| 153 |
+
phon_R01_S35_6,192.81800,224.42900,168.79300,0.03107,0.00016,0.01800,0.01958,0.05401,0.11908,1.30200,0.05647,0.07940,0.13778,0.16942,0.21713,8.44100,1,0.625866,0.768320,-2.434031,0.450493,3.079221,0.527367
|
| 154 |
+
phon_R01_S35_7,198.11600,233.09900,174.47800,0.02714,0.00014,0.01568,0.01699,0.04705,0.08684,1.01800,0.04284,0.05556,0.08318,0.12851,0.16265,9.44900,1,0.584164,0.754449,-2.839756,0.356224,3.184027,0.454721
|
| 155 |
+
phon_R01_S37_1,121.34500,139.64400,98.25000,0.00684,0.00006,0.00388,0.00332,0.01164,0.02534,0.24100,0.01340,0.01399,0.02056,0.04019,0.04179,21.52000,1,0.566867,0.670475,-4.865194,0.246404,2.013530,0.168581
|
| 156 |
+
phon_R01_S37_2,119.10000,128.44200,88.83300,0.00692,0.00006,0.00393,0.00300,0.01179,0.02682,0.23600,0.01484,0.01405,0.02018,0.04451,0.04611,21.82400,1,0.651680,0.659333,-4.239028,0.175691,2.451130,0.247455
|
| 157 |
+
phon_R01_S37_3,117.87000,127.34900,95.65400,0.00647,0.00005,0.00356,0.00300,0.01067,0.03087,0.27600,0.01659,0.01804,0.02402,0.04977,0.02631,22.43100,1,0.628300,0.652025,-3.583722,0.207914,2.439597,0.206256
|
| 158 |
+
phon_R01_S37_4,122.33600,142.36900,94.79400,0.00727,0.00006,0.00415,0.00339,0.01246,0.02293,0.22300,0.01205,0.01289,0.01771,0.03615,0.03191,22.95300,1,0.611679,0.623731,-5.435100,0.230532,2.699645,0.220546
|
| 159 |
+
phon_R01_S37_5,117.96300,134.20900,100.75700,0.01813,0.00015,0.01117,0.00718,0.03351,0.04912,0.43800,0.02610,0.02161,0.02916,0.07830,0.10748,19.07500,1,0.630547,0.646786,-3.444478,0.303214,2.964568,0.261305
|
| 160 |
+
phon_R01_S37_6,126.14400,154.28400,97.54300,0.00975,0.00008,0.00593,0.00454,0.01778,0.02852,0.26600,0.01500,0.01581,0.02157,0.04499,0.03828,21.53400,1,0.635015,0.627337,-5.070096,0.280091,2.892300,0.249703
|
| 161 |
+
phon_R01_S39_1,127.93000,138.75200,112.17300,0.00605,0.00005,0.00321,0.00318,0.00962,0.03235,0.33900,0.01360,0.01650,0.03105,0.04079,0.02663,19.65100,1,0.654945,0.675865,-5.498456,0.234196,2.103014,0.216638
|
| 162 |
+
phon_R01_S39_2,114.23800,124.39300,77.02200,0.00581,0.00005,0.00299,0.00316,0.00896,0.04009,0.40600,0.01579,0.01994,0.04114,0.04736,0.02073,20.43700,1,0.653139,0.694571,-5.185987,0.259229,2.151121,0.244948
|
| 163 |
+
phon_R01_S39_3,115.32200,135.73800,107.80200,0.00619,0.00005,0.00352,0.00329,0.01057,0.03273,0.32500,0.01644,0.01722,0.02931,0.04933,0.02810,19.38800,1,0.577802,0.684373,-5.283009,0.226528,2.442906,0.238281
|
| 164 |
+
phon_R01_S39_4,114.55400,126.77800,91.12100,0.00651,0.00006,0.00366,0.00340,0.01097,0.03658,0.36900,0.01864,0.01940,0.03091,0.05592,0.02707,18.95400,1,0.685151,0.719576,-5.529833,0.242750,2.408689,0.220520
|
| 165 |
+
phon_R01_S39_5,112.15000,131.66900,97.52700,0.00519,0.00005,0.00291,0.00284,0.00873,0.01756,0.15500,0.00967,0.01033,0.01363,0.02902,0.01435,21.21900,1,0.557045,0.673086,-5.617124,0.184896,1.871871,0.212386
|
| 166 |
+
phon_R01_S39_6,102.27300,142.83000,85.90200,0.00907,0.00009,0.00493,0.00461,0.01480,0.02814,0.27200,0.01579,0.01553,0.02073,0.04736,0.03882,18.44700,1,0.671378,0.674562,-2.929379,0.396746,2.560422,0.367233
|
| 167 |
+
phon_R01_S42_1,236.20000,244.66300,102.13700,0.00277,0.00001,0.00154,0.00153,0.00462,0.02448,0.21700,0.01410,0.01426,0.01621,0.04231,0.00620,24.07800,0,0.469928,0.628232,-6.816086,0.172270,2.235197,0.119652
|
| 168 |
+
phon_R01_S42_2,237.32300,243.70900,229.25600,0.00303,0.00001,0.00173,0.00159,0.00519,0.01242,0.11600,0.00696,0.00747,0.00882,0.02089,0.00533,24.67900,0,0.384868,0.626710,-7.018057,0.176316,1.852402,0.091604
|
| 169 |
+
phon_R01_S42_3,260.10500,264.91900,237.30300,0.00339,0.00001,0.00205,0.00186,0.00616,0.02030,0.19700,0.01186,0.01230,0.01367,0.03557,0.00910,21.08300,0,0.440988,0.628058,-7.517934,0.160414,1.881767,0.075587
|
| 170 |
+
phon_R01_S42_4,197.56900,217.62700,90.79400,0.00803,0.00004,0.00490,0.00448,0.01470,0.02177,0.18900,0.01279,0.01272,0.01439,0.03836,0.01337,19.26900,0,0.372222,0.725216,-5.736781,0.164529,2.882450,0.202879
|
| 171 |
+
phon_R01_S42_5,240.30100,245.13500,219.78300,0.00517,0.00002,0.00316,0.00283,0.00949,0.02018,0.21200,0.01176,0.01191,0.01344,0.03529,0.00965,21.02000,0,0.371837,0.646167,-7.169701,0.073298,2.266432,0.100881
|
| 172 |
+
phon_R01_S42_6,244.99000,272.21000,239.17000,0.00451,0.00002,0.00279,0.00237,0.00837,0.01897,0.18100,0.01084,0.01121,0.01255,0.03253,0.01049,21.52800,0,0.522812,0.646818,-7.304500,0.171088,2.095237,0.096220
|
| 173 |
+
phon_R01_S43_1,112.54700,133.37400,105.71500,0.00355,0.00003,0.00166,0.00190,0.00499,0.01358,0.12900,0.00664,0.00786,0.01140,0.01992,0.00435,26.43600,0,0.413295,0.756700,-6.323531,0.218885,2.193412,0.160376
|
| 174 |
+
phon_R01_S43_2,110.73900,113.59700,100.13900,0.00356,0.00003,0.00170,0.00200,0.00510,0.01484,0.13300,0.00754,0.00950,0.01285,0.02261,0.00430,26.55000,0,0.369090,0.776158,-6.085567,0.192375,1.889002,0.174152
|
| 175 |
+
phon_R01_S43_3,113.71500,116.44300,96.91300,0.00349,0.00003,0.00171,0.00203,0.00514,0.01472,0.13300,0.00748,0.00905,0.01148,0.02245,0.00478,26.54700,0,0.380253,0.766700,-5.943501,0.192150,1.852542,0.179677
|
| 176 |
+
phon_R01_S43_4,117.00400,144.46600,99.92300,0.00353,0.00003,0.00176,0.00218,0.00528,0.01657,0.14500,0.00881,0.01062,0.01318,0.02643,0.00590,25.44500,0,0.387482,0.756482,-6.012559,0.229298,1.872946,0.163118
|
| 177 |
+
phon_R01_S43_5,115.38000,123.10900,108.63400,0.00332,0.00003,0.00160,0.00199,0.00480,0.01503,0.13700,0.00812,0.00933,0.01133,0.02436,0.00401,26.00500,0,0.405991,0.761255,-5.966779,0.197938,1.974857,0.184067
|
| 178 |
+
phon_R01_S43_6,116.38800,129.03800,108.97000,0.00346,0.00003,0.00169,0.00213,0.00507,0.01725,0.15500,0.00874,0.01021,0.01331,0.02623,0.00415,26.14300,0,0.361232,0.763242,-6.016891,0.109256,2.004719,0.174429
|
| 179 |
+
phon_R01_S44_1,151.73700,190.20400,129.85900,0.00314,0.00002,0.00135,0.00162,0.00406,0.01469,0.13200,0.00728,0.00886,0.01230,0.02184,0.00570,24.15100,1,0.396610,0.745957,-6.486822,0.197919,2.449763,0.132703
|
| 180 |
+
phon_R01_S44_2,148.79000,158.35900,138.99000,0.00309,0.00002,0.00152,0.00186,0.00456,0.01574,0.14200,0.00839,0.00956,0.01309,0.02518,0.00488,24.41200,1,0.402591,0.762508,-6.311987,0.182459,2.251553,0.160306
|
| 181 |
+
phon_R01_S44_3,148.14300,155.98200,135.04100,0.00392,0.00003,0.00204,0.00231,0.00612,0.01450,0.13100,0.00725,0.00876,0.01263,0.02175,0.00540,23.68300,1,0.398499,0.778349,-5.711205,0.240875,2.845109,0.192730
|
| 182 |
+
phon_R01_S44_4,150.44000,163.44100,144.73600,0.00396,0.00003,0.00206,0.00233,0.00619,0.02551,0.23700,0.01321,0.01574,0.02148,0.03964,0.00611,23.13300,1,0.352396,0.759320,-6.261446,0.183218,2.264226,0.144105
|
| 183 |
+
phon_R01_S44_5,148.46200,161.07800,141.99800,0.00397,0.00003,0.00202,0.00235,0.00605,0.01831,0.16300,0.00950,0.01103,0.01559,0.02849,0.00639,22.86600,1,0.408598,0.768845,-5.704053,0.216204,2.679185,0.197710
|
| 184 |
+
phon_R01_S44_6,149.81800,163.41700,144.78600,0.00336,0.00002,0.00174,0.00198,0.00521,0.02145,0.19800,0.01155,0.01341,0.01666,0.03464,0.00595,23.00800,1,0.329577,0.757180,-6.277170,0.109397,2.209021,0.156368
|
| 185 |
+
phon_R01_S49_1,117.22600,123.92500,106.65600,0.00417,0.00004,0.00186,0.00270,0.00558,0.01909,0.17100,0.00864,0.01223,0.01949,0.02592,0.00955,23.07900,0,0.603515,0.669565,-5.619070,0.191576,2.027228,0.215724
|
| 186 |
+
phon_R01_S49_2,116.84800,217.55200,99.50300,0.00531,0.00005,0.00260,0.00346,0.00780,0.01795,0.16300,0.00810,0.01144,0.01756,0.02429,0.01179,22.08500,0,0.663842,0.656516,-5.198864,0.206768,2.120412,0.252404
|
| 187 |
+
phon_R01_S49_3,116.28600,177.29100,96.98300,0.00314,0.00003,0.00134,0.00192,0.00403,0.01564,0.13600,0.00667,0.00990,0.01691,0.02001,0.00737,24.19900,0,0.598515,0.654331,-5.592584,0.133917,2.058658,0.214346
|
| 188 |
+
phon_R01_S49_4,116.55600,592.03000,86.22800,0.00496,0.00004,0.00254,0.00263,0.00762,0.01660,0.15400,0.00820,0.00972,0.01491,0.02460,0.01397,23.95800,0,0.566424,0.667654,-6.431119,0.153310,2.161936,0.120605
|
| 189 |
+
phon_R01_S49_5,116.34200,581.28900,94.24600,0.00267,0.00002,0.00115,0.00148,0.00345,0.01300,0.11700,0.00631,0.00789,0.01144,0.01892,0.00680,25.02300,0,0.528485,0.663884,-6.359018,0.116636,2.152083,0.138868
|
| 190 |
+
phon_R01_S49_6,114.56300,119.16700,86.64700,0.00327,0.00003,0.00146,0.00184,0.00439,0.01185,0.10600,0.00557,0.00721,0.01095,0.01672,0.00703,24.77500,0,0.555303,0.659132,-6.710219,0.149694,1.913990,0.121777
|
| 191 |
+
phon_R01_S50_1,201.77400,262.70700,78.22800,0.00694,0.00003,0.00412,0.00396,0.01235,0.02574,0.25500,0.01454,0.01582,0.01758,0.04363,0.04441,19.36800,0,0.508479,0.683761,-6.934474,0.159890,2.316346,0.112838
|
| 192 |
+
phon_R01_S50_2,174.18800,230.97800,94.26100,0.00459,0.00003,0.00263,0.00259,0.00790,0.04087,0.40500,0.02336,0.02498,0.02745,0.07008,0.02764,19.51700,0,0.448439,0.657899,-6.538586,0.121952,2.657476,0.133050
|
| 193 |
+
phon_R01_S50_3,209.51600,253.01700,89.48800,0.00564,0.00003,0.00331,0.00292,0.00994,0.02751,0.26300,0.01604,0.01657,0.01879,0.04812,0.01810,19.14700,0,0.431674,0.683244,-6.195325,0.129303,2.784312,0.168895
|
| 194 |
+
phon_R01_S50_4,174.68800,240.00500,74.28700,0.01360,0.00008,0.00624,0.00564,0.01873,0.02308,0.25600,0.01268,0.01365,0.01667,0.03804,0.10715,17.88300,0,0.407567,0.655683,-6.787197,0.158453,2.679772,0.131728
|
| 195 |
+
phon_R01_S50_5,198.76400,396.96100,74.90400,0.00740,0.00004,0.00370,0.00390,0.01109,0.02296,0.24100,0.01265,0.01321,0.01588,0.03794,0.07223,19.02000,0,0.451221,0.643956,-6.744577,0.207454,2.138608,0.123306
|
| 196 |
+
phon_R01_S50_6,214.28900,260.27700,77.97300,0.00567,0.00003,0.00295,0.00317,0.00885,0.01884,0.19000,0.01026,0.01161,0.01373,0.03078,0.04398,21.20900,0,0.462803,0.664357,-5.724056,0.190667,2.555477,0.148569
|
diabetes_prediction.py
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import numpy as np
|
| 2 |
+
import pandas as pd
|
| 3 |
+
from sklearn.preprocessing import StandardScaler
|
| 4 |
+
from sklearn.model_selection import train_test_split
|
| 5 |
+
from sklearn import svm
|
| 6 |
+
from sklearn.metrics import accuracy_score
|
| 7 |
+
|
| 8 |
+
def load_data():
|
| 9 |
+
# Load the dataset
|
| 10 |
+
diabetes_dataset = pd.read_csv(r'C:\Users\HP\OneDrive\Desktop\HackAI\diabetes.csv')
|
| 11 |
+
return diabetes_dataset
|
| 12 |
+
|
| 13 |
+
def preprocess_data(diabetes_dataset):
|
| 14 |
+
# Prepare data
|
| 15 |
+
X = diabetes_dataset.drop(columns='Outcome', axis=1)
|
| 16 |
+
Y = diabetes_dataset['Outcome']
|
| 17 |
+
|
| 18 |
+
# Standardize features
|
| 19 |
+
scaler = StandardScaler()
|
| 20 |
+
scaler.fit(X)
|
| 21 |
+
standardized_data = scaler.transform(X)
|
| 22 |
+
X = standardized_data
|
| 23 |
+
|
| 24 |
+
# Split data
|
| 25 |
+
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, stratify=Y, random_state=2)
|
| 26 |
+
return X_train, X_test, Y_train, Y_test, scaler
|
| 27 |
+
|
| 28 |
+
def train_model(X_train, Y_train):
|
| 29 |
+
# Train model
|
| 30 |
+
classifier = svm.SVC(kernel='linear')
|
| 31 |
+
classifier.fit(X_train, Y_train)
|
| 32 |
+
return classifier
|
| 33 |
+
|
| 34 |
+
def evaluate_model(classifier, X_train, X_test, Y_train, Y_test):
|
| 35 |
+
# Evaluate model
|
| 36 |
+
X_train_prediction = classifier.predict(X_train)
|
| 37 |
+
training_data_accuracy = accuracy_score(X_train_prediction, Y_train)
|
| 38 |
+
print('Accuracy score of the training data:', training_data_accuracy)
|
| 39 |
+
|
| 40 |
+
X_test_prediction = classifier.predict(X_test)
|
| 41 |
+
test_data_accuracy = accuracy_score(X_test_prediction, Y_test)
|
| 42 |
+
print('Accuracy score of the test data:', test_data_accuracy)
|
| 43 |
+
|
| 44 |
+
def predict_diabetes(input_data, classifier, scaler):
|
| 45 |
+
# Convert input to numpy array
|
| 46 |
+
input_data_as_numpy_array = np.asarray(input_data)
|
| 47 |
+
|
| 48 |
+
# Reshape for single prediction
|
| 49 |
+
input_data_reshaped = input_data_as_numpy_array.reshape(1, -1)
|
| 50 |
+
|
| 51 |
+
# Standardize the input
|
| 52 |
+
std_data = scaler.transform(input_data_reshaped)
|
| 53 |
+
|
| 54 |
+
# Make prediction
|
| 55 |
+
prediction = classifier.predict(std_data)
|
| 56 |
+
|
| 57 |
+
# Return result
|
| 58 |
+
if prediction[0] == 0:
|
| 59 |
+
return 'The person is not diabetic'
|
| 60 |
+
else:
|
| 61 |
+
return 'The person is diabetic'
|
| 62 |
+
|
| 63 |
+
if __name__ == "__main__":
|
| 64 |
+
# Load and preprocess data
|
| 65 |
+
diabetes_dataset = load_data()
|
| 66 |
+
X_train, X_test, Y_train, Y_test, scaler = preprocess_data(diabetes_dataset)
|
| 67 |
+
|
| 68 |
+
# Train model
|
| 69 |
+
classifier = train_model(X_train, Y_train)
|
| 70 |
+
|
| 71 |
+
# Evaluate model
|
| 72 |
+
evaluate_model(classifier, X_train, X_test, Y_train, Y_test)
|
| 73 |
+
|
| 74 |
+
# Example prediction
|
| 75 |
+
input_data = (5, 166, 72, 19, 175, 25.8, 0.587, 51)
|
| 76 |
+
result = predict_diabetes(input_data, classifier, scaler)
|
| 77 |
+
print(result)
|
models/breast_cancer_model.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:aa130fb1e520551ccede18f455b0e7a7430be515d25ee607b0c0e07a81db6657
|
| 3 |
+
size 234388
|
models/diabetes_model.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:27369860d4dda0c702e10bc350c81ee9b3736a797e6273ac6f07fc3fa246528d
|
| 3 |
+
size 136501
|
models/heart_disease_model.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0b2446c7a996cc4f6fe586de4be7464a46f8e02fea8fbd4ece916f35e098eee5
|
| 3 |
+
size 220880
|
models/parkinsons_model.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f26724c3b28d5987eeae0ccbdc182cf4e28f6015d4a42085fa97d6328f315d1b
|
| 3 |
+
size 65271
|
requirements.txt
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
numpy>=1.21.0
|
| 2 |
+
pandas>=1.3.0
|
| 3 |
+
scikit-learn>=0.24.2
|
| 4 |
+
streamlit>=1.0.0
|
| 5 |
+
joblib>=1.0.1
|
| 6 |
+
python-dotenv>=0.19.0
|
src/__init__.py
ADDED
|
File without changes
|
src/__pycache__/__init__.cpython-310.pyc
ADDED
|
Binary file (133 Bytes). View file
|
|
|
src/__pycache__/__init__.cpython-311.pyc
ADDED
|
Binary file (160 Bytes). View file
|
|
|
src/__pycache__/config.cpython-310.pyc
ADDED
|
Binary file (673 Bytes). View file
|
|
|
src/__pycache__/config.cpython-311.pyc
ADDED
|
Binary file (1.27 kB). View file
|
|
|
src/__pycache__/data_preprocessing.cpython-311.pyc
ADDED
|
Binary file (1.46 kB). View file
|
|
|
src/__pycache__/model.cpython-310.pyc
ADDED
|
Binary file (3.4 kB). View file
|
|
|
src/__pycache__/model.cpython-311.pyc
ADDED
|
Binary file (6.2 kB). View file
|
|
|
src/config.py
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
from pathlib import Path
|
| 3 |
+
|
| 4 |
+
# Base paths
|
| 5 |
+
BASE_DIR = Path(__file__).resolve().parent.parent
|
| 6 |
+
DATA_DIR = os.path.join(BASE_DIR, "data")
|
| 7 |
+
MODEL_DIR = os.path.join(BASE_DIR, "models")
|
| 8 |
+
|
| 9 |
+
# Create directories if they don't exist
|
| 10 |
+
os.makedirs(MODEL_DIR, exist_ok=True)
|
| 11 |
+
os.makedirs(DATA_DIR, exist_ok=True)
|
| 12 |
+
|
| 13 |
+
# Model paths
|
| 14 |
+
BREAST_CANCER_MODEL_PATH = os.path.join(MODEL_DIR, "breast_cancer_model.pkl")
|
| 15 |
+
DIABETES_MODEL_PATH = os.path.join(MODEL_DIR, "diabetes_model.pkl")
|
| 16 |
+
HEART_DISEASE_MODEL_PATH = os.path.join(MODEL_DIR, "heart_disease_model.pkl")
|
| 17 |
+
PARKINSONS_MODEL_PATH = os.path.join(MODEL_DIR, "parkinsons_model.pkl")
|
| 18 |
+
|
| 19 |
+
# Model parameters
|
| 20 |
+
RANDOM_STATE = 42
|
| 21 |
+
TEST_SIZE = 0.2
|
src/data_preprocessing.py
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import pandas as pd
|
| 2 |
+
from sklearn.preprocessing import StandardScaler
|
| 3 |
+
import logging
|
| 4 |
+
from sklearn.datasets import load_breast_cancer
|
| 5 |
+
|
| 6 |
+
logging.basicConfig(level=logging.INFO)
|
| 7 |
+
logger = logging.getLogger(__name__)
|
| 8 |
+
|
| 9 |
+
def load_and_preprocess_data():
|
| 10 |
+
"""Load and preprocess the breast cancer data."""
|
| 11 |
+
try:
|
| 12 |
+
# Load data from sklearn
|
| 13 |
+
dataset = load_breast_cancer()
|
| 14 |
+
feature_names = dataset.feature_names
|
| 15 |
+
|
| 16 |
+
# Create DataFrame
|
| 17 |
+
df = pd.DataFrame(dataset.data, columns=feature_names)
|
| 18 |
+
|
| 19 |
+
# Scale the features
|
| 20 |
+
scaler = StandardScaler()
|
| 21 |
+
X_scaled = scaler.fit_transform(df)
|
| 22 |
+
X_scaled = pd.DataFrame(X_scaled, columns=feature_names)
|
| 23 |
+
|
| 24 |
+
return X_scaled, dataset.target, scaler
|
| 25 |
+
|
| 26 |
+
except Exception as e:
|
| 27 |
+
logger.error(f"Error in data preprocessing: {str(e)}")
|
| 28 |
+
raise
|
src/model.py
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sklearn.neighbors import KNeighborsClassifier
|
| 2 |
+
from sklearn.model_selection import train_test_split
|
| 3 |
+
from sklearn.metrics import accuracy_score
|
| 4 |
+
from .models.base_model import BaseModel
|
| 5 |
+
from .config import BREAST_CANCER_MODEL_PATH, RANDOM_STATE, TEST_SIZE
|
| 6 |
+
import numpy as np
|
| 7 |
+
import pandas as pd
|
| 8 |
+
|
| 9 |
+
class BreastCancerModel(BaseModel):
|
| 10 |
+
def __init__(self):
|
| 11 |
+
super().__init__(BREAST_CANCER_MODEL_PATH)
|
| 12 |
+
self.model = KNeighborsClassifier(
|
| 13 |
+
n_neighbors=5,
|
| 14 |
+
weights='distance'
|
| 15 |
+
)
|
| 16 |
+
self.feature_names = [
|
| 17 |
+
'mean radius', 'mean texture', 'mean perimeter', 'mean area', 'mean smoothness',
|
| 18 |
+
'mean compactness', 'mean concavity', 'mean concave points', 'mean symmetry', 'mean fractal dimension',
|
| 19 |
+
'radius error', 'texture error', 'perimeter error', 'area error', 'smoothness error',
|
| 20 |
+
'compactness error', 'concavity error', 'concave points error', 'symmetry error', 'fractal dimension error',
|
| 21 |
+
'worst radius', 'worst texture', 'worst perimeter', 'worst area', 'worst smoothness',
|
| 22 |
+
'worst compactness', 'worst concavity', 'worst concave points', 'worst symmetry', 'worst fractal dimension'
|
| 23 |
+
]
|
| 24 |
+
self.X_train = None
|
| 25 |
+
self.y_train = None
|
| 26 |
+
|
| 27 |
+
# Define risk thresholds
|
| 28 |
+
self.high_risk_threshold = 0.5
|
| 29 |
+
|
| 30 |
+
# Feature importance weights
|
| 31 |
+
self.feature_weights = {
|
| 32 |
+
'mean radius': 1.5,
|
| 33 |
+
'mean texture': 1.2,
|
| 34 |
+
'mean perimeter': 1.5,
|
| 35 |
+
'mean area': 1.5,
|
| 36 |
+
'mean concave points': 2.0,
|
| 37 |
+
'worst radius': 1.8,
|
| 38 |
+
'worst perimeter': 1.8,
|
| 39 |
+
'worst area': 1.8,
|
| 40 |
+
'worst concave points': 2.0
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
def train(self, X, y):
|
| 44 |
+
# Convert input to DataFrame if it's not already
|
| 45 |
+
if not isinstance(X, pd.DataFrame):
|
| 46 |
+
X = pd.DataFrame(X, columns=self.feature_names)
|
| 47 |
+
|
| 48 |
+
# Apply feature weights
|
| 49 |
+
X_weighted = X.copy()
|
| 50 |
+
for feature, weight in self.feature_weights.items():
|
| 51 |
+
if feature in X.columns:
|
| 52 |
+
X_weighted[feature] = X_weighted[feature] * weight
|
| 53 |
+
|
| 54 |
+
X_train, X_test, y_train, y_test = train_test_split(
|
| 55 |
+
X_weighted, y, test_size=TEST_SIZE, random_state=RANDOM_STATE,
|
| 56 |
+
stratify=y
|
| 57 |
+
)
|
| 58 |
+
|
| 59 |
+
# Store training data as DataFrame/Series
|
| 60 |
+
self.X_train = pd.DataFrame(X_train, columns=self.feature_names)
|
| 61 |
+
self.y_train = pd.Series(y_train)
|
| 62 |
+
|
| 63 |
+
self.model.fit(X_train, y_train)
|
| 64 |
+
return self.evaluate(X_train, X_test, y_train, y_test)
|
| 65 |
+
|
| 66 |
+
def predict(self, X):
|
| 67 |
+
# Convert input to DataFrame
|
| 68 |
+
if not isinstance(X, pd.DataFrame):
|
| 69 |
+
X = pd.DataFrame(X, columns=self.feature_names)
|
| 70 |
+
|
| 71 |
+
if self.scaler:
|
| 72 |
+
X = pd.DataFrame(self.scaler.transform(X), columns=self.feature_names)
|
| 73 |
+
|
| 74 |
+
# Apply feature weights
|
| 75 |
+
for feature, weight in self.feature_weights.items():
|
| 76 |
+
if feature in X.columns:
|
| 77 |
+
X[feature] = X[feature] * weight
|
| 78 |
+
|
| 79 |
+
# Get nearest neighbors
|
| 80 |
+
distances, indices = self.model.kneighbors(X)
|
| 81 |
+
|
| 82 |
+
# Ensure X_train and y_train are DataFrame/Series
|
| 83 |
+
if isinstance(self.X_train, np.ndarray):
|
| 84 |
+
self.X_train = pd.DataFrame(self.X_train, columns=self.feature_names)
|
| 85 |
+
if isinstance(self.y_train, np.ndarray):
|
| 86 |
+
self.y_train = pd.Series(self.y_train)
|
| 87 |
+
|
| 88 |
+
# Get similar cases
|
| 89 |
+
similar_cases = self.X_train.iloc[indices[0]]
|
| 90 |
+
similar_outcomes = self.y_train.iloc[indices[0]]
|
| 91 |
+
|
| 92 |
+
# Calculate weighted probability
|
| 93 |
+
weights = 1 / (distances[0] + 1e-6)
|
| 94 |
+
weighted_prob = np.sum(similar_outcomes * weights) / np.sum(weights)
|
| 95 |
+
|
| 96 |
+
# Check risk factors
|
| 97 |
+
if self.scaler:
|
| 98 |
+
X_orig = pd.DataFrame(self.scaler.inverse_transform(X), columns=self.feature_names)
|
| 99 |
+
else:
|
| 100 |
+
X_orig = X
|
| 101 |
+
|
| 102 |
+
# Add risk based on key measurements
|
| 103 |
+
if X_orig['mean radius'].iloc[0] > 15:
|
| 104 |
+
weighted_prob += 0.1
|
| 105 |
+
if X_orig['mean concave points'].iloc[0] > 0.05:
|
| 106 |
+
weighted_prob += 0.15
|
| 107 |
+
if X_orig['worst radius'].iloc[0] > 20:
|
| 108 |
+
weighted_prob += 0.15
|
| 109 |
+
if X_orig['worst concave points'].iloc[0] > 0.15:
|
| 110 |
+
weighted_prob += 0.15
|
| 111 |
+
|
| 112 |
+
# Make prediction based on threshold
|
| 113 |
+
prediction = np.array([0 if weighted_prob >= self.high_risk_threshold else 1])
|
| 114 |
+
|
| 115 |
+
return prediction, similar_cases, similar_outcomes, distances[0]
|
| 116 |
+
|
| 117 |
+
def evaluate(self, X_train, X_test, y_train, y_test):
|
| 118 |
+
train_accuracy = accuracy_score(y_train, self.model.predict(X_train))
|
| 119 |
+
test_accuracy = accuracy_score(y_test, self.model.predict(X_test))
|
| 120 |
+
return train_accuracy, test_accuracy
|
src/models/__pycache__/base_model.cpython-310.pyc
ADDED
|
Binary file (1.63 kB). View file
|
|
|
src/models/__pycache__/base_model.cpython-311.pyc
ADDED
|
Binary file (2.7 kB). View file
|
|
|
src/models/__pycache__/breast_cancer.cpython-311.pyc
ADDED
|
Binary file (2.57 kB). View file
|
|
|
src/models/__pycache__/diabetes.cpython-310.pyc
ADDED
|
Binary file (2.12 kB). View file
|
|
|
src/models/__pycache__/diabetes.cpython-311.pyc
ADDED
|
Binary file (3.53 kB). View file
|
|
|
src/models/__pycache__/heart_disease.cpython-310.pyc
ADDED
|
Binary file (2.92 kB). View file
|
|
|
src/models/__pycache__/heart_disease.cpython-311.pyc
ADDED
|
Binary file (5.32 kB). View file
|
|
|
src/models/__pycache__/parkinsons.cpython-310.pyc
ADDED
|
Binary file (4.08 kB). View file
|
|
|
src/models/__pycache__/parkinsons.cpython-311.pyc
ADDED
|
Binary file (6.91 kB). View file
|
|
|
src/models/base_model.py
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from abc import ABC, abstractmethod
|
| 2 |
+
import joblib
|
| 3 |
+
import logging
|
| 4 |
+
import pickle
|
| 5 |
+
from pathlib import Path
|
| 6 |
+
|
| 7 |
+
logging.basicConfig(level=logging.INFO)
|
| 8 |
+
logger = logging.getLogger(__name__)
|
| 9 |
+
|
| 10 |
+
class BaseModel(ABC):
|
| 11 |
+
def __init__(self, model_path):
|
| 12 |
+
self.model_path = model_path
|
| 13 |
+
self.model = None
|
| 14 |
+
self.scaler = None
|
| 15 |
+
self.X_train = None
|
| 16 |
+
self.y_train = None
|
| 17 |
+
|
| 18 |
+
@abstractmethod
|
| 19 |
+
def train(self, X, y):
|
| 20 |
+
pass
|
| 21 |
+
|
| 22 |
+
@abstractmethod
|
| 23 |
+
def predict(self, X):
|
| 24 |
+
pass
|
| 25 |
+
|
| 26 |
+
def save_model(self):
|
| 27 |
+
model_data = {
|
| 28 |
+
'model': self.model,
|
| 29 |
+
'scaler': self.scaler,
|
| 30 |
+
'X_train': self.X_train,
|
| 31 |
+
'y_train': self.y_train
|
| 32 |
+
}
|
| 33 |
+
with open(self.model_path, 'wb') as f:
|
| 34 |
+
pickle.dump(model_data, f)
|
| 35 |
+
|
| 36 |
+
@classmethod
|
| 37 |
+
def load_model(cls):
|
| 38 |
+
instance = cls()
|
| 39 |
+
with open(instance.model_path, 'rb') as f:
|
| 40 |
+
model_data = pickle.load(f)
|
| 41 |
+
instance.model = model_data['model']
|
| 42 |
+
instance.scaler = model_data['scaler']
|
| 43 |
+
instance.X_train = model_data['X_train']
|
| 44 |
+
instance.y_train = model_data['y_train']
|
| 45 |
+
return instance
|
src/models/breast_cancer.py
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sklearn.linear_model import LogisticRegression
|
| 2 |
+
from sklearn.model_selection import train_test_split, cross_val_score
|
| 3 |
+
from sklearn.metrics import accuracy_score
|
| 4 |
+
from .base_model import BaseModel
|
| 5 |
+
from ..config import BREAST_CANCER_MODEL_PATH, RANDOM_STATE, TEST_SIZE
|
| 6 |
+
|
| 7 |
+
class BreastCancerModel(BaseModel):
|
| 8 |
+
def __init__(self):
|
| 9 |
+
super().__init__(BREAST_CANCER_MODEL_PATH)
|
| 10 |
+
self.model = LogisticRegression(max_iter=1000, random_state=RANDOM_STATE)
|
| 11 |
+
|
| 12 |
+
def train(self, X, y):
|
| 13 |
+
X_train, X_test, y_train, y_test = train_test_split(
|
| 14 |
+
X, y, test_size=TEST_SIZE, random_state=RANDOM_STATE
|
| 15 |
+
)
|
| 16 |
+
|
| 17 |
+
self.model.fit(X_train, y_train)
|
| 18 |
+
return self.evaluate(X_train, X_test, y_train, y_test)
|
| 19 |
+
|
| 20 |
+
def predict(self, X):
|
| 21 |
+
if self.scaler:
|
| 22 |
+
X = self.scaler.transform(X)
|
| 23 |
+
return self.model.predict(X)
|
| 24 |
+
|
| 25 |
+
def evaluate(self, X_train, X_test, y_train, y_test):
|
| 26 |
+
train_accuracy = accuracy_score(y_train, self.model.predict(X_train))
|
| 27 |
+
test_accuracy = accuracy_score(y_test, self.model.predict(X_test))
|
| 28 |
+
return train_accuracy, test_accuracy
|
src/models/diabetes.py
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sklearn.neighbors import KNeighborsClassifier
|
| 2 |
+
from sklearn.model_selection import train_test_split
|
| 3 |
+
from sklearn.metrics import accuracy_score
|
| 4 |
+
from .base_model import BaseModel
|
| 5 |
+
from ..config import DIABETES_MODEL_PATH, RANDOM_STATE, TEST_SIZE
|
| 6 |
+
import numpy as np
|
| 7 |
+
|
| 8 |
+
class DiabetesModel(BaseModel):
|
| 9 |
+
def __init__(self):
|
| 10 |
+
super().__init__(DIABETES_MODEL_PATH)
|
| 11 |
+
self.model = KNeighborsClassifier(
|
| 12 |
+
n_neighbors=7, # Increased neighbors for more robust prediction
|
| 13 |
+
weights='distance' # Weight points by distance
|
| 14 |
+
)
|
| 15 |
+
self.feature_names = [
|
| 16 |
+
'Pregnancies', 'Glucose', 'BloodPressure', 'SkinThickness',
|
| 17 |
+
'Insulin', 'BMI', 'DiabetesPedigreeFunction', 'Age',
|
| 18 |
+
'GlucoseBMI', 'GlucoseAge' # Added derived features
|
| 19 |
+
]
|
| 20 |
+
self.X_train = None
|
| 21 |
+
self.y_train = None
|
| 22 |
+
|
| 23 |
+
# Define risk thresholds
|
| 24 |
+
self.high_risk_threshold = 0.6
|
| 25 |
+
|
| 26 |
+
def train(self, X, y):
|
| 27 |
+
X_train, X_test, y_train, y_test = train_test_split(
|
| 28 |
+
X, y, test_size=TEST_SIZE, random_state=RANDOM_STATE,
|
| 29 |
+
stratify=y # Ensure balanced split
|
| 30 |
+
)
|
| 31 |
+
|
| 32 |
+
self.X_train = X_train
|
| 33 |
+
self.y_train = y_train
|
| 34 |
+
|
| 35 |
+
self.model.fit(X_train, y_train)
|
| 36 |
+
return self.evaluate(X_train, X_test, y_train, y_test)
|
| 37 |
+
|
| 38 |
+
def predict(self, X):
|
| 39 |
+
if self.scaler:
|
| 40 |
+
X = self.scaler.transform(X)
|
| 41 |
+
|
| 42 |
+
# Get distances and indices of nearest neighbors
|
| 43 |
+
distances, indices = self.model.kneighbors(X)
|
| 44 |
+
|
| 45 |
+
# Get similar cases
|
| 46 |
+
similar_cases = self.X_train.iloc[indices[0]]
|
| 47 |
+
similar_outcomes = self.y_train.iloc[indices[0]]
|
| 48 |
+
|
| 49 |
+
# Calculate weighted probability
|
| 50 |
+
weights = 1 / (distances[0] + 1e-6) # Add small constant to avoid division by zero
|
| 51 |
+
weighted_prob = np.sum(similar_outcomes * weights) / np.sum(weights)
|
| 52 |
+
|
| 53 |
+
# Make prediction based on probability threshold
|
| 54 |
+
prediction = np.array([1 if weighted_prob >= self.high_risk_threshold else 0])
|
| 55 |
+
|
| 56 |
+
return prediction, similar_cases, similar_outcomes, distances[0]
|
| 57 |
+
|
| 58 |
+
def evaluate(self, X_train, X_test, y_train, y_test):
|
| 59 |
+
train_accuracy = accuracy_score(y_train, self.model.predict(X_train))
|
| 60 |
+
test_accuracy = accuracy_score(y_test, self.model.predict(X_test))
|
| 61 |
+
return train_accuracy, test_accuracy
|
src/models/heart_disease.py
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sklearn.neighbors import KNeighborsClassifier
|
| 2 |
+
from sklearn.model_selection import train_test_split
|
| 3 |
+
from sklearn.metrics import accuracy_score
|
| 4 |
+
from .base_model import BaseModel
|
| 5 |
+
from ..config import HEART_DISEASE_MODEL_PATH, RANDOM_STATE, TEST_SIZE
|
| 6 |
+
import numpy as np
|
| 7 |
+
import pandas as pd
|
| 8 |
+
|
| 9 |
+
class HeartDiseaseModel(BaseModel):
|
| 10 |
+
def __init__(self):
|
| 11 |
+
super().__init__(HEART_DISEASE_MODEL_PATH)
|
| 12 |
+
self.model = KNeighborsClassifier(
|
| 13 |
+
n_neighbors=5,
|
| 14 |
+
weights='distance', # Weight by distance for better local sensitivity
|
| 15 |
+
metric='manhattan' # Manhattan distance for better feature importance
|
| 16 |
+
)
|
| 17 |
+
self.feature_names = [
|
| 18 |
+
'age', 'sex', 'cp', 'trestbps', 'chol', 'fbs', 'restecg',
|
| 19 |
+
'thalach', 'exang', 'oldpeak', 'slope', 'ca', 'thal'
|
| 20 |
+
]
|
| 21 |
+
self.X_train = None
|
| 22 |
+
self.y_train = None
|
| 23 |
+
|
| 24 |
+
# Define risk thresholds
|
| 25 |
+
self.high_risk_threshold = 0.5
|
| 26 |
+
|
| 27 |
+
# Feature importance weights
|
| 28 |
+
self.feature_weights = {
|
| 29 |
+
'age': 1.5, # Age is important
|
| 30 |
+
'cp': 2.0, # Chest pain type is very important
|
| 31 |
+
'trestbps': 1.2, # Blood pressure
|
| 32 |
+
'chol': 1.2, # Cholesterol
|
| 33 |
+
'thalach': 1.5, # Max heart rate
|
| 34 |
+
'oldpeak': 1.8, # ST depression
|
| 35 |
+
'ca': 2.0, # Number of vessels
|
| 36 |
+
'thal': 1.5 # Thalassemia
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
def train(self, X, y):
|
| 40 |
+
X = X[self.feature_names]
|
| 41 |
+
|
| 42 |
+
# Apply feature weights
|
| 43 |
+
for feature, weight in self.feature_weights.items():
|
| 44 |
+
if feature in X.columns:
|
| 45 |
+
X[feature] = X[feature] * weight
|
| 46 |
+
|
| 47 |
+
X_train, X_test, y_train, y_test = train_test_split(
|
| 48 |
+
X, y, test_size=TEST_SIZE, random_state=RANDOM_STATE,
|
| 49 |
+
stratify=y # Ensure balanced split
|
| 50 |
+
)
|
| 51 |
+
|
| 52 |
+
self.X_train = X_train
|
| 53 |
+
self.y_train = y_train
|
| 54 |
+
|
| 55 |
+
self.model.fit(X_train, y_train)
|
| 56 |
+
return self.evaluate(X_train, X_test, y_train, y_test)
|
| 57 |
+
|
| 58 |
+
def predict(self, X):
|
| 59 |
+
if self.scaler:
|
| 60 |
+
X = self.scaler.transform(X)
|
| 61 |
+
X = pd.DataFrame(X, columns=self.feature_names)
|
| 62 |
+
|
| 63 |
+
# Apply feature weights
|
| 64 |
+
for feature, weight in self.feature_weights.items():
|
| 65 |
+
if feature in X.columns:
|
| 66 |
+
X[feature] = X[feature] * weight
|
| 67 |
+
|
| 68 |
+
# Get nearest neighbors
|
| 69 |
+
distances, indices = self.model.kneighbors(X)
|
| 70 |
+
|
| 71 |
+
# Get similar cases
|
| 72 |
+
similar_cases = self.X_train.iloc[indices[0]]
|
| 73 |
+
similar_outcomes = self.y_train.iloc[indices[0]]
|
| 74 |
+
|
| 75 |
+
# Calculate risk score based on weighted voting
|
| 76 |
+
weights = 1 / (distances[0] + 1e-6)
|
| 77 |
+
weighted_prob = np.sum(similar_outcomes * weights) / np.sum(weights)
|
| 78 |
+
|
| 79 |
+
# Calculate additional risk factors
|
| 80 |
+
risk_factors = []
|
| 81 |
+
|
| 82 |
+
# Convert X back to original scale if scaler exists
|
| 83 |
+
if self.scaler:
|
| 84 |
+
X_orig = pd.DataFrame(self.scaler.inverse_transform(X), columns=self.feature_names)
|
| 85 |
+
else:
|
| 86 |
+
X_orig = X
|
| 87 |
+
|
| 88 |
+
# Check various risk factors
|
| 89 |
+
if X_orig['age'].iloc[0] > 60:
|
| 90 |
+
weighted_prob += 0.1
|
| 91 |
+
if X_orig['cp'].iloc[0] >= 2: # Non-typical chest pain
|
| 92 |
+
weighted_prob += 0.1
|
| 93 |
+
if X_orig['trestbps'].iloc[0] > 140: # High blood pressure
|
| 94 |
+
weighted_prob += 0.1
|
| 95 |
+
if X_orig['chol'].iloc[0] > 240: # High cholesterol
|
| 96 |
+
weighted_prob += 0.1
|
| 97 |
+
if X_orig['thalach'].iloc[0] < 120: # Low max heart rate
|
| 98 |
+
weighted_prob += 0.1
|
| 99 |
+
if X_orig['oldpeak'].iloc[0] > 2: # High ST depression
|
| 100 |
+
weighted_prob += 0.15
|
| 101 |
+
if X_orig['ca'].iloc[0] > 0: # Presence of vessels colored by fluoroscopy
|
| 102 |
+
weighted_prob += 0.15 * X_orig['ca'].iloc[0]
|
| 103 |
+
|
| 104 |
+
# Make final prediction based on threshold
|
| 105 |
+
prediction = np.array([1 if weighted_prob >= self.high_risk_threshold else 0])
|
| 106 |
+
|
| 107 |
+
return prediction, similar_cases, similar_outcomes, distances[0]
|
| 108 |
+
|
| 109 |
+
def evaluate(self, X_train, X_test, y_train, y_test):
|
| 110 |
+
train_accuracy = accuracy_score(y_train, self.model.predict(X_train))
|
| 111 |
+
test_accuracy = accuracy_score(y_test, self.model.predict(X_test))
|
| 112 |
+
return train_accuracy, test_accuracy
|
src/models/parkinsons.py
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sklearn.neighbors import KNeighborsClassifier
|
| 2 |
+
from sklearn.model_selection import train_test_split
|
| 3 |
+
from sklearn.metrics import accuracy_score
|
| 4 |
+
from .base_model import BaseModel
|
| 5 |
+
from ..config import PARKINSONS_MODEL_PATH, RANDOM_STATE, TEST_SIZE
|
| 6 |
+
import numpy as np
|
| 7 |
+
import pandas as pd
|
| 8 |
+
|
| 9 |
+
class ParkinsonsModel(BaseModel):
|
| 10 |
+
def __init__(self):
|
| 11 |
+
super().__init__(PARKINSONS_MODEL_PATH)
|
| 12 |
+
self.model = KNeighborsClassifier(
|
| 13 |
+
n_neighbors=5, # Increased for more robust predictions
|
| 14 |
+
weights='distance',
|
| 15 |
+
metric='euclidean' # Changed to euclidean for better distance measurement
|
| 16 |
+
)
|
| 17 |
+
self.feature_names = [
|
| 18 |
+
'MDVP:Fo(Hz)', 'MDVP:Fhi(Hz)', 'MDVP:Flo(Hz)', 'MDVP:Jitter(%)',
|
| 19 |
+
'MDVP:Jitter(Abs)', 'MDVP:RAP', 'MDVP:PPQ', 'Jitter:DDP',
|
| 20 |
+
'MDVP:Shimmer', 'MDVP:Shimmer(dB)', 'Shimmer:APQ3', 'Shimmer:APQ5',
|
| 21 |
+
'MDVP:APQ', 'Shimmer:DDA', 'NHR', 'HNR', 'RPDE', 'DFA',
|
| 22 |
+
'spread1', 'spread2', 'D2', 'PPE'
|
| 23 |
+
]
|
| 24 |
+
self.X_train = None
|
| 25 |
+
self.y_train = None
|
| 26 |
+
self.scaler = None
|
| 27 |
+
|
| 28 |
+
# Feature ranges from dataset analysis
|
| 29 |
+
self.feature_ranges = {
|
| 30 |
+
'MDVP:Fo(Hz)': (88.333, 260.105),
|
| 31 |
+
'MDVP:Fhi(Hz)': (102.145, 592.030),
|
| 32 |
+
'MDVP:Flo(Hz)': (65.476, 239.170),
|
| 33 |
+
'MDVP:Jitter(%)': (0.001, 0.033),
|
| 34 |
+
'MDVP:Shimmer': (0.009, 0.119),
|
| 35 |
+
'HNR': (8.441, 33.047),
|
| 36 |
+
'RPDE': (0.256, 0.685),
|
| 37 |
+
'DFA': (0.574, 0.825),
|
| 38 |
+
'spread1': (-7.968984, -2.434031),
|
| 39 |
+
'spread2': (0.006, 0.527),
|
| 40 |
+
'PPE': (0.044, 0.527)
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
# Add feature weights
|
| 44 |
+
self.feature_weights = {
|
| 45 |
+
'MDVP:Fo(Hz)': 1.0,
|
| 46 |
+
'MDVP:Fhi(Hz)': 1.0,
|
| 47 |
+
'MDVP:Flo(Hz)': 1.0,
|
| 48 |
+
'MDVP:Jitter(%)': 2.0,
|
| 49 |
+
'MDVP:Jitter(Abs)': 1.5,
|
| 50 |
+
'MDVP:RAP': 1.5,
|
| 51 |
+
'MDVP:PPQ': 1.5,
|
| 52 |
+
'Jitter:DDP': 1.5,
|
| 53 |
+
'MDVP:Shimmer': 2.0,
|
| 54 |
+
'MDVP:Shimmer(dB)': 1.5,
|
| 55 |
+
'Shimmer:APQ3': 1.5,
|
| 56 |
+
'Shimmer:APQ5': 1.5,
|
| 57 |
+
'MDVP:APQ': 1.5,
|
| 58 |
+
'Shimmer:DDA': 1.5,
|
| 59 |
+
'NHR': 1.8,
|
| 60 |
+
'HNR': 1.8,
|
| 61 |
+
'RPDE': 1.5,
|
| 62 |
+
'DFA': 1.5,
|
| 63 |
+
'spread1': 1.2,
|
| 64 |
+
'spread2': 1.2,
|
| 65 |
+
'D2': 1.2,
|
| 66 |
+
'PPE': 1.8
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
def is_input_valid(self, X):
|
| 70 |
+
"""Check if input values are within expected ranges"""
|
| 71 |
+
X_df = pd.DataFrame(X, columns=self.feature_names)
|
| 72 |
+
for feature, (min_val, max_val) in self.feature_ranges.items():
|
| 73 |
+
if feature in X_df.columns:
|
| 74 |
+
value = X_df[feature].iloc[0]
|
| 75 |
+
# Extend the acceptable range by 20% on both sides
|
| 76 |
+
range_width = max_val - min_val
|
| 77 |
+
extended_min = min_val - (range_width * 0.2)
|
| 78 |
+
extended_max = max_val + (range_width * 0.2)
|
| 79 |
+
if value < extended_min or value > extended_max:
|
| 80 |
+
return False, f"{feature} value ({value:.3f}) is outside expected range ({min_val:.3f} - {max_val:.3f})"
|
| 81 |
+
return True, ""
|
| 82 |
+
|
| 83 |
+
def predict(self, X):
|
| 84 |
+
# Validate input
|
| 85 |
+
is_valid, message = self.is_input_valid(X)
|
| 86 |
+
if not is_valid:
|
| 87 |
+
raise ValueError(f"Invalid input: {message}")
|
| 88 |
+
|
| 89 |
+
if self.scaler:
|
| 90 |
+
X = self.scaler.transform(X)
|
| 91 |
+
|
| 92 |
+
X = pd.DataFrame(X, columns=self.feature_names)
|
| 93 |
+
|
| 94 |
+
# Apply feature weights
|
| 95 |
+
for feature, weight in self.feature_weights.items():
|
| 96 |
+
if feature in X.columns:
|
| 97 |
+
X[feature] = X[feature] * weight
|
| 98 |
+
|
| 99 |
+
# Get nearest neighbors
|
| 100 |
+
distances, indices = self.model.kneighbors(X)
|
| 101 |
+
|
| 102 |
+
# Convert X_train to DataFrame if it's a numpy array
|
| 103 |
+
if isinstance(self.X_train, np.ndarray):
|
| 104 |
+
self.X_train = pd.DataFrame(self.X_train, columns=self.feature_names)
|
| 105 |
+
|
| 106 |
+
# Get similar cases
|
| 107 |
+
similar_cases = self.X_train.iloc[indices[0]]
|
| 108 |
+
similar_outcomes = pd.Series(self.y_train).iloc[indices[0]] # Convert y_train to Series
|
| 109 |
+
|
| 110 |
+
# Calculate confidence score based on distances
|
| 111 |
+
max_distance = np.max(distances)
|
| 112 |
+
confidence_scores = 1 - (distances[0] / max_distance)
|
| 113 |
+
|
| 114 |
+
# Weight the predictions by confidence
|
| 115 |
+
weighted_pred = np.average(similar_outcomes, weights=confidence_scores)
|
| 116 |
+
|
| 117 |
+
# Make final prediction
|
| 118 |
+
prediction = np.array([1 if weighted_pred >= 0.5 else 0])
|
| 119 |
+
|
| 120 |
+
return prediction, similar_cases, similar_outcomes, distances[0]
|
| 121 |
+
|
| 122 |
+
def train(self, X, y):
|
| 123 |
+
# Convert input to DataFrame if it's not already
|
| 124 |
+
if not isinstance(X, pd.DataFrame):
|
| 125 |
+
X = pd.DataFrame(X, columns=self.feature_names)
|
| 126 |
+
|
| 127 |
+
# Apply feature weights
|
| 128 |
+
X_weighted = X.copy()
|
| 129 |
+
for feature, weight in self.feature_weights.items():
|
| 130 |
+
if feature in X.columns:
|
| 131 |
+
X_weighted[feature] = X_weighted[feature] * weight
|
| 132 |
+
|
| 133 |
+
X_train, X_test, y_train, y_test = train_test_split(
|
| 134 |
+
X_weighted, y, test_size=TEST_SIZE, random_state=RANDOM_STATE,
|
| 135 |
+
stratify=y
|
| 136 |
+
)
|
| 137 |
+
|
| 138 |
+
# Store as DataFrames/Series
|
| 139 |
+
self.X_train = pd.DataFrame(X_train, columns=self.feature_names)
|
| 140 |
+
self.y_train = pd.Series(y_train)
|
| 141 |
+
|
| 142 |
+
self.model.fit(X_train, y_train)
|
| 143 |
+
return self.evaluate(X_train, X_test, y_train, y_test)
|
| 144 |
+
|
| 145 |
+
def evaluate(self, X_train, X_test, y_train, y_test):
|
| 146 |
+
train_accuracy = accuracy_score(y_train, self.model.predict(X_train))
|
| 147 |
+
test_accuracy = accuracy_score(y_test, self.model.predict(X_test))
|
| 148 |
+
return train_accuracy, test_accuracy
|
src/preprocessing/__pycache__/diabetes.cpython-311.pyc
ADDED
|
Binary file (2.3 kB). View file
|
|
|
src/preprocessing/__pycache__/heart_disease.cpython-311.pyc
ADDED
|
Binary file (1.87 kB). View file
|
|
|
src/preprocessing/__pycache__/parkinsons.cpython-311.pyc
ADDED
|
Binary file (1.93 kB). View file
|
|
|
src/preprocessing/diabetes.py
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import pandas as pd
|
| 2 |
+
from sklearn.preprocessing import StandardScaler
|
| 3 |
+
import logging
|
| 4 |
+
from pathlib import Path
|
| 5 |
+
|
| 6 |
+
logging.basicConfig(level=logging.INFO)
|
| 7 |
+
logger = logging.getLogger(__name__)
|
| 8 |
+
|
| 9 |
+
def load_and_preprocess_diabetes_data():
|
| 10 |
+
try:
|
| 11 |
+
# Load the dataset from local datasets folder
|
| 12 |
+
data_path = Path(__file__).resolve().parent.parent.parent / "datasets" / "diabetes.csv"
|
| 13 |
+
df = pd.read_csv(data_path)
|
| 14 |
+
|
| 15 |
+
feature_names = [
|
| 16 |
+
'Pregnancies', # Number of times pregnant
|
| 17 |
+
'Glucose', # Plasma glucose concentration (mg/dL)
|
| 18 |
+
'BloodPressure', # Diastolic blood pressure (mm Hg)
|
| 19 |
+
'SkinThickness', # Triceps skin fold thickness (mm)
|
| 20 |
+
'Insulin', # 2-Hour serum insulin (mu U/ml)
|
| 21 |
+
'BMI', # Body mass index
|
| 22 |
+
'DiabetesPedigreeFunction', # Diabetes pedigree function
|
| 23 |
+
'Age' # Age in years
|
| 24 |
+
]
|
| 25 |
+
|
| 26 |
+
# Handle missing values (0 values in certain columns)
|
| 27 |
+
zero_not_accepted = ['Glucose', 'BloodPressure', 'SkinThickness', 'Insulin', 'BMI']
|
| 28 |
+
for column in zero_not_accepted:
|
| 29 |
+
mask = df[column] != 0
|
| 30 |
+
df.loc[~mask, column] = df.loc[mask, column].median()
|
| 31 |
+
|
| 32 |
+
# Add some derived features
|
| 33 |
+
df['GlucoseBMI'] = df['Glucose'] * df['BMI'] / 1000
|
| 34 |
+
df['GlucoseAge'] = df['Glucose'] * df['Age'] / 100
|
| 35 |
+
feature_names.extend(['GlucoseBMI', 'GlucoseAge'])
|
| 36 |
+
|
| 37 |
+
# Separate features and target
|
| 38 |
+
X = df[feature_names]
|
| 39 |
+
y = df['Outcome']
|
| 40 |
+
|
| 41 |
+
# Scale features
|
| 42 |
+
scaler = StandardScaler()
|
| 43 |
+
X_scaled = scaler.fit_transform(X)
|
| 44 |
+
X_scaled = pd.DataFrame(X_scaled, columns=feature_names)
|
| 45 |
+
|
| 46 |
+
return X_scaled, y, scaler
|
| 47 |
+
|
| 48 |
+
except Exception as e:
|
| 49 |
+
logger.error(f"Error in diabetes data preprocessing: {str(e)}")
|
| 50 |
+
raise
|
src/preprocessing/heart_disease.py
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import pandas as pd
|
| 2 |
+
from sklearn.preprocessing import StandardScaler
|
| 3 |
+
import logging
|
| 4 |
+
from pathlib import Path
|
| 5 |
+
|
| 6 |
+
logging.basicConfig(level=logging.INFO)
|
| 7 |
+
logger = logging.getLogger(__name__)
|
| 8 |
+
|
| 9 |
+
def load_and_preprocess_heart_data():
|
| 10 |
+
try:
|
| 11 |
+
# Load the dataset from local datasets folder
|
| 12 |
+
data_path = Path(__file__).resolve().parent.parent.parent / "datasets" / "heart.csv"
|
| 13 |
+
df = pd.read_csv(data_path)
|
| 14 |
+
|
| 15 |
+
feature_names = [
|
| 16 |
+
'age', 'sex', 'cp', 'trestbps', 'chol', 'fbs', 'restecg',
|
| 17 |
+
'thalach', 'exang', 'oldpeak', 'slope', 'ca', 'thal'
|
| 18 |
+
]
|
| 19 |
+
|
| 20 |
+
# Handle missing values if any
|
| 21 |
+
df = df.replace('?', pd.NA).dropna()
|
| 22 |
+
|
| 23 |
+
# Separate features and target
|
| 24 |
+
X = df[feature_names]
|
| 25 |
+
y = df['target']
|
| 26 |
+
|
| 27 |
+
# Scale features
|
| 28 |
+
scaler = StandardScaler()
|
| 29 |
+
X_scaled = scaler.fit_transform(X)
|
| 30 |
+
X_scaled = pd.DataFrame(X_scaled, columns=feature_names)
|
| 31 |
+
|
| 32 |
+
return X_scaled, y, scaler
|
| 33 |
+
|
| 34 |
+
except Exception as e:
|
| 35 |
+
logger.error(f"Error in heart disease data preprocessing: {str(e)}")
|
| 36 |
+
raise
|