Articles of apache spark ml

Los árboles potenciados con gradiente de Spark ML no utilizan todos los nodos

Estoy usando Spark ML GBTClassifier en pyspark para entrenar un modelo de clasificación binaria en un dataframe con ~ 400k filas y ~ 9k columnas en un clúster de AWS EMR. Estoy comparando esto con mi solución actual, que ejecuta XGBoost en un enorme EC2 que puede guardar todo el dataframe en la memoria. Mi […]

Apache Spark lanza NullPointerException cuando encuentra una característica faltante

Tengo un problema extraño con PySpark al indexar la columna de cadenas en las características. Aquí está mi archivo tmp.csv: x0,x1,x2,x3 asd2s,1e1e,1.1,0 asd2s,1e1e,0.1,0 ,1e3e,1.2,0 bd34t,1e1e,5.1,1 asd2s,1e3e,0.2,0 bd34t,1e2e,4.3,1 donde tengo un valor faltante para ‘x0’. Al principio, estoy leyendo las características del archivo csv en DataFrame usando pyspark_csv: https://github.com/seahboonsiew/pyspark-csv y luego indexando x0 con StringIndexer: import […]

Pyspark: obtenga todos los parámetros de los modelos creados con ParamGridBuilder

Estoy usando PySpark 2.0 para una competencia de Kaggle. Me gustaría saber el comportamiento de un modelo ( RandomForest ) dependiendo de diferentes parámetros. ParamGridBuilder() permite especificar diferentes valores para un solo parámetro y luego realizar (supongo) un producto cartesiano de todo el conjunto de parámetros. Suponiendo que mi DataFrame ya está definido: rdc = […]

¿Cómo combinar n-grams en un vocabulario en Spark?

Preguntándose si hay una función Spark incorporada para combinar las funciones 1, 2, n-gramo en un solo vocabulario. La configuración de n=2 en NGram seguida de la invocación de los resultados de CountVectorizer en un diccionario que contiene solo 2 gramos. Lo que realmente quiero es combinar todos los frecuentes 1 gramos, 2 gramos, etc. […]

¿Cómo pasar params a un método ML Pipeline.fit?

Estoy tratando de construir un mecanismo de agrupamiento usando Google Dataproc + Spark Google Bigquery Crea un trabajo usando Spark ML KMeans + pipeline Como sigue: Crear una tabla de características basada en el nivel de usuario en bigquery Ejemplo: cómo se ve la tabla de características userid |x1 |x2 |x3 |x4 |x5 |x6 |x7 […]

Elemento de acceso de un vector en un dataframe de chispa (vector de probabilidad de regresión logística)

Entrené un modelo de LogisticRegression en PySpark (paquete ML) y el resultado de la predicción es un DataSrame de PySpark ( cv_predictions ) (ver [1]). La columna de probability (ver [2]) es un tipo de vector (ver [3]). [1] type(cv_predictions_prod) pyspark.sql.dataframe.DataFrame [2] cv_predictions_prod.select(‘probability’).show(10, False) +—————————————-+ |probability | +—————————————-+ |[0.31559134817066054,0.6844086518293395]| |[0.8937864350711228,0.10621356492887715]| |[0.8615878905395029,0.1384121094604972] | |[0.9594427633777901,0.04055723662220989]| |[0.5391547673698157,0.46084523263018434]| |[0.2820729747752462,0.7179270252247538] […]

¿Cómo puedo declarar una columna como una característica categórica en un DataFrame para usar en ml?

¿Cómo puedo declarar que una columna dada en mi DataFrame contiene información categórica? Tengo un Spark SQL DataFrame que DataFrame de una base de datos. Muchas de las columnas en este DataFrame tienen información categórica, pero están codificadas como Longs (para privacidad). Quiero poder decirle a spark-ml que aunque esta columna es numérica, la información […]

¿Cómo convertir ArrayType a DenseVector en PySpark DataFrame?

Recibo el siguiente error al intentar construir un Pipeline ML: pyspark.sql.utils.IllegalArgumentException: ‘requirement failed: Column features must be of type org.apache.spark.ml.linalg.VectorUDT@3bfc3ba7 but was actually ArrayType(DoubleType,true).’ La columna Mis features contiene una matriz de valores de punto flotante. Parece que necesito convertirlos en algún tipo de vector (no es escaso, ¿es un DenseVector?). ¿Hay alguna forma de […]

Crear un vector de características mediante progtwigción en Spark ML / pyspark

Me pregunto si hay una forma concisa de ejecutar ML (por ejemplo, KMeans) en un DataFrame en pyspark si tengo las características en varias columnas numéricas. Es decir, como en el conjunto de datos Iris : (a1=5.1, a2=3.5, a3=1.4, a4=0.2, id=u’id_1′, label=u’Iris-setosa’, binomial_label=1) Me gustaría usar KMeans sin recrear el DataSet con el vector de […]

Crear puntos etiquetados desde Spark DataFrame en Python

¿Qué función .map() en python utilizo para crear un conjunto de labeledPoints desde un labeledPoints de labeledPoints de chispa? ¿Cuál es la notación si la etiqueta / resultado no es la primera columna pero puedo referirme a su nombre de columna, ‘estado’? Creo el dataframe de Python con esta función .map (): def parsePoint(line): listmp […]