Me pregunto si alguno de los estimadores que proporciona Sci-kit Learn se ve afectado por el orden de las columnas en el marco de datos con el que se está entrenando. Intenté establecer una línea de base utilizando ExtraTreesRegressor y obtuve 3 puntuaciones diferentes:

  • .531687 para el pedido regular
  • .535309 para el orden inverso
  • .554458 para el pedido regular

Obviamente, ExtraTreesRegressor no es un buen ejemplo aquí, así que probé LinearRegression pero dio .295898 sin importar el orden de las columnas.

Lo que quiero saber es si hay CUALQUIER estimador que se vea afectado por el orden de las columnas y si no lo hay, entonces puede indicarme la dirección de alguna manera, o proporcionar algún código, que pueda usar para asegurarme de que el orden de las columnas <<

1
Ravaal 1 sep. 2020 a las 16:57

1 respuesta

La mejor respuesta

Se espera que cualquier algoritmo que implique cierta aleatoriedad en la selección de características mientras se construye el modelo se vea afectado por su orden; AFAIK, los únicos casos presentes en scikit-learn son los árboles adicionales y el bosque aleatorio (tanto en sus encarnaciones como clasificadores o regresores), que de hecho comparten algunos similitudes.

La prueba irrefutable de tal comportamiento es el argumento max_features; de los documentos de RF (la descripción es idéntica en los árboles adicionales también):

max_features: {“auto”, “sqrt”, “log2”} int o float, default = ”auto”

La cantidad de funciones a considerar al buscar la mejor división

No conozco otros algoritmos que impliquen este tipo de selección de características aleatorias (modelos lineales, árboles de decisión, SVM, Bayes ingenuos, redes neuronales y árboles potenciados por gradientes no lo hacen), pero si vislumbra algo lo suficientemente similar en la documentación, Puede apostar que el algoritmo respectivo también se ve afectado por el orden de las características.

Tenga en cuenta que estas discrepancias leves que no deberían ocurrir en teoría son más bien esperadas en modelos donde la aleatoriedad entra desde demasiados ángulos. Para un caso similar con RF en R (resultados ligeramente diferentes al preguntar por importance=TRUE), verifique mi respuesta en ¿Por qué el parámetro de importancia influye en el rendimiento de Random Forest en R?

2
desertnaut 3 sep. 2020 a las 17:50