Как написать этот код в Pyspark? - PullRequest
0 голосов
/ 29 мая 2018

Я использую Pyspark для вычисления PMI (Point Mutual Infomation).И я нашел код Scala в

Вычисление точечной взаимной информации в Spark

Я уже написал версию Python из исходного кода, написанного Delip.

Как перевести код Scala, написанный emeth, в версию Python?

Вот мой код:

counts = RDD["String", int]
twocounts = RDD["String1String2", int]

MI = twocounts.map(lambda x: (x[0][0], (x[0], x[1]))) \
          .join(counts) \
          .map(lambda x: (x[1][0][0][1], x[1]) ) \
          .join(counts) \
          .map(lambda x: (x[1][0][0][0], x[1][0][0][1], x[1][0][1], x[1][1])) \
          .map(lambda x: (x[0], computeMI(x[1], x[2], x[3])))


def computeMI(pab, pa, pb):
    return math.log(pab) - math.log(pa) - math.log(pb)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...