Klasifikace

Big Data Fundamentals with PySpark

Upendra Devisetty

Science Analyst, CyVerse

Klasifikace pomocí PySpark MLlib

  • Klasifikace je algoritmus řízeného strojového učení, který třídí vstupní data do různých kategorií

Big Data Fundamentals with PySpark

Úvod do logistické regrese

  • Logistická regrese předpovídá binární odpověď na základě vybraných proměnných

Big Data Fundamentals with PySpark

Práce s vektory

  • PySpark MLlib obsahuje specifické datové typy Vectors a LabelledPoint

  • Dva typy vektorů

    • Hustý vektor (Dense Vector): ukládá všechny hodnoty jako pole čísel s plovoucí desetinnou čárkou
    • Řídký vektor (Sparse Vector): ukládá pouze nenulové hodnoty a jejich indexy
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 with PySpark

LabeledPoint() v PySpark MLlib

  • LabeledPoint je obálka pro vstupní příznaky a předpovídanou hodnotu

  • U binární klasifikace logistické regrese nabývá label hodnoty 0 (negativní) nebo 1 (pozitivní)

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 with PySpark

HashingTF() v PySpark MLlib

  • Algoritmus HashingTF() slouží k mapování hodnot příznaků na indexy ve vektoru příznaků
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 with PySpark

Logistická regrese pomocí LogisticRegressionWithLBFGS

  • Logistická regrese v PySpark MLlib se provádí pomocí třídy 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 with PySpark

Závěrečný snímek

Big Data Fundamentals with PySpark

Preparing Video For Download...