Clasificación

Fundamentos de big data con PySpark

Upendra Devisetty

Science Analyst, CyVerse

Clasificación con PySpark MLlib

  • La clasificación es un aprendizaje supervisado que asigna los datos a distintas categorías

Fundamentos de big data con PySpark

Introducción a la regresión logística

  • La regresión logística predice una respuesta binaria a partir de variables

Fundamentos de big data con PySpark

Trabajar con vectores

  • PySpark MLlib incluye los tipos de datos Vectors y LabeledPoint

  • Dos tipos de Vectors

    • Dense Vector: guarda todas las entradas en un array de números en coma flotante
    • Sparse Vector: guarda solo los valores no nulos y sus índices
denseVec = Vectors.dense([1.0, 2.0, 3.0])
DenseVector([1.0, 2.0, 3.0])
sparseVec = Vectors.sparse(4, {1: 1.0, 3: 5.5})
SparseVector(4, {1: 1.0, 3: 5.5})
Fundamentos de big data con PySpark

LabeledPoint() en PySpark MLlib

  • LabeledPoint es un contenedor de las features de entrada y la etiqueta

  • En clasificación binaria con regresión logística, la etiqueta es 0 (negativa) o 1 (positiva)

positive = LabeledPoint(1.0, [1.0, 0.0, 3.0])
negative = LabeledPoint(0.0, [2.0, 1.0, 1.0])
print(positive)
print(negative)
LabeledPoint(1.0, [1.0,0.0,3.0])
LabeledPoint(0.0, [2.0,1.0,1.0])
Fundamentos de big data con PySpark

HashingTF() en PySpark MLlib

  • El algoritmo HashingTF() mapea valores de features a índices en el vector de features
from pyspark.mllib.feature import HashingTF
sentence = "hello hello world"
words = sentence.split()
tf = HashingTF(10000) 
tf.transform(words)
SparseVector(10000, {3065: 1.0, 6861: 2.0})
Fundamentos de big data con PySpark

Regresión logística con LogisticRegressionWithLBFGS

  • La regresión logística en PySpark MLlib se hace con la clase LogisticRegressionWithLBFGS
data = [
        LabeledPoint(0.0, [0.0, 1.0]),
        LabeledPoint(1.0, [1.0, 0.0]),
]
RDD = sc.parallelize(data)
lrm = LogisticRegressionWithLBFGS.train(RDD)
lrm.predict([1.0, 0.0])
lrm.predict([0.0, 1.0])
1
0
Fundamentos de big data con PySpark

Diapositiva final

Fundamentos de big data con PySpark

Preparing Video For Download...