0
$\begingroup$

I am using SelectKbest for my feature selection process. https://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectKBest.html

My data is non normal and actually skewed. I don't transform/scale it either since i am using tree based method (xgboost) binary classifier.

I have 200+ features therefore for better performance i would like to somehow reduce these.

I am using selectKbest(score=f_classif)

From my understanding f_classif interpretes the values of y as class labels and computes, for each feature X[:,i] of X, an F-statistic. The formula used is exactly the one given here: one way ANOVA F-test, with K the number of distinct values of y. I am sure this needs an underlying assumption of normlally dsitrubuted features. I have been reading alternative scoring functions for my classification task, e.g. chi2 as opposed to f_classif.

Since this is non parametric would you say this is more suited for my data?

$\endgroup$
8
  • $\begingroup$ Of possible interest $\endgroup$
    – Dave
    Feb 18, 2022 at 17:00
  • $\begingroup$ This is too vague to understand: SelectKBest is just a mechanical algorithm for selecting items with the highest scores among a list. It tells us almost nothing useful about your "feature selection process." We could be helpful if you would say more about the context, objectives of your analysis, and statistical nature of these features. $\endgroup$
    – whuber
    Feb 18, 2022 at 17:49
  • $\begingroup$ @whuber SelectkBest is a feature selection process scikit-learn.org/stable/modules/generated/… . Will add more $\endgroup$
    – Maths12
    Feb 18, 2022 at 18:16
  • $\begingroup$ I relied on that documentation in my first comment, which therefore still stands: we need far more details to know how to answer your question. $\endgroup$
    – whuber
    Feb 18, 2022 at 18:22
  • $\begingroup$ Hi whuber, i have edited. My question is really just around which scoring method is suitable $\endgroup$
    – Maths12
    Feb 25, 2022 at 10:52

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.