can you write me a project following the tasks bellow
1. 
PROBLEM 
DEFINITION 
Select a problem you are interested in and find a real dataset that you 
can apply classification or regression to. 
In your own words, describe the importance of the problem, define the 
problem in terms of the input and output variable, describe the basics 
statistics of the data (count and type of variables, mean / std of values). 
Draw histograms of main features. Compute the correlation between 
input/ output variables. 
2. 
APPLY SCIKITLEARN MODEL 
Divide the data into training and testing. Do preprocessing if necessary. 
Train a scikit-learn model on the training set, and evaluate its 
performance on the testing set. Use at least 3 evaluation metrics for 
comparison. 
3. 
IMPROVE YOUR 
MODEL’S 
PERFORMANCE 
Now your goal is to improve your model’s performance. There are many 
ways to do so, here are some suggestions: 
1. Try different hyperparameters during training 
2. If data has many features, do dimensionality reduction or feature 
selection 
3. Clean / preprocess the data 
 
4. 
OPTION 1: 
1. Choose one of the four algorithms - KNN, DT,NB or LR - to 
implement from scratch.
College of Computer Science and Engineering 
Department of Computer Science and Artificial Intelligence 
CCAI-312: Pattern Recognition 
IMPLEMENT 
MODEL USING 
PYTHON 
2. Implement the chosen algorithm from scratch using Python. 
3. Train and test your implemented algorithm on the dataset and evaluate 
it using evaluation metrics used in task 2 
4. Compare the performance of your implemented algorithm with the 
Scikit-Learn model and present your findings in a report. 
5. Include a discussion on the differences in performance between the 
implemented algorithm and Scikit-Learn model and an explanation of 
why these differences may have occurred. 
4.
OPTION 2: 
TRAIN A NEW 
MODEL
1. Choose a machine learning model that is not covered in class but is 
relevant to your field of study or area of interest. 
2. Study and explain the new model to gain an understanding of its 
principles, strengths, weaknesses, and applications. 
3. Train and test the performance of the new model and evaluate it using 
evaluation metrics used in task 2 
4. Compare the performance of the new model with the Scikit-Learn 
model and present your findings in a report. 
5. Discuss the strengths and weaknesses of both models and explain why 
the new model may be useful in certain situations. 
Project Deliverables: 
Your project will be worth 10 % of your final class grade, and will have 2 deliverables: 
1. Final Report and Code (June 1) 
You must submit a written report on your project, structured as a standard 
academic conference paper, and the complete, documented source code for it. This 
should be a 4-5 pages short report (including cover page). It should consist of: 
 Cover page: Group member names, Project title, … 
 Introduction 
 Problem Description 
 Data Description
 Method 
 Experiment and results (Please include visualizations) 
 Discussion 
 Conclusion 
 References