Almost every person in data science or Machine Learning knows that one of the easiest ways to find relevant features for predicted value y is to find the features that are most correlated with y. However few (if not a mathematician) know that there are many types of correlation. In this article, I will shortly tell you about the 3 most popular types of Correlation and how you can easily apply them with Kydavra for feature selection.

Pearson correlation.

Pearson’s correlation coefficient in the covariance of two variables divided by the product of their standard deviations.

Image for post

Figure 1. The formula to calculate the Pearson correlation between 2 features.

It’s valued between -1 and 1, negative values meaning inverse relation and positive, the reverse case. Often we just take the absolute value. So if the absolute value is above 0.5 the series can have (yes can have) a relation. However, we also set a vertical limit, 0.7 or 0.8, because if values are too correlated then possibly one series is derived from another (like age in months from age in years) or simply can drive our model to overfitting.

Using Kydavra PearsonCorrelationSelector.

Firstly you should install kydavra, if you don’t have it installed.

pip install kydavra

Next, we should create an abject and apply it to the Hearth Disease UCI dataset.

from kydavra import PearsonCorrelationSelector

selector = PearsonCorrelationSelector()
selected_cols = selector.select(df, ‘target’)

Applying the default setting of the selector on the Hearth Disease UCI Dataset will give us an empty list. This is because no feature has a correlation with the target feature higher than 0.5. That’s why we highly recommend you play around with parameters of the selector:

  • **min_corr **(float, between 0 and 1, default=0.5) the minimal value of the correlation coefficient to be selected as an important feature.
  • **max_corr **(float, between 0 and 1, default=0.5) the minimal value of the correlation coefficient to be selected as an important feature.
  • **erase_corr **(boolean, default=False) if set to True then the algorithm will erase columns that are correlated between keeping just on, if False then it will keep all columns.

#feature-selection #machine-learning #correlation #sigmoid #artificial-intelligence

Easy to use Correlation Feature Selection with Kydavra
2.10 GEEK