전체 글 186

다중회귀모형의 선택

모형선정척도 = 적합결핍 + 복잡도 적합결핍과 복잡도는 상충관계이기 때문에 적당히 조율해야함 * SSE : 회귀분석을 통해 설명할 수 없는 변동량 (SSE가 클수록 적합결핍이라는 뜻) * p : 독립변수의 수 = 추정해야하는 모수 (p 가 클수록 모델 복잡도가 커진다는 뜻) * n : 사용한 data 의 수 * MSE : 오차 / MSE all 은 고정 모형선정척도 과소적합 모델 : SSE 크고 p 작음 -> AIC가 큼 -> 안좋은 모형 과적합 모델 : SSE 작고 P 큼 -> AIC가 큼 -> 안좋은 모형

School/머신러닝 2022.03.29

다중공선성

정의 : 설명변수간 상관계수가 높은 경우 회귀계수의 값이 매우 커짐 특정 설명변수가 다른 변수들과의 선형결합으로 표현되는 경우 다중공선성 여부 확인 : 나머지 설명변수들로 새로운 회귀식을 추정한 후 분산팽창계수(VIF) 확인 R^2 : 결정계수 (결정계수에 대한 포스팅 링크 주석 달기) VIF > 10 이면 의심의 여지 많음 = 다중공선성이 존재 다중공선성 해결책 : 독립변수간 상관관계는 어느정도 존재하는것이 일반적. 다중공선성을 최소화해야함 1) 신중한 변수 선택 2) OLS(최소제곱법) 추정치에 대한 대안 = 회귀분석 방식 바꾸기 ex. 능동회귀 (ridge regression) - 회귀계수가 너무 커지지 않게 제약

School/머신러닝 2022.03.29

numpy 무지렁이

numpy : 배열 바꾸기에 사용 import numpy as np np.random.seed(42) : 난수의 시드(seed)를 설정해주는 과정 컴퓨터에서 발생한 랜덤값은 무작위 수가 아님. 특정 시작 숫자값(=시드)을 정해주면 정해진 알고리즘에 따라 난수처럼 보이는 수열을 생성하는 것. np.linspace(start, stop, num) : 숫자로 된 시퀀스를 생성하는 함수 시작점과 종점 간격 내에서 내 일정 간격을 둔 브레이트포인트 개수만큼의 시퀀스를 반환 간격은 설정한 브레이크포인트 개수에 따라 달라짐 print(np.linspace(0, 10, 3)) 시작 = 0, 끝 = 10, 원하는 브레이크포인트 개수 = 3 이므로 >> [ 0. 5. 10.] random 모듈 3가지 비교 np.rando..

python 2022.03.27

vscode 로 anaconda 이용하기

https://mylogcenter.tistory.com/7 [Python 환경설정] VS code 설치 및 Anaconda와 연동하기 #서론 저번에는 아나콘다를 설치하고 환경을 구성했죠. 이번에는 실제로 Python으로 코딩할 때 사용하는 에디터를 설치하고 아나콘다와 연동해서 사용하는 방법을 알아보겠습니다. *아나콘다(Anac mylogcenter.tistory.com ctrl + shift + p 누르고 python: select interpreter 어떤 가상환경에서 작업할지 클릭하면 완료

python 2022.03.24

문자열 포매팅에 format 함수 이용하기

https://blockdmask.tistory.com/424 [python] 파이썬 format 함수 (문자열 포매팅 방법 1) 안녕하세요. BlockDMask 입니다. 파이썬에서 문자열 포매팅 방법은 %와 서식기호를 이용한 방법, format 함수를 이용한 방법, f-string을 이용한 방법 이렇게 세가지가 있다고 볼 수 있습니다. 오늘은 blockdmask.tistory.com 이분 포스팅 참고해서 공부했다 ! 문자열 포매팅 : 문자열을 예쁘게 만들어주는 방법 format 함수 사용이유 : 문자열 중간중간 특정 변수의 값을 넣어주기 위해 사용하는 것 사용방법 : '문자열{인덱스번호}{인덱스번호} ...'.format(인덱스 위치에 넣고싶은값, ...) ======> '{0}, {1}'.format..

python 2022.03.21

Anaconda

https://yganalyst.github.io/pythonic/anaconda_env_1/ [Anaconda] 아나콘다 가상환경의 개념 및 활용방법 가상환경이 도대체 뭘까? 그리고 어떻게 쓰는 걸까? yganalyst.github.io 아나콘다 ? 가상환경을 구축할 수 있음 독립적인 작업환경에서 패키지 및 버전관리를 하기 위해 가상환경이 필요 base 는 절대 건들지 말고 가상환경을 꼭 activate 할것 가상환경 만들기 conda create -n 가상환경이름 python=버전 ex) conda create -n labeling python=3.7 (오늘 dongguk 가상환경을 만들었으니까 그거를 씁시다) 가상환경 확인하기 conda info --envs 가상환경 활성화하기 conda activ..

python 2022.03.19

집합

순서가 없고(인덱스를 통한 접근이 불가능하고), 집합 안에서는 중복된 값은 허용되지 않음 {} 을 통해 생성할 수 있고, set() 를 통해 생성할 수 있다 원소를 넣지 않고 {} 를 선언하면 딕셔너리로 인식 1)교집합 set1&set2 or set1.intersection(set2) 2)합집합 set1|set2 or set1.union(set2) 3)차집합 set1-set2 or set1.difference(set2) 집합과 관련된 함수들 1)값을 추가 - 1개의 값을 추가할때 : set.add(추가할값) - 여러개의 값을 추가할때 : set.update(추가할 값들) 2)값을 제거 - set.remove(제거할값)

python 2022.03.16

클래스와 생성자

클래스와 생성자 클래스 : 붕어빵 틀 객체 : 붕어빵 객체는 고유의 기능과 성격을 가지고 있고, 서로 다른 객체들에게 영향을 미치지 않음 클래스 선언 class 클래스이름: 클래스내용(코드) 객체 만드는 방법 객체명 = 클래스이름() 인스턴스 : 어떤 클래스의 객체인지 관계에 초점을 맞춘 용어 (객체)는 (클래스)의 인스턴스이다 클래스 내부에 존재하는 함수 : 메소드(Method) 객체 변수에 값을 저장하는 방법 : 생성자 : __init__ 객체가 생성될 때 자동으로 호출되는 메소드 class Calculator: def __init__(self, first, second): self.first = first self.second = second def add(self): # add 메소드 result..

python 2022.02.26

리스트, 튜플, 딕셔너리

리스트 : 값을 생성, 삭제, 수정이 가능 대괄호와 콤마를 사용해서 선언 eunjeong = [23, 'KR'] 리스트이름[인덱스] 형식을 통해 값을 꺼낼 수 있음 print(eunjeong[0]) 결과값 : 23 리스트 슬라이싱 list[a : b]​ -> 인덱스 이용 리스트에 삽입 * append() : 리스트 마지막에 값을 삽입 리스트명.append(추가할 값) *insert() : 리스트 특정 인덱스에 값을 삽입 리스트명.insert(인덱스, 추가할 값) 리스트 내에 있는 값을 제거 * del() : 특정 인덱스의 값을 제거할 때 사용 del 리스트명[지우고싶은 값의 인덱스] * remove() : 특정 값을 제거할 떄 사용 리스트명.remove(지우고싶은 값) 튜플 : 값을 바꿀 수 없음 eun..

python 2022.02.25