boxcox를 변환하는 코드 에
812
投稿した質問数 2
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.
回答 2
1
넵 에러 없이 잘됩니다!! 혹시 기존의 코드가 오류 났던 이유가 값 0이 포함되어있어서 인가요?
0
아니요, scipy 버전 차이가 존재합니다. 기존에는 method 사용법이 없었는데, 좀 더 구분하기 위해서 여러 method를 추가한 것으로 보여집니다. mle 대신 pearson 또는 all 로 변경하면 에러가 발생할 것입니다. 상황에 따라서 변경해주셔야 할 듯 합니다.
0
안녕하세요, 에러 확인 후, 코드를 수정하였습니다. 제보 감사합니다. 아래와 같이 해보시고, 안되면 말씀해주세요.
0
변경된 코드입니다.
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())에러 없이 잘 되는지 확인 부탁드립니다.
작업형3 기출
0
4
1
유형2에서 데이터분할 생략 가능여부
0
5
1
9회 기출 유형3 질문
0
7
1
lgb 기초편
0
5
1
수업자료 문의
0
7
1
괄호 사용
0
7
1
작업형 2 데이터 전처리 질문
0
9
0
11회 기출 유형 작업형1 문제 3-1
0
7
0
7회 3유형 2번문제 질문
0
7
1
예시문제 작업형2 (ver2023) 질문입니다
0
9
1
Data type에 따른 처리
0
5
1
Cursor 실행 문의
1
11
2
데이터 전처리 관련
0
13
2
시험에서 문제 불러오기
0
12
2
2번문제 출력값 질문
0
16
2
pd.get_dummies()가 bool로 반환
0
16
2
대응표본검정 레빈
0
19
3
레몬에이드 데이터 자료에 없습니다
0
428
1
결측치 채우기 부분 관련 질문
0
394
1
데이터셋 압축 문제
1
392
1
주피터 노트북, 비쥬얼 스튜디오 다안되는데 다른 방법이없나요
0
198
1
강의자료
0
320
1
레몬에이드 데이터 자료에 없습니다
0
410
2
선생님 문의드립니다.
1
421
2

