Menu
CoddyTech

相関

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 30/64。

目標とともに動く特徴は、モデルが目標を予測するのに役立ちます。相関係数 r は、2つの列がどの程度直線に沿って変化するかを -1 から 1 の範囲で示します:

rの値が示された6つの小さな散布図:-0.9と-0.5は下降し、0.0は形のない雲状で、0.5と0.9は上昇し、1.0は完全な右上がりの直線

ある店舗の広告と売上の6週間分: np.corrcoefは2×2の表を返し、各配列同士の相関が並び、rは[0, 1]にあります。列の.corrを使うと直接取得できます:

ads = np.array([100, 200, 150, 300, 250, 50])
sales = np.array([430, 520, 560, 760, 610, 410])
print(np.round(np.corrcoef(ads, sales), 2))
shop = pd.DataFrame({"ads": ads, "sales": sales})
print(np.round(shop["ads"].corr(shop["sales"]), 2))

これは次のように表示されます:

[[1.   0.94]
 [0.94 1.  ]]
0.94

0.94の値から、広告が多い週ほど明らかに売上が多かったことがわかります。

challenge icon

チャレンジ

中級

あるジムでは、3か月間にわたり20人の会員を記録し、そのデータをgym.csvに保存しました。列はvisits、classes、minutes_per_visit、age、weight_change_kgです。プログラムは2つの列名を読み取ります。

  1. 以下のように、2つの列名と、それらのrを小数点以下2桁に丸めて出力します。
  2. rが0.3より大きい場合はDirection: positive、-0.3より小さい場合はnegative、それ以外の場合はnoneを出力します。

水泳クラブのlapsとminutesの場合:

laps and minutes: r = 0.95
Direction: positive

自分で試してみよう

import numpy as np
import pandas as pd

gym = pd.read_csv("gym.csv")
first = input()
second = input()

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