inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기

Chapter 1-2. 주택 가격 예측 문제

boxcox를 변환하는 코드 에

813

박호영

작성한 질문수 2

0

from scipy.special import boxcox1p
from scipy.stats import boxcox_normmax

# 왜도가 1보다 높은 수치형 변수를 출력하는 코드
high_skew = skewness_features[skewness_features > 1]
high_skew_index = high_skew.index

print("The data before Box-Cox Transformation: \n", all_df[high_skew_index].head())

# boxcox를 변환하는 코드
for num_var in high_skew_index:
    all_df[num_var] = boxcox1p(all_df[num_var], boxcox_normmax(all_df[num_var] + 1))
    
print("The data after Box-Cox Transformation: \n", all_df[high_skew_index].head())

위와 같이 코드를 실행시켰을 때 다음과 같은 에러가 발생하였습니다.

 

 

<ipython-input-72-7b0af0216c6e> in <cell line: 11>()
     10 # boxcox를 변환하는 코드
     11 for num_var in high_skew_index:
---> 12     all_df[num_var] = boxcox1p(all_df[num_var], boxcox_normmax(all_df[num_var] + 1))
     13 
     14 print("The data after Box-Cox Transformation: \n", all_df[high_skew_index].head())

BracketError: The algorithm terminated without finding a valid bracket. Consider trying different initial points.


 

python 머신러닝 pandas numpy kaggle scikit-learn matplotlib

답변 2

1

박호영

넵 에러 없이 잘됩니다!! 혹시 기존의 코드가 오류 났던 이유가 값 0이 포함되어있어서 인가요?

0

Evan

아니요, scipy 버전 차이가 존재합니다. 기존에는 method 사용법이 없었는데, 좀 더 구분하기 위해서 여러 method를 추가한 것으로 보여집니다. mle 대신 pearson 또는 all 로 변경하면 에러가 발생할 것입니다. 상황에 따라서 변경해주셔야 할 듯 합니다.

1

박호영

감사합니다!!

0

Evan

안녕하세요, 에러 확인 후, 코드를 수정하였습니다. 제보 감사합니다. 아래와 같이 해보시고, 안되면 말씀해주세요.

0

Evan

  • 변경된 코드입니다.

from scipy.stats import boxcox_normmax, boxcox

# 왜도가 1보다 높은 수치형 변수를 출력하는 코드
high_skew = skewness_features[skewness_features > 1]
high_skew_index = high_skew.index

print("The data before Box-Cox Transformation: \n", all_df[high_skew_index].head())
# print(all_df[high_skew_index].info())

# boxcox를 변환하는 코드
for num_var in high_skew_index:
  
  lmbda = boxcox_normmax(all_df[num_var] + 1, method='mle')
  
  # Apply the Box-Cox transformation
  all_df[num_var] = boxcox(all_df[num_var] + 1, lmbda=lmbda)
  

print("The data after Box-Cox Transformation: \n", all_df[high_skew_index].head())
  • 에러 없이 잘 되는지 확인 부탁드립니다.

     

수업노트가 어디에 있나요?

0

12

1

[긴급요청] 28강 동영상 전체에 오디오가 잘못들어가있습니다.

0

11

1

실제 계좌 잔고 및 테스트중에

1

27

4

Replit UI 변경으로 인한 실습 진행 문의

1

13

1

29강 5:00

0

19

2

설치 및 설정 가이드 노션 자료는 없나요 ?

0

17

2

실기시험 제출관련

0

143

2

6.20 작업형 2 과적합

0

153

3

install까지 설치 하였는데 start 가안됩니다.

1

26

1

8분54초 테이블 내용 문의

0

21

1

코딩팡 장업형2 베이스 라인 인코딩 종류 질문

0

47

2

multi_tool_agent.py 에서 arxiv tool 에러

0

18

1

로지스틱회귀, 회귀

0

47

2

가상 환경과 차이 도커 질문

0

24

1

자료 다운로드 위치 확인 부탁드립니다.

0

15

1

회귀 문제를 풀때 질문입니다.

0

54

1

불균형 처리 후 성능이 더 낮아졌다면,

0

61

2

레몬에이드 데이터 자료에 없습니다

0

428

1

결측치 채우기 부분 관련 질문

0

394

1

데이터셋 압축 문제

1

392

1

주피터 노트북, 비쥬얼 스튜디오 다안되는데 다른 방법이없나요

0

198

1

강의자료

0

320

1

레몬에이드 데이터 자료에 없습니다

0

412

2

선생님 문의드립니다.

1

421

2