はじめに
この実験では、pandas ライブラリの corr() メソッドを使って DataFrame の列間の相関を計算する方法を学びます。相関は 2 つの変数間の線形関係の尺度であり、1 つの変数の変化が別の変数にどのように影響するかを理解するのに役立ちます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリのインポート
まず、必要なライブラリをインポートする必要があります。この場合、必要なのは pandas ライブラリだけです。
import pandas as pd
DataFrame を作成する
次に、操作対象の DataFrame を作成しましょう。名前、年齢、身長、体重を表す列を持つ簡単な DataFrame を作成します。
chart = {
'Name':['Chetan','yashas','yuvraj'],
'Age': [20, 25, 30],
'Height': [155, 160, 175],
'Weight': [55, 60, 75]
}
df = pd.DataFrame(chart)
相関を計算する
ここで、DataFrame の列間の相関を corr() メソッドを使って計算できます。使用する相関方法を指定するためにオプションの method パラメータを指定できます(pearson、kendall、または spearman)。メソッドが指定されていない場合、デフォルトはピアソン相関になります。
DataFrame の列間のピアソン相関を計算しましょう:
pearson_corr = df.corr(method='pearson')
print("Pearson Correlation:")
print(pearson_corr)
相関を視覚化する
相関行列をヒートマップを使って視覚化できます。seaborn ライブラリはヒートマップを作成する便利な方法を提供しています。
import seaborn as sns
import matplotlib.pyplot as plt
sns.heatmap(pearson_corr, annot=True, cmap='coolwarm')
plt.title("Pearson Correlation Heatmap")
plt.show()
他の方法で相関を計算する
Kendall または Spearman の方法を使っても相関を計算できます。これを行うには、それに応じて method パラメータを指定するだけです。DataFrame の Kendall 相関を計算しましょう:
kendall_corr = df.corr(method='kendall')
print("Kendall Correlation:")
print(kendall_corr)
他の方法で相関ヒートマップを視覚化する
同様に、Kendall と Spearman の相関を視覚化するためにヒートマップを作成できます:
sns.heatmap(kendall_corr, annot=True, cmap='coolwarm')
plt.title("Kendall Correlation Heatmap")
plt.show()
スピアマン相関を用いてプロセスを繰り返す
最後に、スピアマン相関を計算して視覚化しましょう:
spearman_corr = df.corr(method='spearman')
print("Spearman Correlation:")
print(spearman_corr)
sns.heatmap(spearman_corr, annot=True, cmap='coolwarm')
plt.title("Spearman Correlation Heatmap")
plt.show()
まとめ
この実験では、pandas の corr() メソッドを使って DataFrame の列間の相関を計算し、視覚化する方法を学びました。Pearson、Kendall、Spearman などのさまざまな相関方法を検討し、相関行列を視覚化するためにヒートマップを使用しました。相関分析は、変数間の関係を特定するのに役立ち、データ分析、機械学習、金融など、多くの分野で役立ちます。