시작하기무료로 시작하기

상관관계의 강도

직관적으로는 제공된 플롯을 보고 두 변수가 함께 변하는지 "눈으로" 판단할 수 있어요.

  • 데이터셋 A: x와 y가 함께 변하며 강한 관계가 있어 보입니다.
  • 데이터셋 B: 대략적인 증가 추세가 있으며, x와 y는 느슨하게만 관련되어 보입니다.
  • 데이터셋 C: 무작위 산포처럼 보이며, x와 y가 함께 변하지 않고 관련이 없어 보입니다.

Data Set A

Data Set B

Data Set C

편차는 평균으로부터의 차이였고, 표준편차로 나누어 정규화했음을 기억하세요. 이번 연습에서는 상관계수를 계산해 3개 데이터셋을 비교하고, 변수 x와 y가 가장 강하게 상관된 데이터셋이 무엇인지 판단합니다. 제공된 데이터 테이블 data_sets를 사용하세요. 각 레코드는 'name', 'x', 'y', 'correlation' 키를 가진 딕셔너리입니다.

이 연습은 강의의 일부입니다

Python으로 배우는 선형 모델 입문

강의 보기

연습 안내

  • xy의 정규화된 편차 곱의 평균을 사용해 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['____']
코드 편집 및 실행