썸네일 20일차 - 지도학습 3 그래디언트 부스팅 회귀 트리 여러 개의 결정 트리를 묶어 강력한 모델을 만드는 앙상블 기법 중 하나. 이름은 회귀지만 회귀와 분류에 모두 사용 가능 장점 지도학습에서 가장 강력함. 가장 널리 사용하는 모델 중의 하나 특성의 스케일 조정이 불필요 -> 정규화 불필요. 단점 매개변수를 잘 조정해야 한다는 것. 긴 훈련 시간. 트리 기반 모델을 사용. -> 희소한 고차원 데이터는 부적합. (특성이 많고 값이 별로 없는 데이터셋) 매개변수 n_estmators: 트리의 개수 지정 너무 클 경우 모델이 복잡해지고 과대적합 가능성 learning_rate: 이전 트리의 오차 보정 강도 조절. 메모리 한도에서 n_estimators 부터 설정. 이후 적절한 learning_rate 설정. 학습률이 크면 트리를 강하게..
썸네일 19일차 - 지도학습 2 나이브 베이즈 분류기 선형 모델과 매우 유사한 분류기. 각 특성을 개별로 취급해 파라미터 학습. 각각의 통계를 다 내어 취합하는 방식. GaussianNB 연속적인 데이터에서도 적용 가능 텍스트 데이터 분류에 주로 사용 BernoulliNB 이진 데이터에 적용 가능 텍스트 데이터 분류에 주로 사용 MultinomialNB 카운트 데이터에 적용 가능. 카툰트 데이터 -> 개수를 나타내는 정수형 특성 (문장에 나타난 단어의 횟수) + 파이썬 Numpy의 axis를 이용한 덧셈 axis를 이용하여 배열의 축을 이용한 덧셈 axis가 증가할 수록 안쪽으로 들어감. 매개변수 매개 변수 조절만으로 정확도를 높일 수 있음. alpha: 모델의 복잡도를 조절 (alpha가 크면 완만해지고 복잡도 낮아짐.) 장, 단점 ..
썸네일 18일차 - 지도학습 1 주피터 한글 폰트 # 사용자 운영체제 확인 import platform platform.system() # 운영체제별 한글 폰트 설정 if platform.system() == 'Darwin': # Mac 환경 폰트 설정 plt.rc('font', family='AppleGothic') elif platform.system() == 'Windows': # Windows 환경 폰트 설정 plt.rc('font', family='Malgun Gothic') plt.rc('axes', unicode_minus=False) # 마이너스 폰트 설정 # 글씨 선명하게 출력하는 설정 %config InlineBackend.figure_format = 'retina' k-최근접 이웃 회귀 회귀: 끊어지지 않는 애매한 ..
썸네일 17일차 - 머신러닝(ML) 머신러닝 (ML) 미래에 관한 예측분석이 목표. ex.) 영화 추천, 음식 주문 지도 학습 이미 알려진 사례를 바탕으로 일반화된 모델을 만들어 의사 결정 프로세스를 자동화 하는 것. 지도 학습 알고리즘 입력과 출력으로부터 학습하는 머신러닝 알고리즘 분석하기도 좋고 성능을 측정하기도 좋다. 비지도 학습 알고리즘 입력을 주어지지만 출력은 제공되지 않음. ex). 블로그 글의 주체 구분, 고객들의 취향이 비슷한 그룹으로 묶기. 지도 학습과 비지도 학습 컴퓨터가 인식할 수 있는 형태로 데이터 준비 열 (속성) -> 특성(Feature) 행 (데이터) -> 샘플(Sample), 데이터 포인트(Data point) 오픈소스 싸이킷런(scikit-learn) https://scikit-learn.org/stable/..
썸네일 10일차 - Matplotlib, Seaborn matplotlib 차트나(chart)나 플롯(plot)로 데이터 시각화 - 라인 플롯(line plot) - 스캐터 플롯(scatter plot) - 컨투어 플롯(contour plot) - 서피스 플롯(surface plot) - 바 차트(bar chart) - 히스토그램(histogram) - 박스 플롯(box plot) import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline 라인 플롯 그래프 그래프 스타일 지정 그래프를 여러 스타일로 지정할 수 있음. 그래프의 색 데이터의 위치를 표시하는 기호 선 스타일 ... 색 색 이름 기호 blue b green g red r cyan c magenta m yellow y bla..
썸네일 9일차 - Pandas 2 데이터 프레임의 데이터 조작 데이터 세기 ( count, value_counts ) count ( ) : 데이터 개수 세기. value_counts ( ) : 각 종류별로 몇 개의 데이터가 있는지 세어주는 것. df.value_counts(subset = None, normalize = False, sort=True, ascending=False, dropna=True) 속성 내용 subset 기준으로 삼을 열 입니다. list형태로도 입력이 가능.. normalize 갯수가 아니라 비율로 출력. sort 빈도 순서로 정렬할지 여부.기본값은 True입니다. ascending 오름차순으로 정렬할지 여부. dropna 결측치를 제외할지 여부. 데이터프레임 정렬 sort_index ( ) 인덱스를 기준으로 레..
썸네일 8일차 - Pandas 1 Pandas 표 형식의 데이터나 다양한 형태의 데이터를 다룸 시리즈(Series) 클래스와 데이터프레임(DataFrame) 클래스를 제공 Series 일련의 객체를 담을 수 있는 1차원 배열 같은 자료구조. 1치원 배열과 달리 값뿐만 아니라 각 값에 연결된 인덱스 값도 동시에 저장. 시리즈 객체는 라벨 값에 의해 인덱싱 가능하므로 인덱스 라벨 값을 키로 갖는 딕셔너리 자료형과 같다고 볼 수 있음.(in, items, key와 value 접근) pandas.Series( data, index, dtype, copy) data series를 구성할 데이터 index index 지정. dtype 각 항목에 적용될 타입. Series.values : Series 값 추출. Series.index : index ..
썸네일 7일차 - Numpy 2 팬시 인덱싱 (Fancy indexing) 정수 배열 인덱스 리스트나 ndarray로 인덱스 집합을 지정하면 해당 위치의 인덱스에 해당하는 ndarray를 반환. 정수나 불린(Boolean) 값을 가지는 다른 Numpy 배열로 배열을 인덱싱할 수 있는 기능을 의미. Boolean 값을 가진 배열을 사용하여 직관적으로 인덱싱 가능 [ ] : 대괄호 사용 → [ [ ] , ] : 대괄호 안에 넣으면 반환 값이 ndarray가 됨. [ , ] : 대괄호 안에 , 사용 [ , ] , [ , ] : (0, 0) (1, 1)의 값이 들어가있는 ndarray를 반환. 슬라이싱을 할 때는 큰 범위로 붙어있는 값만 추출할 수 있지만 팬시 인덱싱은 원하는 요소만 추출할 수 있음. 배열 크기 변환 reshpae(차원) 배열..
썸네일 6일차 - Numpy 1 아나콘다 설치하기 https://www.anaconda.com/ 주피터 노트북 실행하기 셀 사이에 주석 대신 텍스트로 입력 가능. Cell → Cell Type → Markdown NumPy(Numerical Python) 제공 빠르고 효율적인 다차원 배열 객체 ndarray 배열 원소를 다루거나 배열 간의 수학 계산을 수행하는 함수 디스크로부터 배열 기반의 데이터를 읽거나 쓸 수 있는 도구 선형대수 계산, 푸리에 변환, 난수 생성기 파이썬 확장과 C, C++ 코드에서 NumPy 의 자료 구조에 접근할 수 있음 대용량 데이터 배열을 효율적으로 다룰 수 있음. 내부적으로 데이터를 다른 내장 파이썬 객체와 분리된 연속된 메모리 블록에 저장 내장 파이썬의 연속된 자료형들보다 더 적은 메모리 사용 파이썬 반복문..
5일차 - 타자 게임 프로그램 만들기 """ 타자 게임 ex: 문제 출력 함수 count: 맞춘 타자 개수 a_count: 전체 문제 개수 """ import random as rd import time list_animal = ["강아지", "고양이", "토끼", "사바나캣", "너구리", "붉은여우", "사막여우", "북극여우", "자칼", "가로줄무늬자칼", "코요테", "딩고", "서벌", \ "오셀롯", "페럿", "스컹크", "라쿤", "수달", "몽구스", "미어캣", "이집트몽구스", "사향고양이", "코아티", "햄스터", "골든햄스터", "드워프햄스터", \ "저빌", "마멋", "친칠라", "알라꼬리여우원숭이", "프레리도그", "청설모", "다람쥐", "하늘다람쥐", "시궁쥐", "팬더마우스", "캥거루쥐", "카피바라..
썸네일 4일차 - python 함수, 모듈, 파일과 예외 처리, 객체지향 프로그래밍 함수란? 함수는 수학에서의 '함수' 개념과 '함수'의 영어 단어인 function이 가지는 '기능'이라는 의미를 모두 가진다. 내장함수 종류 파이썬 안에서 기본적으로 사용할 수 있는 함수. 사용자 정의 함수 (함수의 정의와 호출) 내가 직접 만드는 함수! """ 함수 생성 및 호출 """ # 함수 정의는 위에다가 하기! def hello(): print("안녕하세요!") # 메인 루틴(실제로 프로그램이 시작할 때 실행되는 부분) # 실제로 시작되는 코드 # 사용자가 만든 hello 함수를 출력 hello() hello() hello() def 로 직접 자신이 함수를 만들 수 있다! 사용자 함수의 정의는 메인 루틴보다 위에다가 작성해야 함! * 메인 루틴: 실제로 프로그램이 시작할 때 실행되는 부분. 함수..
썸네일 3일차 - python 리스트, 튜플, 딕셔너리 리스트란? - 여러 개의 데이터를 하나의 변수에 담을 수 있는 데이터 구조 - [ ] 대괄호 사용 score = [90, 89, 77, 95, 67] fruit = ["apple", "banana", "orange"] """ 리스트 생성 """ # 1) []을 이용하여 리스트 생성 -> 값을 직접 넣어서 생성 list1 = [3, 15, -12.5, "사과", "딸기" ] print(list1) # 2) list() 함수로 리스트 생성 list2 = list(range(1, 21, 2)) print(list2) 리스트는 데이터 형식 상관없이 숫자, 문자 형식의 정보를 한 곳에 저장 가능. """ 리스트에서 요소 추출 """ color = ["빨강", "주황", "노랑", "초록", "파랑", "남색", ..