J'ai un ensemble de données avec 330 échantillons et 27 fonctionnalités pour chaque échantillon, avec un problème de classe binaire pour la régression logistique.
Selon la «règle si dix», j'ai besoin d'au moins 10 événements pour chaque fonctionnalité à inclure. Cependant, j'ai un ensemble de données déséquilibré, avec 20% de classe positive et 80% de classe négative.
Cela ne me donne que 70 événements, ce qui permet d'inclure environ 7/8 fonctionnalités seulement dans le modèle logistique.
J'aimerais évaluer toutes les fonctionnalités en tant que prédicteurs, je ne veux pas choisir de fonctionnalités à la main.
Alors, qu'est-ce que vous suggérez? Dois-je faire toutes les combinaisons de 7 fonctionnalités possibles? Dois-je évaluer chaque fonctionnalité seule avec un modèle d'association, puis choisir uniquement les meilleures pour un modèle final?
Je suis également curieux de savoir comment gérer les fonctionnalités catégoriques et continues, puis-je les mélanger? Si j'ai un [0-1] catégorique et un [0-100] continu, dois-je normaliser?
Je travaille actuellement avec Python.
Merci beaucoup pour votre aide!
Réponses:
Afin de réduire votre modèle à 7 variables, vous pouvez adopter quelques approches:
Comme l'a commenté @ E_net4, votre question continue est traitée dans un autre article.
la source
Vous prenez trop au sérieux la "règle des 10". C'est une règle empirique très approximative. Il n'est pas destiné à être utilisé comme vous l'utilisez.
On dirait que vous pensez: "Je n'ai que 70 instances positives, donc selon la Règle de 10, je ne suis autorisé à utiliser que 7 fonctionnalités; comment choisir les 7 fonctionnalités à utiliser?"
Ce n'est pas ce que signifie la règle de 10. Ce n'est pas une règle qui spécifie le nombre de fonctionnalités que vous êtes autorisé à utiliser. La règle de 10 est descriptive, non normative, et c'est une directive approximative: si le nombre d'instances est beaucoup moins de 10 fois le nombre de fonctionnalités, vous êtes particulièrement à risque de sur-ajustement, et vous pourriez obtenir de mauvais résultats.
Alors, que devrais-tu faire? Vous devriez quand même faire ce que vous feriez: utiliser la régularisation et utiliser la validation croisée pour sélectionner les hyper-paramètres de régularisation. En outre, il est important d'avoir un ensemble de tests de maintien que vous ne touchez pas jusqu'à ce que vous ayez finalisé tout sur le classificateur, pour éviter le sur-ajustement et les estimations de précision biaisées.
Et si vous pouvez obtenir plus de données, cela aiderait vraiment.
Enfin, puisque vous avez des classes déséquilibrées, vous pourriez envisager de lire sur le déséquilibre de classe et les méthodes pour y faire face.
la source