data analysis and recommendation based on machine learning