강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

김동규님의 프로필 이미지
김동규

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

TMDB5000 데이터 세트를 이용한 콘텐츠기반 필터링 구현 실습 - 02

컨텐츠 기반 필터링 실습 마지막 코드 질문

작성

·

416

0

안녕하세요 선생님.  추천시스템 공부하다가 코드에 의문이 생겨서 질문을 남깁니다. ㅎㅎ  보시는 것처럼 similar_indexes에서 reshape(-1)을 하지 않으면 2차원 배열로 만들어지기 때문에 reshape(-1)을 하는 것이잖아요?? 근데 보시는 것처럼 reshape을 하지 않고 "기준 영화 index 제외" 부분에서 불리언 인덱싱을 하는 순간 차원이 reshape(-1)을 하는 것처럼 바뀌더라구요..!! 무슨 이유인지 여쭤봐도 될까요? ㅠㅠ 좋은 강의 감사합니다. 항상

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

boolean indexing도 fancy indexing과 마찬가지로 위치 인덱스값을 리스트로 변환합니다. 단 True인 값만 변환합니다. 아래는 샘플 코드 입니다. [a==1] 을 하게 되면 True인 위치 인덱스 값이 [0, 0], [1, 0], [2,0]으로 나타납니다. 이 위치 인덱스 값을 통해 값을 찾으면 1차원의 값이 됩니다.

import numpy as np

a = np.zeros((3, 3))
a[:,  0] = 1
print('a:',a)

print([a==1])
b=a[a==1]
print('b:',b)

저도 모르고 있었는데, 위에 주신대로 코드를 작성하면 별도로 reshape를 할 필요가 없겠군요.  좋은 질문 감사합니다.

김동규님의 프로필 이미지
김동규

작성한 질문수

질문하기