This repository contains all projects I did in Artificial Intelligence course (offered at the University of Tehran under the supervision of Dr. Fadaei).
Project0: Crunching and visualising data to get familiar with pandas, matplotlib, numpy and Jupyter notebook. Then try to find a simple model that estimates students' chances of getting admission to American universities
Project1: Implementing informed and uninformed search algorithms in python. Use them to solve a problem and compare them to see which one is better in our case.
Project2: Learning and implemeting genetic algorithm tools and functions to Decrypting Substitution Ciphers with Genetic Algorithms.
Project3: Introduction to nlp. Using bayesian and bag of word to predict category of news from it's description. First I preprocessed data and then predict news category using bayesian rule and BOW.
Project4: Introduction to Scikit-learn. The problem was predicting customer satisfaction based on some information. First I cleaned data, encode categorical columns and normalize data. Then I used some models like KNN, Desicion Tree and Logistic Classifier (and tune hyperparameters) and compared them. Then I tried Bagging, Random Forest and Hard-Voting Classifier and compared them.
Project5: Introduction to NN and image classification with NN in Pytorch. We have a data of products image with 52 categories. I implement a NN with four layers that predict the category of an input image. Then I tuned hyperparameters like learningRate, batchSize, momentum, epoch, etc.
Final exam: Predicting phone price based on information in phone advertising. Our data set was a collection of phone advertising containing phone_brand, title, description, etc. I preprocessed data, extracting new features from advertising descriptions using NLP tools, encoding categorical columns, etc. Finally use some models for predicting phone prices such as LinearRegression, TreeRegression, and lightgbm. I also tune hyperparameters for each model to achieve an optimized model.