복붙노트

[HADOOP] 왜 이런 예는 NaN의 결과는 무엇입니까?

HADOOP

왜 이런 예는 NaN의 결과는 무엇입니까?

https://spark.apache.org/docs/1.1.0/api/python/pyspark.mllib.stat.Statistics-class.html#corr : 나는 PySpark에서 Statistics.corr에 대한 문서에서 찾고 있어요.

왜 상관 관계는 여기 NaN의 결과는 무엇입니까?

>>> rdd = sc.parallelize([Vectors.dense([1, 0, 0, -2]), Vectors.dense([4, 5, 0, 3]),
...                       Vectors.dense([6, 7, 0,  8]), Vectors.dense([9, 0, 0, 1])])
>>> pearsonCorr = Statistics.corr(rdd)
>>> print str(pearsonCorr).replace('nan', 'NaN')
[[ 1.          0.05564149         NaN  0.40047142]
 [ 0.05564149  1.                 NaN  0.91359586]
 [        NaN         NaN  1.                 NaN]
 [ 0.40047142  0.91359586         NaN  1.        ]]

해결법

  1. ==============================

    1.다음과 같이 꽤 simple.Pearson 상관 계수가 정의되어있다 :

    다음과 같이 꽤 simple.Pearson 상관 계수가 정의되어있다 :

    두 번째 열에 대한 표준 편차 때문에 ([0, 0, 0, 0]) NaN이 0 전체 식 결과와 동일하다.

  2. from https://stackoverflow.com/questions/36728771/why-does-this-example-result-in-nan by cc-by-sa and MIT license