programming/python

    [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] Pandas

    25. Pandas 25.1 실습 예제 - Pandas 기초 Series - 1차원 배열 DataFrame - 2차원 배열, 표 형태 import numpy as np import pandas as pd Series 자료형 생성 obj = pd.Series([3, 6, 9, 12]) print(obj) print(type(obj)) # 자료형 print(len(obj)) # 개수 기본적으로 숫자 인덱스로 처리됨 obj = pd.Series([3, 6, 9, 12]) obj 숫자 대신 문자열 인덱스 사용 가능 # obj = pd.Series([3, 6, 9, 12]), index = ["a", "b", "c", "d"]) obj = pd.Series([3, 6, 9, 12]), index = ["1번", ..

    [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 ..

    [Python] 웹프로그래밍(상품관리)

    22. 웹프로그래밍(상품관리) 22.1 프로젝트 만들기New - Other - PyDev - PyDev Django Project프로젝트 이름 : pyweb_shop pyweb_shop 디렉토리가 2개 만들어진다.d:\work\pyweb_shopd:\work\pyweb_shop\pyweb_shop - python 웹프로젝트의 설정 디렉토리 22.2 기본 테이블 생성d:cd work/pyweb_shoppython manage.py migrate 22.3 슈퍼 유저 생성cd work/pyweb_shop python manage.py createsuperuser 아이디와 비밀번호만 입력, 이메일은 생략 가능비밀번호는 8자 이상이어야 하고 영문자+숫자로 구성해야 함username : adminpassword :..

    [Python] 웹프로그래밍(게시판)

    21. 웹 프로그래밍(게시판) 21.1 주요 기능 21.1.1 글목록, 글쓰기, 수정, 삭제 21.1.2 검색 기능 21.1.3 페이지 나누기 21.1.4 댓글 쓰기, 댓글 목록 21.1.5 파일 업로드, 다운로드 21.2 Django와 mysql 연동 21.2.1 mysql 스크립트 21.2.2 mysql 패키지 설치 pip install pymysql 21.2.3 settings.py 설정 import pymysql pymysql.install_as_MySQLdb() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'pyweb', # DB명 'USER': 'java', # 데이터베이스 계정 'PASSWORD': 'jav..

    [Python] 웹 프로그래밍(회원가입과 로그인)

    20. 웹프로그래밍(회원가입과 로그인) 20.1 프로젝트 만들기New - Other - PyDev - PyDev Django Project프로젝트 이름 : pyweb_member pyweb_member 디렉토리가 2개 만들어진다.d:\work\pyweb_memberd:\work\pyweb_member\pyweb_member - python 웹프로젝트의 설정 디렉토리 20.2 기본 테이블 생성d:cd work/pyweb_memberpython manage.py migrate 20.3 슈퍼 유저 생성cd work/pyweb_member python manage.py createsuperuser 아이디와 비밀번호만 입력, 이메일은 생략 가능비밀번호는 8자 이상이어야 하고 영문자+숫자로 구성해야 함usernam..