본문 바로가기

Python

5 - LASSO Regression & Parameters(라소 회귀분석에 대하여 및 파라미터 선택) using Python 지난번 포스팅까지를 통해서 Ridge Regression 및 Penalty를 통해서 단순 다중 선형회귀분석 뿐만 아니라 이러한 회귀분석이 왜 필요한지에 대해서 살펴보았다 이번 포스팅에서는 Ridge Regression이 아닌 LASSO(Least absolute shrinkage and selection operator) Regression을 살표보고 파라미터 선택방법에 대해서 어떻게 하는지 파이썬을 활용하여 살펴보겠다 LASSO Regression의 경우 Cost Function이 L1 Regularization으로 Penerlty가 절대값으로 되어있는 것을 알 수 있다. 절대값함수는 제곱의 함수와는 다르게 0을 선택값으로 가질 수 있기 때문에(4 - Penalty 포스팅 참조) Cost의 최소화를 위.. 더보기
4 - Penalty(About Overfitting) 지난번 포스팅까지 해서 선형(다중)회귀분석 부터 Ridge Regression까지 회귀분석의 대한 방법과 독립변수들의 계수(Coefficient)를 어떻게 선별할 것이며, 어떻게 구하는지를 Python을 이용해 구하보았다 실례로 많은 데이터를 접하고 분석하면서 많은 고민들을 하는데 그 중 하나가 바로 Overfitting다. 과거의 사건이 미래의 그대로 일어난다는 보장도 없고, 실례로 최근 금융시장을 관찰해 보면 과거에는 관찰할 수 없었던 현상들이 빈번하게 반복되고 있다. 지금도 채권 운용과 관련된 전략들을 구현하면서 저 주제에 대해서 '과적합도(Overfitting)'의 대해서 많은 고민을 한다. 전략을 구현할 때 Sample 기간을 어떻게 설정할 것이며 너무 과거의 결과에만 집중되서 전략을 구현하면 .. 더보기
3 - About Ridge Regression(리지 회귀분석에 대하여) & Optimizing the Parameter(계수 최적화) with Python 저번 포스팅(2 - 선형회귀 분석의 단점과 보완방법)에서는 단순 다중 회귀분석 보다는 Ridge Regression을 사용하는 것이 데이터 분석에 있어 효과적이 라는것에 대하여 언급을 했다(이유: 계수의 표준편차) 이번 포스팅에서는 Ridge Regression에 대해서 살펴보고, Ridge Regression에 대해서 살펴보고, Ridge Regression에 필요한 계수들의 최적화 방법의 대해서도 살펴보겠다 우선 단순 선형회귀분석에서 계수를 최적화하는 방법은 잔차의 제곱식을 가장 작에 만들어 주는 계수를 선택하는 방법이고, 식으로는 다음과 같다. 즉 RSS를 최소화 시켜주는 계수를 선택하는것이 선형회귀 분석의 계수 선택방법이었다. 하지만 이런식으로 로 독립변수의 계수를 선택하게 되면, 데이터의 샘플 .. 더보기
Python패키지 _ 모듈의 위치(__file__) 이번 포스티에서는 패키지의 위치가 어디있는지 파악하는 메소드인 __file__를 소개한다. 나도 코드를 짜면서 해당 모듈이 어떻게 동작하는지 알고 싶을 때, 패키지가 어디에 있는지 파악하기 위해 조금 검색을 해보곤 했는데, 다음과 같은 메소드를 사용하면 편리하게 볼 수 있다. import collections import os import lesson_package #import numpy as np import sys print(sys.path) print(collections.__file__) print(lesson_package.__file__) 더보기
Python기본 _ 사전형 Sorting & defaultdict 이번 포스팅에서는 사전형의 순서 배열 및 defaultdict라는 메소드에 대해 포스팅해본다. 사전형 순서 배열을 위해 for문 및 다양한 방법으로 할 수 있지만 이미 내장형 메소드가 있기에 편리하게 사용할 수 있고, defaultdict의 경우 문자의 갯수나 key가 몇개 있는지 파악하기 위한 유용한 메소드이다. ## 사전형 정렬 ranking = {'A':100, 'B':85, 'C':95} print(sorted(ranking, key=ranking.get, reverse=True)) ## defaultdict s = 'sdklflskadjlxcnklvlkjaldkfjwe' d = {} for c in s: if c not in d: d[c]=0 #만약 아무 문자가 선언되어있지 않으면 초기값으로 0.. 더보기
Python패키지 _ ImportError 이번 포스팅은 심플하게 코드만 소개하고 마치겠다. 단순히 구버젼과 새버젼의 모듈을 불러올떄 사용하는 방식인 것 같다. Python기본_예외처리에서 사용했던 try와 except 구문을 이용해서 모듈을 불러오는 방법이다. try: from lesson_package import utils #구버젼 except ImportError: from lesson_package.tools import utils #새버젼 더보기
Python패키지 _ __init__.py 이번 포스팅에서는 파이썬 패키지에 관한 방법들을 살펴본다. 평상시에 굉장히 궁금했던 부분들이고 어떻게 해야 자기가 만들 함수들을 패키지로 불러와서 사용하는 지에 대한 기초적인 부분부터 차례대로 다뤄볼까 한다. 만약 파이썬의 패키지에 관한 부분들이 이해가 되고, 잘 사용할 수 있다면, 구지 코드를 작성할 때 마다 함수를 복사해서 붙여넣기 하는 식의 귀찮음과 코드가 쓸때없이 길어지는 짓을 하지 않아도 된다. 우선 lesson_package라는 폴더를 만들고 가장 첫번째로 __init__.py 라는 파이썬 파일을 만든다. 그래야 해당 lesson_package가 하나의 모듈로 지정이 되고 utils.py에서 지정된 함수들을 다른 파이썬 파일에서 from 과 import로 불러올 수 있다. 그리고 이런식으로 패.. 더보기
Python기본_예외처리(자기방식으로) 지난번 포스팅에서 예외처리를 하는 방법에 대해서 살펴보았다. 이번 포스팅에서는 독자적으로 예외를 지정해서 만들고, 처리하는 방법의 대해서 포스팅 해보겠다. 자신이 생각하는 에러의 대해서 오류가 발생하는 경우, 그럴때 자기만의 형식으로 표현할 수 있고, 알아보기도 쉬울 것 같다. class UppercaseError(Exception): #Exception이라는 큰 오브젝트를 삽입 pass def check(): words = ['APPLE', 'orange', 'banana'] for word in words: if word.isupper(): raise UppercaseError(word) try: check() except UppercaseError as exc: print('This is my fa.. 더보기