-
main goals: predict loan acceptance, default status, and interest rate; deploy model
-
skills learned:
- handling tables > 5GB, 30 Mio. rows, 160 features.
- correlation strength and feature importances
- model selection for classification and linear regression
- exploring recursive feature elimination
- exercise model deployment (Docker, Google Cloud Platform)
-
most important modules used:
- dask, fastparquet (memory saving processing and storing)
- pandas, numpy (standard processing)
- plotly, seaborn, matplotlib (visualization)
- pingouin (statistical analysis)
- scikit-learn, imblearn, lightgbm, xgboost, yellowbrick, pickle (modelling and performance)
- eli5, shap (explainability)
- fastapi, pydantic, uvicorn (deployment)
-
peer: 96/100 points
- Positives:
- The analysis presents a comprehensive and informative Exploratory Data Analysis (EDA) with interactive Plotly visualizations, effectively conveying the story of the data.
- The model evaluation process is detailed, covering various aspects, and a wide range of models and methods have been tested.
- Areas for Improvement:
- For classification problems, consider splitting the training and test sets by date, similar to what was done for interest rate prediction. This can help account for time-related changes in the data.
- Improve preprocessing strategies by tailoring them to the specific model type.
- A. For tree-based models, consider treating missing values as a separate category or using a distinct numeric value rather than median/most frequent imputation. Additionally, skip scaling numeric features, which is unnecessary for tree-based models and can affect results when dealing with extreme outliers.
- B. For linear models, emphasize the importance of scaling and address outliers as a preprocessing step in pipelines involving linear models.
- Provide explanations for the choice of scoring metrics in hyperparameter tuning for classification tasks. This can help readers understand the decision-making process.
- Be cautious about filtering too many features solely based on direct relationships during EDA, as this may overlook conditional relationships that are valuable for tree-based models.
- Avoid setting a strict cut-off point for low variance features, as it may lead to the removal of rare but crucial features that are essential in specific cases.
- I could not evaluate the deployment of the model at the time.
- Positives:
-
STL (after incorporating several of peer's suggestions): 96/100 points
-
Great work! I really love that you took effort to understand the domain of the problem you were solving. Everything from dataset cleaning to model selection was completed with care.
-
What I would like you to try out next time is:
- Do not be afraid of adding more text within your notebooks. Now it is not easy to understand origin of some plots of code cells without your vocal comments.
- Always have a baseline to compare your model to.
- Some visualisations are hard to understand. Try to look at each plot and decide if you can understand it without information about how it was generated.
-