Классификация

Основы Big Data с PySpark

Upendra Devisetty

Science Analyst, CyVerse

Классификация с помощью PySpark MLlib

  • Классификация — это алгоритм обучения с учителем, который распределяет входные данные по категориям

Основы Big Data с PySpark

Введение в логистическую регрессию

  • Логистическая регрессия предсказывает бинарный отклик на основе заданных переменных

Основы Big Data с PySpark

Работа с векторами

  • PySpark MLlib содержит специальные типы данных: Vectors и LabelledPoint

  • Два типа векторов

    • Dense Vector: хранит все элементы в массиве чисел с плавающей точкой
    • Sparse Vector: хранит только ненулевые значения и их индексы
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 с PySpark

LabeledPoint() в PySpark MLlib

  • LabeledPoint — это обёртка для входных признаков и предсказываемого значения

  • При бинарной классификации в логистической регрессии метка равна 0 (отрицательный) или 1 (положительный)

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

HashingTF() в PySpark MLlib

  • Алгоритм HashingTF() используется для отображения значений признаков на индексы вектора признаков
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 с PySpark

Логистическая регрессия с LogisticRegressionWithLBFGS

  • Логистическая регрессия в PySpark MLlib реализуется с помощью класса 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 с PySpark

Заключительный слайд

Основы Big Data с PySpark

Preparing Video For Download...