Classificatie

Big Data Fundamentals met PySpark

Upendra Devisetty

Science Analyst, CyVerse

Classificatie met PySpark MLlib

  • Classificatie is een supervised ML-algoritme dat invoer in categorieën indeelt

Big Data Fundamentals met PySpark

Introductie tot logistische regressie

  • Logistische regressie voorspelt een binaire uitkomst op basis van variabelen

Big Data Fundamentals met PySpark

Werken met vectors

  • PySpark MLlib bevat specifieke datatypen Vectors en LabeledPoint

  • Twee typen vectors

    • Dense vector: slaat alle waarden op in een array van floats
    • Sparse vector: slaat alleen niet-nulwaarden en hun indexen op
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})
Big Data Fundamentals met PySpark

LabeledPoint() in PySpark MLlib

  • Een LabeledPoint is een wrapper voor features en label

  • Bij binaire classificatie (logistische regressie) is het label 0 (negatief) of 1 (positief)

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])
Big Data Fundamentals met PySpark

HashingTF() in PySpark MLlib

  • Het algoritme HashingTF() zet featurewaarden om naar indexen in de featurevector
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})
Big Data Fundamentals met PySpark

Logistische regressie met LogisticRegressionWithLBFGS

  • Logistische regressie met PySpark MLlib gebruik je via de klasse 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
Big Data Fundamentals met PySpark

Laatste slide

Big Data Fundamentals met PySpark

Preparing Video For Download...