본문 바로가기
728x90
반응형
SMALL

분류 전체보기1513

04. 군집 분석 (Clustering) 군집 분석 (Clustering) 주어진 데이터 집합을 유사한 데이터들의 그룹으로 나누는 것을 군집화 (clustering)라 하고 이렇게 나누어진 유사한 데이터의 그룹을 군집 (cluster)이라 한다. 군집화는 예측 문제와 달리 특정한 독립변수와 종속변수의 구분도 없고 학습을 위한 목푯값도 필요로 하지 않는 비지도학습의 일종이다. 군집화 방법 군집화 방법에는 목적과 방법에 따라 다양한 모형이 존재한다. K-평균 군집화 (K-means Clustering) 디비스캔 군집화 (DBSCAN Clustering) 유사도 전파 군집화 (Affinity Propagation Clustering) 계층적 군집화 (Hierarchical Clustering) 스펙트럴 군집화 (Spectral Clustering) .. 2021. 12. 8.
03. 회귀분석 (Regression Analysis) 회귀분석 (Regression Analysis) 회귀분석 : 연속적 데이터? 오차 함수 = 비용 함수 데이터를 잘 적합시킴 == 오차 함수를 최소로 만드는 그래프를 구하는 것 ==> 최소제곱추정(직선형이 거의 회귀모델로 설명) 회귀모형 종류 단순회귀 : 독립변수 1개, 선형 or 비선형 다중회귀 : 독립변수 2개이상, 선형 or 비선형 회귀모델 평가방법 결정계수(R-squared) : 모형이 얼마나 데이터를 잘 설명 ; 70~90%이상이어야 F값과 P-value : 신뢰도를 통계적으로 평가 F값이 클수록 p-value 0.05 or 0.01보다 작아야 안정 T값 : 계수 신뢰도를 평가하는 수치 2021. 12. 8.
02. 의사결정 트리 (Decision Tree) 의사결정 트리 (Decision Tree) 의사결정 트리 (decision tree)는 여러 가지 규칙을 순차적으로 적용하면서 독립 변수 공간을 분할하는 분류 모형이다. 분류 (classification)와 회귀 분석 (regression)에 모두 사용될 수 있기 때문에 CART (Classification And Regression Tree)라고도 한다. 의사결정 트리를 이용한 분류학습 여러가지 독립 변수 중 하나의 독립 변수를 선택하고 그 독립 변수에 대한 기준값 (threshold)을 정한다. 이를 분류 규칙이라고 한다. 최적의 분류 규칙을 찾는 방법은 이후에 자세히 설명한다. 전체 학습 데이터 집합(부모 노드)을 해당 독립 변수의 값이 기준값보다 작은 데이터 그룹(자식 노드 1)과 해당 독립 변수.. 2021. 12. 8.
09. 모듈 (Module) 모듈 (Module) 코드를 담고 있는 파일 함수, 클래스, 전역 변수 등과 함께 다른 object들의 그룹을 정의 폴더로 묶여 있다면 패키지를 구현해서 사용 연관성이 있는 모듈만을 로드하여 프로그램 시작 시간 단축 손쉽게 사용 가능, 별도의 네임스페이스를 가져 독립적인 작업 가능 module 만들기 def add(a, b): return a + b def sub(a, b): return a - b module 불러오기 from mod import * # mod.py에 있는 모든 함수 불러오기 * add(3, 4) --> 7 # mod.py 파일과 main.py 파일은 반드시 같은 폴더에 있어야 한다. if __name__ == "__main__" 조건문을 넣어주고 그 아래는 직접 실행시켰을 때만 실행되.. 2021. 12. 8.
08. 클래스 상속 (Class inheritance) 클래스 상속 (Class inheritance) class에서 상속이란, 물려주는 class (parent Class, super class)의 내용 (속성과 method)을 물려받는 class (child class, sub class)가 가지게 되는 것입니다. 기존의 클래스에서 확장하여 새로운 클래스 정의 super() : 선조의 변수나 메소드를 가리킬 때 오버라이딩 : 메소드 재정의, 메소드의 기능을 변경, 선조클래스에 존재해야함, 메소드명 같아야함, 파라미터 개수 같아야함, 리턴형이 같지 않아도 됨 다형성 : 오버라이딩, 오버로딩, 프로그램 안의 관계 서브 클래싱 : 선조 속성 구조 그대로, 코드 재사용 서브타이핑 : 상속과 선조 클래스가 수행할 명령을 선언, 클래스 타입으로 대체 추상 클래스 :.. 2021. 12. 8.
07. 클래스 (Class) Class 클래스는 사용자 정의 데이터형, 개념과 속성과 기능 모델링 (변수 + 메소드; 동작을 수행하는 함수) class는 객체의 구조와 행동을 정의한다. 클래스 멤버들은 퍼블릭임 동적 바인딩 Self 키워드로 선언 객체의 class는 초기화를 통해 제어한다. class는 복잡한 문제를 다루기 쉽도록 만든다. 객체 고유 속성, class에서 정의한 행위 수행, 메모리 경제적 사용, class 타입, 객체가 메모리에 할당되어 사용될 때를 인스턴스라 함 (속성 + 행위) 인스턴스 class 객체, 컴퓨터 프로세스, 물리적인 장소 위치시킨다. `self.속성'에 할당 했던 변수들은 모두 인스턴스 속성에 해당한다. class 선언 자료형 선언 —> 객체 생성 —> 멤버 호출 클래스 내장함수 생성자 : 초기값 .. 2021. 12. 8.
06. 함수 (Function) 함수 (Function) 여러 개의 실행문을 하나로 묶은 모듈이다. 프로그래밍 분야의 함수도 수학 분야의 함수와 같다. 입력값을 넣었을 때 원하는 출력값을 만들어주는 함수를 python 문법을 이용해 구현한다. 프로그래밍 분야에서도 함수 내부의 구현은 블랙박스와 같아서 함수를 사용하는 입장에서는 이를 알 필요가 없다. 단순히 함수에 입력값을 넣으면 우리가 원하는 출력값을 얻을 수 있다는 점을 아는 것이 중요하다. def 함수명(매개변수): ... 매개변수와 인수 매개변수 (parameter)는 함수에 입력으로 전달된 값을 받는 변수를 의미하고 인수 (arguments)는 함수를 호출할 때 전달하는 입력값을 의미한다. def add(a, b): # a, b는 매개변수 return a + b print(ad.. 2021. 12. 8.
05. 제어문 (If, For, While) 관계연산자 (Relational Operators) == : 두 피연산자가 같으면 True != : 두 피연산자가 같지않으면 True : 왼쪽 연산자가 크면 True = : 왼쪽 연산자가 크거나 같으면 True 조건문 (If) 알고리즘 기반, 실행 순서 제어 if True: print("실행") --> 실행 if False: print("실행 불가") --> 실행 불가 a = 10 if a > 10: print("10보다 크면 실행") elif a 10과 같거나 작고, 5과 같거나 크면 실행 반복문 While : 제어변수 없으면 무한루프 For : 횟수만큼만 반복 Range : 정.. 2021. 12. 8.
04. 표준입출력 input 함수 python에서는 표준 입력을 하는 함수로 input 함수를 지원한다. input() : 표준 입력장치(키보드)로 부터 문자열을 입력 받는다. input('문자열') : 문자열을 출력하고 표준 입력장치(키보드)로 부터 문자열을 입력 받는다. 입력된 값은 문자열이다. 사용자가 EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return)을 입력하면 EOFError를 발생시킨다. print('이름을 입력하세요', end="") name = input(); print("이름 : {0}, type : {1}".format(name,type(name))) name = input('이름을 입력하세요 '); 정수 입력 기본적으로 input함수는 문자열로 입력된다. 그래서 입력받은 값을 .. 2021. 12. 8.
03. 자료형을 이용한 자료관리 Sequence python에는 세 가지 시퀀스 (sequence) 자료형이 있다. 각각의 요소들이 연속적으로 이어진 string, tuple, list의 문자열 수치 관리하는 기본 자료형 문자열 (string) : 'Hello'. 문자열(string)은 문자(character)들의 sequence 리스트 (list) : 자료 수정이 자유로움. [1, 4, 5] 튜플 (tuple) : 숫자와 문자를 함께 관리. ('Good', 10, 49.2) 슬라이싱 (Slicing) sequence의 일부(subsequence)를 취하는 것을 슬라이싱이라 한다. s[start:end] 구문을 사용한다. start와 end는 얻고자 하는 subsequence의 인덱스다. a = [0,1,2,3,4,5,6,7,8,9] .. 2021. 12. 8.
728x90
반응형
LIST