python

python

    [Python] Clustering, KNN

    33. Clustering, KNN 33.1 분류의 2가지 종류 33.1.1 Classification 33.1.2 Clustering 33.2 군집분석(Clustering)의 원리 33.2.1 거리가 가까운 (유사도가 높은) 개체들을 서로 묶어 하나의 그룹으로 정리 33.2.2 거리(유사도)의 계산방법 유클리드 거리(Euclidean distance)가 주로 사용됨 맨해튼 거리(Manhattan distance) 33.2.3 군집화 방법 33.2.3.1 계층적 군집화 방법 Hierarchical method 33.2.3.2 비계층적 군집화 방법 K-means clustering(비지도학습, Unsupervised Learning) 33.3 K-means 군집화의 실행단계 33.3.1 나누고자 하는 클러..

    [Python] SVM(Support Vector Machines)

    32. SVM(Support Vector Machines) 32.1 개요 32.1.1 예측 기법 Boser, Guyon 및 Vapnik에 의해 1992년 제안된 이후, 1990년대 후반부터 현재까지 학계와 업계(주로 미국 및 유럽 선진국)에서 활발하게 활용되고 있는 예측 기법 32.1.2 기계학습의 분야 기계학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도학습 모델 32.1.3 용도 주로 분류와 회귀 분석을 위해 사용됨 32.1.4 알고리즘 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때 새로운 데이터가 어느 카테고리에 속할지 판단하는 기준으로 가장 큰 폭을 가진 경계를 찾는 알고리즘 직선 B1과 B2 모두 두 범주를 잘 분류하고 있음 B2보다는 B1이 두 범주를 여유있게 분류하고..

    [Python] 의사결정나무

    31. 의사결정나무(Decision Tree) 31.1 의사결정나무 모형 31.1.1 일련의 독립변수들을 활용하여 분류를 하거나 예측을 수행하는 기법 31.1.2 최종 결과물이 "일련의 규칙들"로 표현됨 31.1.3 Decision Trees 또는 Trees라고 불림 31.2 의사결정나무의 2가지 기본 아이디어 31.2.1 반복적 분할(Recursive partitioning) 31.2.1.1 레코드들을 두 부분으로 반복해서 잘라 세분된 영역 내의 동질성이 최대가 되도록 함 31.2.1.2 계속 잘라나가다 보면 모든 학습용 데이터를 100% 정확하게 분류해 낼 수 있을 만큼 세분화 해 나갈 수 있음 31.2.2 분류나무의 가지치기(Pruning the tree) 31.2.2.1 앞서 설명한 반복적 분할을..

    [Python] 인공신경망

    30. 인공신경망 30.1 인공신경망의 개요 30.1.1 개요 30.1.1.1 인공지능의 한 분야 30.1.1.2 인간 두뇌의 생물학적 작동 형태를 모방하여 컴퓨터로 하여금 지적인 능력을 갖추게 하는 방법론 30.1.1.3 공학 부문에서 시작되어 재무 관리 등에 도입되기 시작 30.1.2 선형분류와 비선형분류 2) 추정 : 회귀식, 회귀계수 3) 검정 : 독립변수의 영향력, 모형의 적합성(R2) 등 3) 인공신경망의 구조 4) 학습결과의 예 30.2 기본 개념 30.2.1 처리요소(PE) 30.2.1.1 각자의 인자(neuron)를 의미 30.2.1.2 노드(node) 또는 유니트(unit)라고 함 30.2.2 층(layer) 30.2.2.1 보통 세 개의 층(three-layered) 30.2.2.2 ..

    [Python] 회귀분석

    29. 회귀분석 29.1 회귀분석(Regression)이란? 29.1.1 독립변수(X)와 종속변수(Y)의 관계식을 구하는 기법 독립변수가 한단위 증가할 때 종속변수가 얼마나 영향을 받는지 분석하는 방법 29.1.2 추정: 회귀식, 회귀계수 29.1.3 검정: 독립변수의 영향력, 모형의 적합성(R2) 등 29.2 회귀분석의 종류 29.2.1 단순회귀분석: 독립변수가 1개인 회귀모형 (예) 기업의 광고집행액(X)을 이용하여 그 기업의 매출액(Y)을 예측하는 모형 29.2.2 중회귀분석: 독립변수가 2개 이상인 회귀모형 (예) 어린이의 연령(X1)과 하루 평균 학습시간(X2)을 이용하여 그 어린이의 성적(Y)을 예측하는 모형 기법 대상변수A 대상변수B 적용 예 카이제곱검정 이산형 이산형 성별과 결혼유무 사이에..

    [Python] 기술통계와 모델링

    28. 기술통계와 모델링 28.1 데이터마이닝(Data Mining) 대용량의 데이터로부터 유용한 정보를 캐내는(mining) 작업 대용량 데이터에 존재하는 데이터 간의 관계, 패턴, 규칙 등을 찾아내고 모형화해서 기업의 경쟁력 확보를 위한 의사결정을 돕는 일련의 과정 28.1.1 CRISP-DM(CRoss-Industry Standard Processing for Data Mining) 데이터마이닝을 위한 업계 표준 프로세스 28.1.2 인공지능 / 데이터마이닝의 다양한 기법들 28.1.2.1 분류 모형(Classification Models) 어떤 기준(정답)에 의해 분석 대상을 2개 혹은 3개 이상의 집단으로 분류하는 예측 모형(부도예측, 기상예측, 채권등급예측 등) 다중판별분석(MDA, Multi..

    [Python] 웹 스크레이핑

    27. 웹 스크레이핑 27.1 웹 스크래핑의 개념 27.1.1 웹 스크레이핑(web scraping) 웹 사이트 상에서 원하는 부분에 위치한 정보를 컴퓨터로 하여금 자동으로 추출하여 수집하도록 하는 기술 27.1.2 웹 크롤링(web crawling) 자동화 봇(bot)인 웹 크롤러(web crawler)가 정해진 규칙에 따라 복수 개의 웹 페이지를 브라우징하는 작업 27.2 웹 스크래핑을 위한 라이브러리 27.2.1 BeautifulSoup 27.2.2 scrapy # 이미지 다운로드 방법1 import urllib.request # daum 사이트의 로고에서 마우스 우클릭 - 이미지 주소 복사 url = "https://t1.daumcdn.net/daumtop_chanel/op/201703150645..

    [Python] Matplotlib

    26. Matplotlib 26.1 실습 예제 - 기본 사용법 # 매직 명령어 # 그래프를 조작할 수 있다. # 그래프 제목 오른쪽의 stop interaction 버튼을 누르기 전까지 그래프의 수정이 가능함 # %matplotlib nbagg # 생성된 이후에는 조작할 수 없는 옵션 %matplotlib inline import matplotlib import matplotlib.pyplot as plt import pandas as pd import numpy as np nums = np.random.randn(10) print(nums) print(nums.cumsum()) # 누적 합 # randn(n): 정규분포 난수 n개 생성 # Series: 1차원 배열, DataFrame: 2차원 배열 s..

    [Python] NumPy

    24. NumPy 24.1 numpy 24.1.1 벡터 및 행렬 연산에 특화된 라이브러리 24.1.2 array 단위로 데이터를 관리함, 행렬(matrix)와 비슷함 24.1.3 pandas와 함께 데이터분석에 많이 사용됨 24.2 실습 예제 # NumPy 모듈을 import import numpy as np # 리스트 data1 = [1, 2, 3, 4, 5] # 리스트를 NumPy 배열로 변환 arr1 = np.array(data1) print(arr1) print(type(arr1)) # 자료형 print(arr1.shape) # 배열의 차원(배열의 크기) # 2차원 배열(리스트) data2 = [ [1, 2, 3], [4, 5, 6] ] # 2차원 리스트를 NumPy의 2차원 행렬로 변환 arr2..

    [Python] 데이터 분석 라이브러리의 개요

    23. 데이터 분석 라이브러리의 개요 23.1 Python의 주요 데이터 분석 라이브러리 23.1.1 넘파이(NumPy) Python 데이터 분석의 기본적인 기능들을 제공 특히 벡터 및 행렬 연산과 관련된 편리한 기능들을 제공 23.1.2 판다스(Pandas) Series, DataFrame 등의 자료 구조를 활용하여 데이터 분석에 있어 우수한 성능을 발휘함 대량의 데이터를 더욱더 빠른 속도로 처리할 수 있음 23.1.3 맷플롯립(Matplotlib) 데이터 분석 결과에 대한 시각화를 빠르고 직관적으로 수행 23.2 실습예제 # %: 매직 명령어 # 그래프 출력 과정을 볼 수 있도록 설정 %matplotlib inline import numpy as np import pandas as pd import ..