머신러닝/머신러닝 할 때 꼭 짚고 넘어갈 것
Item based collaboration filtering 을 하기 위해, 데이터프레임의 corr() 함수를 이용한 correlation 과, min_periods 파라미터 사용법
Cong_S
2022. 5. 12. 17:24
Item based collaboration filtering 이란?
사용자가 주체가 되지 않고 아이템을 주체로 삼아 이 아이템을 선택한 사용자들에게 비슷한 아이템을 추천해주는 방식의 필터링 방법이다.
pivot_table 함수로 만든 데이터프레임을 이용해 상관관계 분석을 하여
비슷한 유형의 영화끼리 추천할 수 있도록 해보자.
이때 한 아이템의 상관관계를 구하기 위해
corrwith 함수를 사용한다.
사용법은 다음과 같다.
df.corrwith(df['Titanic (1997)'])
# corrwith의 해석 : 파라미터 값에 적은 데이터에 대해 앞에 있는 데이터프레임과의 상관계수를 구하라.
영화 타이타닉과 목록에 있는 영화들의 상관관계를 구했다.
데이터프레임과 파라미터값에 상관관계의 기준이 될 컬럼을 입력하면 된다.
이렇게 구해진 상관관계를 'correlation' 이라 한다.
이번엔 corr 함수의 중요한 파라미터 값이 있다.
min_periods 파라미터이다.
min_periods는 최소 입력값 이상의 수를 가진 것만 가져와라. 라고 해석되며
이 값에 80을 입력하면 값이 80이상인 데이터 행만 가져올 수 있게 된다.
# 전체 영화의 상관관계
# min_periods: 파라미터의 기능 >> NaN이 아닌 숫자로 되어있는 데이터의 최솟값 지정 가능
# 최소 80개 이상의 데이터가 있는 것만 상관계수로 뽑아라.
movie_corr = df.corr(min_periods= 80)