Entrevista de Trabajo Para Científico de Datos: Preguntas Y Respuestas En Una Entrevista De Microsoft

Terence Shin
Apr 19, 2020

Contents Outline

Entrevista de Trabajo Para Científico de Datos: Preguntas Y Respuestas En Una Entrevista De Microsoft

Apr 19, 2020 9 minutes read

Un recorrido por algunas preguntas en una entrevista de Microsoft para un cargo de científico de datos.




Antecedentes
Hace unos tres años que he estado interesado en la ciencia de datos. En mi segundo año de universidad, mi amigo me apoyó mucho en mi aspiración de entrar a estudiar ésta materia, a pesar de tener un historial no-técnico.

Me apoyó tanto, que me envió una lista de preguntas para una entrevista de Microsoft que le hicieron para un puesto en data science. Recuerdo que cuando miré inicialmente las preguntas, y sentí que estaba leyendo otro idioma, parecían jeroglíficos.

Ahora unos cuantos años después, siento que entiendo mejor los fundamentos de la ciencia de datos, ¡así que decidí intentar responderlas! Hay 18 preguntas en total, pero sólo cubriré las primeras 9 preguntas en este artículo.

Preguntas de la entrevista



Preguntas de la entrevista de Microsoft

P: ¿Puede explicar los Fundamentos Naive Bayes? ¿Cómo establecería usted el umbral o threshold?
R: Naive Bayes es un modelo de clasificación basado en el Teorema Bayesiano. Su mayor suposición (y es el por qué se llama 'Ingenuo - Naive') es que asume que las características son condicionalmente independientes dada la clase, lo que típicamente no es el caso. (¡Gracias AlexMurphy por la aclaración!)

Para establecer el umbral, puedes usar la validación cruzada para determinar la precisión de un modelo basado en un número de umbrales. Sin embargo, dependiendo del escenario, puede que quieras tomar en consideración los falsos negativos y los falsos positivos. Por ejemplo, si se tratara de clasificar los tumores cancerígenos, lo ideal sería asegurarse de que no haya resultados falsos negativos (el modelo dice que no hay un tumor canceroso cuando lo hay).

P: ¿Puede explicar el SVM?
R: SVM significa Support Vector Machine (máquina vectorial de apoyo) y es un modelo de aprendizaje de máquina supervisada que se utiliza comúnmente como clasificador binario no probabilístico [1], pero que también puede utilizarse para la regresión.

Centrándonos en el caso de uso más sencillo, clasificando una de dos categorías, los SVM se encuentran un hiperplano o un límite entre las dos clases de datos que maximiza el margen entre las dos clases (véase más abajo).

Este hiperplano se utiliza luego para decidir si los nuevos puntos de datos corresponden a una categoría o a la otra.



Sin embargo, el hiperplano nunca es tan obvio y lineal como la imagen de arriba. A veces, el hiperplano puede ser difícil de determinar y más bien no lineal.

Es entonces cuando entran en juego temas más complicados como las funciones kernel (kernel functions), la regularización, la gamma y el margen.

Puedes aprender más acerca de los SVMs aquí y de los kernels aquí.

P: ¿Cómo se detecta si una observación es un atípico (outlier)?
R: Hay dos métodos comunes que se usan para determinar si una observación es un outlier:

Z-score/standard deviations: si sabemos que el 99,7% de los datos de un conjunto de datos se encuentran dentro de tres desviaciones estándar, entonces podemos calcular el tamaño de una desviación estándar, multiplicarla por 3, e identificar los puntos de datos que están fuera de este rango. Del mismo modo, podemos calcular el valor z de un punto dado, y si es igual a +/- 3, entonces es un valor atípico.

Nota: hay algunas contingencias que deben considerarse al utilizar este método; los datos deben estar distribuidos normalmente, esto no es aplicable para pequeños conjuntos de datos, y la presencia de demasiados valores atípicos puede dañar un z-score.



Rango Intercuartil (IQR): El IQR, es el concepto utilizado para construir boxplots, y también puede utilizarse para identificar los valores atípicos. El IQR es igual a la diferencia entre el 3er cuartil y el 1er cuartil. Se puede identificar si un punto es un atípico si es menor que Q1-1.5*IRQ o mayor que Q3 + 1.5*IQR. Esto viene a ser aproximadamente 2.698 desviaciones estándar.



Foto de Michael Galarnyk

Otros métodos incluyen la agrupación de DBScan, bosques de aislamiento y bosques robustos de corte aleatorio.

P: ¿Cuál es el bias-variance tradeoff?
R: Es el sesgo que representa la precisión de un modelo. Un modelo con un alto sesgo tiende a ser simplificado en exceso y resulta en un ajuste insuficiente. La varianza representa la sensibilidad del modelo a los datos y al ruido. Un modelo con alta varianza resulta en sobreajuste.


Foto de Seema Singh


Por lo tanto, la compensación entre sesgo y varianza es una propiedad de los modelos de aprendizaje automático en los que una menor varianza da lugar a un mayor sesgo y viceversa. En general, se puede encontrar un equilibrio óptimo de los dos en el que se minimiza el error.




