inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

캐글 Advanced 머신러닝 실전 박치기

application 데이터 세트 기본 분석과 시각화 - 02

Squeeze=False를 사용하는 이유

1090

combi_jihoon

작성한 질문수 4

1

안녕하세요, 혹시 subplots 생성시 squeeze=False를 사용하는 이유가 무엇인지 알 수 있을까요? 감사합니다.

Squeeze 머신러닝 배워볼래요? kaggle

답변 1

1

권 철민

안녕하십니까,

다른 이유가 있어서는 아니고 plt.subplots() 호출하면 Axis 객체가 반환되는데 이 Axis 객체가 2개의 원소를 가지는 Array 형태로 반환됩니다. 그런데 이게 nrows가 1, ncols가 2 로 해서 subplots()을 호출하다보니가 2개의 원소를 (1, 2)와 같은 2차원 형태로 반환할지, (2, )와 같은 1차원 형태로 반환할지를 squeeze가 결정합니다. squeeze가 True(Default 입니다) 이며 2차원(1, 2)를 압축(squeeze)해서 (2,)로 합니다.

그런데 이렇게 하다보면 

sns.violinplot(x='TARGET', y=column, data=df, ax=axs[0][0] )

에서 axs[0][0] 형태로(즉 2차원 형태로) 지정할 수 없습니다. axs[0] 형태로 지정해야 합니다.  그래서 예제 코드의 통일성을 위해  2차원 형태로 axs를 반환할 수 있도록 squeeze를 False로 설정한 것입니다.

그리고 squeeze = True로 설정하고 axs[0][0] 을 axs[0], axs[0][1]을 axs[1]로 설정만 violinplot 그릴때 문제가 발생해서(원인을 잘 모르겠습니다) 2차원 형태로 axs를 지정하기 위해서 squeeze=False로 정한 것입니다.

감사합니다.


0

combi_jihoon

넵 알겠습니다. 감사합니다!!

sql사용

0

44

2

좋은 강의 감사드립니다.

0

73

2

8분 40초경 LGBClassifier에서 설정해주신 파라미터들 관련 질문

0

246

2

사용 가능한 RAM을 모두 사용한 후 세션이 다운되었습니다

0

597

1

안녕하세요 선생님

0

228

1

권철민교수님 진심으로 감사드립니다.

0

319

1

안녕하세요 선생님

0

351

1

# credit_card_balance 데이터셋 피쳐엔지니어링

0

267

1

초거대 데이터셋을 Submission하려면?

0

190

1

Library 관련 질문

0

350

3

최적화 함수 에러

0

587

4

LightGBM Iteration관련

0

422

2

안녕하세요 교수님 vm 관련해서 질문이 있습니다.

0

203

1

코드를 실행했는데 오류가 발생합니다

0

1981

2

bayes_opt 회귀 모델에 적용하려면..

0

267

1

타겟값의 로그변환에 대해서

0

779

1

아나콘다 환경설정

0

459

1

깃허브 주소 문의드립니다.

0

358

1

손실함수에 대한 질문

0

342

1

card_bal 데이터셋 시각화 관련 질문입니다

0

230

1

LGBM null값 처리에 관해 질문있습니다

0

536

1

컬럼 관련 질문

0

279

1

히스토그램 x 값

0

363

1

n_iter 횟수 넘음 질문

0

485

2