1 votos

SKLearn: SelectKBest ignora características aparentemente relevantes

Intento predecir el tiempo de compromiso de un artículo a partir del texto del mismo. Estoy extrayendo un montón de características como el número de palabras del artículo, el número de caracteres del artículo, el número de párrafos del artículo, etc.

Luego hago TFIDF para obtener una tonelada más de características.

Finalmente, hago esto:

selector = SelectKBest(k=1000)
X = pd.DataFrame(selector.fit_transform(X, y))

Efectivamente, quiero obtener las 1.000 características más relevantes. Sin embargo, cuando lo inspecciono con:

X.head()

Parece que todas las características del TFIDF; es decir, implica que la longitud del artículo en palabras o caracteres no es una característica del top 1.000.

Esto parece muy equivocado.

¿Podría alguien decirme qué estoy haciendo mal?

Merci !

1voto

kathystehl Puntos 124

Se trata de predecir el tiempo de compromiso (=regresión) de un artículo.

Ahora quiere utilizar la función "selectKBest()". Como vemos en el documentación la función SelectKBest(score_func=<function f_classif>, k=10) requiere dos parámetros de entrada.

Dado que sólo ha especificado un parámetro de entrada, el otro está por definición establecido por defecto, como también se indica en la documentación:

Por defecto es f_classif (ver abajo "Ver también"). La función por defecto sólo funciona con tareas de clasificación.

Ahí tenemos la cuestión. El equivalente a la función de puntuación por defecto en caso de regresión se llama "f_regression".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X