상관관계의 강도
직관적으로는 제공된 플롯을 보고 두 변수가 함께 변하는지 "눈으로" 판단할 수 있어요.
- 데이터셋 A: x와 y가 함께 변하며 강한 관계가 있어 보입니다.
- 데이터셋 B: 대략적인 증가 추세가 있으며, x와 y는 느슨하게만 관련되어 보입니다.
- 데이터셋 C: 무작위 산포처럼 보이며, x와 y가 함께 변하지 않고 관련이 없어 보입니다.



편차는 평균으로부터의 차이였고, 표준편차로 나누어 정규화했음을 기억하세요. 이번 연습에서는 상관계수를 계산해 3개 데이터셋을 비교하고, 변수 x와 y가 가장 강하게 상관된 데이터셋이 무엇인지 판단합니다. 제공된 데이터 테이블 data_sets를 사용하세요. 각 레코드는 'name', 'x', 'y', 'correlation' 키를 가진 딕셔너리입니다.
이 연습은 강의의 일부입니다
Python으로 배우는 선형 모델 입문
연습 안내
x와y의 정규화된 편차 곱의 평균을 사용해correlation()함수 정의를 완성하세요.data_sets를 순회하면서correlation(record['x'], record['y'])로 각 상관계수를 계산해 저장하세요.- 지금까지의 코드(즉, for 반복문의 끝)까지 실행하고 출력 결과를 살펴보세요. 어느 데이터셋이 가장 강한 상관관계를 보이나요?
- 가장 강한 상관관계를 가진 데이터셋의 이름(
data_sets['A'],data_sets['B'], 또는data_sets['C'])을 변수best_data에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Complete the function that will compute correlation.
def correlation(x,y):
x_dev = x - np.____(x)
y_dev = y - np.____(y)
x_norm = x_dev / np.____(x)
y_norm = y_dev / np.____(y)
return np.____(x_norm * y_norm)
# Compute and store the correlation for each data set in the list.
for name, data in data_sets.items():
data['correlation'] = ____(data['x'], data['y'])
print('data set {} has correlation {:.2f}'.format(name, data['correlation']))
# Assign the data set with the best correlation.
best_data = data_sets['____']