Estou trabalhando com muitos algoritmos: RandomForest, DecisionTrees, NaiveBayes, SVM (kernel = linear e rbf), KNN, LDA e XGBoost. Todos eles foram bem rápidos, exceto o SVM. Foi quando soube que ele precisa de redimensionamento de recursos para funcionar mais rapidamente. Então comecei a me perguntar se eu deveria fazer o mesmo com os outros algoritmos.
17
Respostas:
Em geral, algoritmos que exploram distâncias ou similaridades (por exemplo, na forma de produto escalar) entre amostras de dados, como k-NN e SVM, são sensíveis a transformações de recursos.
Classificadores baseados em modelo gráfico, como Fisher LDA ou Naive Bayes, bem como árvores de decisão e métodos de conjunto baseado em árvore (RF, XGB) são invariantes ao dimensionamento de recursos, mas ainda assim pode ser uma boa ideia redimensionar / padronizar seus dados .
fonte
Aqui está uma lista que encontrei em http://www.dataschool.io/comparing-supervised-learning-algorithms/ indicando qual classificador precisa de dimensionamento de recursos :
Tabela completa:
No cluster k-means, você também precisa normalizar sua entrada .
Além de considerar se o classificador explora distâncias ou semelhanças como Yell Bond mencionou, a Descentralização Estocástica de Gradiente também é sensível ao dimensionamento de recursos (uma vez que a taxa de aprendizado na equação de atualização da Descentração Estocástica de Gradiente é a mesma para todos os parâmetros {1}):
Referências:
fonte
log transformation / Box-Cox
e depois tambémnormalise the resultant data to get limits between 0 and 1
? Então, eu vou estar normalizando os valores do log. Então calcule o SVM nos dados contínuos e categóricos (0-1) juntos? Felicidades por qualquer ajuda que você possa fornecer.E essa discussão para o caso de regressão linear diz o que você deve cuidar em outros casos: existe invariância ou não? Geralmente, métodos que dependem de medidas de distância entre os preditores não apresentam invariância , portanto a padronização é importante. Outro exemplo será o agrupamento.
fonte