P: Preguntas estadísticas básicas como la varianza, la desviación estándar, etc...
R: Es probable que siempre se incluyan estas preguntas dentro de una entrevista. Entonces, buenas respuestas podrían ser: tanto la varianza como la desviación estándar miden la extensión de un conjunto de datos en relación con su media. La diferencia es que la desviación estándar es la raíz cuadrada de la varianza.

Si quieres aprender más sobre estadísticas básicas, mira mi cheatsheet de estadística aquí.

P: Hábleme sobre cómo seleccionar aleatoriamente una muestra de una población de usuarios de productos.
R: Se puede utilizar una técnica llamada muestreo aleatorio simple. El muestreo aleatorio simple es una técnica imparcial que toma al azar un subconjunto de individuos, cada uno con una probabilidad igual de ser elegido, de un conjunto de datos más grande. Normalmente se realiza sin reemplazo.

En el caso de usar una librería como pandas, se puede utilizar el .sample() para realizar un muestreo aleatorio simple.

P: Describa cómo funciona el aumento de gradiente.
R: El aumento de gradiente es un método de conjunto (ensemble), similar al AdaBoost, que esencialmente construye y mejora de forma iterativa los árboles construidos anteriormente utilizando gradientes en la función de pérdida. Las predicciones del modelo final son la suma ponderada de las predicciones de todos los modelos anteriores. La forma en que se mejora a sí mismo modelo tras modelo es un poco complicada, por lo que he incluido algunos enlaces a continuación.

Comprensión del Gradiend Boosting Machines
Explicación del aumento del gradiente

P: ¿Qué es la norma L1 y L2? ¿Cuál es la diferencia entre ellas?
R: La norma L1 y L2 son dos técnicas de regularización diferentes. La regularización es el proceso de agregar información adicional para prevenir el overfitting.

Un modelo de regresión que implementa la norma L1 se llama Regresión de Lasso y un modelo que implementa la norma L2 se llama Regresión de Ridge. La diferencia entre ambos es que la regresión de Ridge toma el cuadrado de los pesos como término de penalización para la función de pérdida, mientras que la regresión de Lasso toma el valor absoluto de los pesos.

Más detalles sobre las diferencias se pueden leer aquí.
Lea más sobre la norma L1 y L2 aquí.

P: ¿Cuál es el teorema del límite central (CLT)? ¿Cómo determinar si la distribución es normal?
R:  "El teorema del límite central establece que la distribución de la media de la muestra se aproxima a una distribución normal a medida que el tamaño de la muestra aumenta sin importar la forma de la distribución de la población". [2]



Teorema del Límite Central explicado visualmente


Hay tres formas generales de determinar si una distribución es normal. La primera forma es comprobar visualmente con un histograma. Una forma más precisa de comprobarlo es calculando la asimetría de la distribución.

La tercera forma es realizar pruebas formales para comprobar la normalidad. Algunas pruebas comunes incluyen la prueba de Kolmogorov-Smirnov (K-S) y la prueba de Shapiro-Wilk (S-W). Esencialmente, estas pruebas comparan un conjunto de datos con una distribución normal con la misma media y desviación estándar de su muestra.

P: ¿Qué algoritmo se puede utilizar para resumir el Twitter feed?
R: Para esta pregunta, no estaba seguro de la respuesta, así que me puse en contacto con mi amigo Richie, un científico de datos de Bell Canada!

Hay algunas maneras de resumir los textos, pero primero, entender la pregunta es importante. "Resumir" podría referirse a sentimientos o contenidos, y el nivel y la sofisticación del resumen podría diferir. Yo personalmente aclararía con el entrevistador lo que están buscando exactamente, pero eso no significa que no se puedan hacer suposiciones (que es algo que quieren ver de todos modos).

Suponiendo que el entrevistador esté buscando algunos ejemplos de los tweets representativos más interesantes, por ejemplo, se puede emplear TF-IDF (frecuencia de los documentos con términos inversos).

Por ejemplo, todo el mundo habla de la situación actual entre el Irán y los Estados Unidos, por lo que se puede imaginar que palabras como "guerra", "misil", "triunfo", etc. aparecen con frecuencia. El TF-IDF tiene como objetivo dar más peso (también conocido como importancia) a esas palabras más frecuentes y disminuye el impacto de palabras como "el", "a", "es" de los tweets.

Si ya tienes las habilidades para responder estas preguntas dificiles, quizás es hora de encontrar un trabajo en data science, o cambiar tu trabajo actual por uno más retador! Tenemos para ti esta recomendación: un sitio para
encontrar trabajo como data scientist!

Gracias por leer!
Si te gusta mi trabajo y quieres apoyarme...
  1. La MEJOR manera de apoyarme es siguiéndome en Medium aquí.
  2. Sé uno de los PRIMEROS en seguirme en Twitter aquí. ¡Publicaré muchas actualizaciones y cosas interesantes aquí!

Referencias
[1] Support-vector machine, Wikipedia
[2] Central Limit Theorem, Definition and Examples in Easy Steps, Statistics How To
[3] Aqui podrás
encontrar ofertas de trabajo en data science y poner en práctica estas habilidades de entrevista.
Join our private community in Discord

Keep up to date by participating in our global community of data scientists and AI enthusiasts. We discuss the latest developments in data science competitions, new techniques for solving complex challenges, AI and machine learning models, and much more!