데이터 부트캠프 - Today I Learned

[스파르타 내일배움캠프 / 데이터 분석 트랙] TIL(Today I Learned)_7주차_25.01.09

onion95 2025. 1. 9. 20:36

Today's Goals

1. 다시 학습 주간에 익숙해지기 - 코드카타 SQL & 파이썬

2. 통계학...이걸 내가 또 배울 줄이야

 

 

 

 

 

 

 

 

1. 코드카타

 

파이썬


 

[파이썬에서 경우의 수를 구하는 라이브러리, itertools]

  • 순열부터 조합까지 모두 가능한 함수가 있음
def solution(number):
    from itertools import combinations
    answer = 0
    for i in combinations(number, 3) :
        if sum(i) == 0 :
            answer += 1
    return answer
  • 위는 number라는 집합에서 순서에 상관없이 중복이 없는 조합을 뽑는 코드

https://wikidocs.net/23278

 

4) 경우의 수

## 경우의 수 python에서는 경우의 수를 찾을때 도움이 되는 itertools이 있습닌다. ```{.python} >>> import itertools ``` 경우의…

wikidocs.net

 

 

[최소직사각형 구하기?]

def solution(sizes):
    answer = 0
    long = []
    short = []
    for i in sizes :
        long.append(max(i))
        short.append(min(i))
    answer = max(long) * max(short)
    return answer
  • 명함 지갑에는 명함을 돌려넣어도 되기 때문에, 다양한 명함을 모두 넣기 위해서는 긴변 중에서 가장 긴변에 맞춰서 가로 혹은 세로를, 짧은변 중에서 가장 긴 값에 맞춰서 가로 혹은 세로를 만들어야함
  • 결론적으로 가로세로 값을 둘 중에 긴것과 짧은것으로 다시 분류하여 최소직사각형 크기를 구하는 것이 핵심!

 

 

 

 

2. 통계학

 

기초 강의


 

[회귀(Regression)]

①단순선형회귀

  • 하나의 독립변수(x)와 종속변수(y)간의 관계를 직선으로 모델링(1차함수, 절편과 기울기 존재)

②다중선형회귀

  • 두 개 이상의 독립변수와 하나의 종속변수 간의 관계를 모델링
  • 여러 변수의 영향을 동시에 분석할 수 있지만 다중공선성 문제가 발생할 수 있음
  • 다중공선성은 독립변수들 간에 높은 상관관계가 있어 개별적인 효과를 분리해내기 어려운 것을 의미하며, 변수를 줄이는 해결 방법을 적용해야 함

 

③다항회귀

  • 독립변수와 종속변수 간의 관계가 선형이 아닐 때, 즉, 데이터가 곡선적 경향을 따를 때 사용
  • 고차 다항식의 경우 과적합 위험이 있음

 

④스플라인 회귀

  • 독립변수 구간별로 다른 회귀식을 적용하여 모델링 > 전체적으로는 매끄러운 곡선

 

 

[회귀에서 범주형 변수는]

  • 순서가 있는 범주형 변수는 각각 순서에 따라 임의의 숫자로 변환해도 괜찮음
  • 순서가 없는 경우 원-핫 인코딩(하나만 1이고 나머지는 0인 벡터형 표현)

 

 

[상관계수]

①피어슨 상관계수

  • 두 연속형 변수 간의 선형 관계 정도를 측정하는 지표(-1~1)

 

②비모수 상관계수

  • 데이터가 정규분포를 따르지 않거나 순서형 데이터일 때 사용(분포에 대한 가정이 없음)
  • 대표적으로 스피어만(두 변수의 순위 간의 일관성), 켄달의 타우 상관계수(순위 간의 일치 및 불일치 쌍의 비율 계산)

 

③상호정보 상관계수

  • 두 변수가 범주형 변수이거나 비선형적이고 복잡한 관계를 탐지할 때 사용
  • 두 변수 간 상호 정보 측정 > 정보 의존성을 바탕으로 비선형 관계 탐지 > 서로의 정보에 대한 불확실성을 줄이는 정도를 바탕으로 계산함