📊Customer Personality Analysis, using various Data Mining techniques and Machine Learning algorithms.
The purpose of this project is to get familiar with the basic stages of the process of implementing data mining techniques, namely: pre-processing / cleaning, transformation, application of data mining techniques and evaluation. The implementation will be done in Python programming language using the tools/libraries: jupyter notebook, pandas and SciKit Learn.
Customer Personality Analysis involves thoroughly examining the optimal clientele for a company. It aids in enhancing a company's comprehension of its clientele and streamlines product adjustments to cater to the distinct requirements, behaviors, and concerns of various customer categories.
- Check for missing values in the data and handle them appropriately.
- Convert columns related to dates to DateTime objects for easier manipulation.
- Encode categorical attributes to numeric values for analysis.
- Utilize existing features to create new columns for a clearer understanding of the data.
- Visualize the data using plots to gain insights into customer attributes and distributions.
- Examine the correlation between different features using heatmap diagrams.
- Use histograms and scatter plots to identify relationships between features.
- Analyze the results to extract useful information about customer behavior and preferences.
- Reduce the dimensionality of the data while retaining as much variance as possible.
- Perform PCA to extract three principal components.
- Visualize the outcome in a 3D plot to gain insights into the structure of the data.
- Utilize the ELBOW method to determine the optimal number of clusters.
- Implement clustering algorithms such as K-means and Agglomerative clustering.
- Display the formed clusters using scatter plots to visualize customer segments.