2022년 5월 21일 토요일

오렌지로 데이터 사이언스 스쿨 따라하기(3) 스케일링(조건수)

  "데이터 사이언스 스쿨" 4-3 스케일링을 오렌지로 따라해봅니다.

1. 오렌지 캔바스를 아래와 같이 구성합니다.


2. File Widget에서 [Browse documentation datasets] 버튼을 눌러 [housing.tab]자료를 불러옵니다.

3. Preprocess Widget에서 Normalize 합니다.



4. Test and Score 와 Test and Score (1) Widget을 선택하여 결과가 같음을 확인합니다.

5. Data Table 과 Data Table (1) Widget을 선택하여 계수가 달라졌음을 확인합니다.

6. Python Script Widget을 선택하여 아래 내용을 복사&붙여넣기 한다음 [RUN]버튼을 선택합니다.

import statsmodels.api as sm
import numpy as np
import Orange.data.pandas_compat as p
df = p.pd.concat(in_data.to_pandas_dfs(), axis=1)

model1 = sm.OLS.from_formula("MEDV ~ CRIM+ZN+INDUS+CHAS+NOX+RM"
+"AGE+DIS+RAD+TAX+PTRATIO+B+LSTAT", data=df)

result1 = model1.fit()
print(result1.summary()) 

statsmodels 패키지로 풀어 summary 리포트를 출력해보는 것입니다.

6. Python Script widget 결과를 확인합니다.

조건수가 1.51e+04로 매우 큼을 확인합니다. 아래 내용은 사이언스 스쿨에서 가져왔습니다.
회귀분석에서 조건수가 커지는 경우는 크게 두 가지가 있다.
  • 변수들의 단위 차이로 인해 숫자의 스케일이 크게 달라지는 경우. 이 경우에는 스케일링(scaling)으로 해결한다.
  • 다중 공선성 즉, 상관관계가 큰 독립 변수들이 있는 경우, 이 경우에는 변수 선택이나 PCA를 사용한 차원 축소 등으로 해결한다.

7. Python Script Widget (1)은 Python Script Widget을 복사&붙여넣기 한것으로 같은 내용입니다. [RUN] 버튼을 선택해 실행 시키고 결과를 확인합니다.


조건수가 9.82로 매우 적어졌슴을 확인합니다.





댓글 없음:

tensorflow gpu 사용하기에서

 tensorflow 설치시 주의해야 한다. # Anything above 2.10 is not supported on the GPU on Windows Native python - m pip install "tensorflow<2.11...