PySparkでの相関行列と可視化(ヒートマップ表)
PySparkのデータ処理一覧 データの2つの系列間の相関関係は統計では一般的な操作になります。今回の記事はPySparkで相関行列行います。PythonのPandasとSpark MLで相関行列を計算してSeabornでヒートマップ表を作成するやり方を比較します。 目次 1.環境とライブラリ(Spark ML) 2.相関行列とは 3.実験のコード 3.1 データセットのロード 3.2 Pandasの相関行列 3.3 ヒートマップ表 3.4 Spark MLの相関行列 3.5ヒートマップ表 4. まとめ 環境 Databricks: Runtime: 5.5 LTS ML (includes Apache Spark 2.4.3, Scala 2.11) 5.5 LTS MLはSpark MLのライブラリがあります。 Spark ML Sparkの統計処理、機械学習を分散処理するライブラリです。spark.mllibとspark.mlの二つのパッケージがあります。SparkのMLlibはMLに移行しつつあります。Spark2.0からはRDDベースのMLlib APIは保守のみになり、今後はDataFrameベースのAPIが標準になるそうです。 ここではPySparkでML APIを使い、相関行列を行います。 2.相関行列とは 相関係数とは、2つのデータの(直線的な)関係性の強さを −1 から +1 の間の値で表した数のこと。相関行列とは、相関係数を並べたものであり、その意味から対称行列になります。 相関係数の計算式 xと yの相関係数 rは次の式で求まる。 ここで、sxy はxとyの共分散 sx は xの標準偏差 sy …