처음부터 차근차근 파이썬 자세히보기

전체보기 29

2. 지도 학습 알고리즘-데이터 셋 다루기

최종 수정 일자: 2020-06-13 12:34 해당 카테고리에 작성되는 글은 Introduction to Machine Learning with Python(파이썬 라이브러리를 활용한 머신 러닝)을 기반으로 작성되었습니다. 데이터 셋 다루기 앞으로 다룰 알고리즘을 설명하기 위해서 다양한 테스트 셋을 사용할 것입니다. 일부 데이터 셋은 크기가 작으며 각 알고리즘의 특정 부분을 잘 강조할 수 있도록 디자인된, 만들어진 데이터 셋일 것이며, 실제로 사용되는 크기가 큰 데이터 셋들도 있습니다. 데이터 셋이 어떠한 구조로 되어 있으며 어떻게 읽고 학습을 시킬 것인지를 배워보도록 하겠습니다. 데이터 셋은 특성(feature)과 결과값(target, label)로 구성되어 있습니다. 단순하게 특성은 독립변수를, 결..

1. 지도 학습 모델링의 기본

최종 수정 일자: 2020-12-29 10:53 해당 카테고리에 작성되는 글은 Introduction to Machine Learning with Python(파이썬 라이브러리를 활용한 머신 러닝)을 기반으로 작성되었습니다. 분류(classification)와 회귀(regression) 지도 학습 문제에는 두 가지 유형이 있습니다. 바로 분류(classification)와 회귀(regression)입니다. 분류 문제의 경우 이진 분류(binary classification)와 다중 분류(multiclass classification)로 구분되며 분류되는 클래스의 수에 따라서 결정됩니다. 즉, 이진 분류는 데이터들이 분류되는 클래스가 두 개이며 일반적으로 합/부합(Yes or No, positive or ..

Python-머신 러닝 시작하기

해당 카테고리에 작성되는 글은 Introduction to Machine Learning with Python(파이썬 라이브러리를 활용한 머신 러닝)을 기반으로 작성되었습니다. 머신 러닝은 자료(data)에서 지식(knowledge)을 추출하는 것을 다룹니다. 머신 러닝은 통계학, 인공지능, 컴퓨터 과학이 교차하는 연구 분야이며 예측 분석학(predictive analytics) 또는 통계적 학습(statistical learning)이라고도 불립니다. 어떤 영화를 볼지, 어떤 음식을 주문할지, 또 어떤 물건을 사야할 지 추천해주는 것 등 많은 현대의 웹사이트와 기기는 그 핵심에 머신 러닝 알고리즘을 가지고 있습니다. 이러한 상업적 적용 이외에, 머신 러닝은 데이터 중심(data-driven) 연구에도 ..

Python-추상 데이터 타입/선형 자료 구조(1. 스택)-수정중

스택(Stack) 배열의 끝에서만 데이터를 접근할 수 있는 선형 자료 구조 1. 배열 인덱스 접근이 제한된다. 2. 후입선출(LIFO, Last In First Out)의 특징을 갖는다. push, pop, peek, empty, size의 메서드를 갖는다. 리스트를 이용한 스택 클래스 구현 class Stack(object): def __init__(self): self.items = [] def isEmpty(self): return not bool(self.items) def push(self, value): self.items.append(value) def pop(self): value = self.items.pop() if value is not None: return value else: p..

Python-추상적 자료형(ADT)과 자료 구조(Data Structure)

추상적 자료형 Python-기본 과정에서 파이썬에서 지원하는 내장 데이터 타입(data type, 자료형)에 대해서 다뤘습니다. 자료형이란 여러 종류의 데이터를 식별하는 분류로 생각할 수 있으며 더 나아가 1. 해당 자료형에 가능한 값 2. 해당 자료형에서 수행이 가능한 명령들 3. 해당 자료형을 저장하는 방식 을 의미합니다. 데이터란 어떠한 형태를 가지며 비슷한(혹은 공통된) 특징을 갖는 데이터를 하나로 묶어서 개념적으로 생각할 수 있습니다. 우리가 '정수'의 정확한 정의를 모르더라도 -1, 3, 12, -145, 5930, ... 등의 값을 보면 정수라는 것을 알 수 있습니다. 또한 개념적으로 정수 사이에 어떠한 연산이 수행 가능한지도 알고 있습니다. 이렇듯 무수히 많은 데이터 사이에는 분류가 가능한..

Python-대화형 인터프리터와 코드 편집기 사용해보기

일반적으로 파이썬을 학습하게 되면 대화형 인터프리터를 먼저 접하게 됩니다. 파이참은 개발자를 위한 도구이다보니 대화형 인터프리터보다는 코드 편집기에 우선적으로 최적화되어 있습니다. 인터프리터를 사용해보기 전에 다시 한 번 인터프리터에 대해 설명하겠습니다. 인터프리터(interpreter) 인터프리터는 프로그래밍 언어의 소스코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말합니다. 파이썬 인터프리터에는 두 가지 형태가 있습니다. 대화형 인터프리터 대화형 인터프맅터에서는 입력에 대한 출력 값이 바로 나옵니다. 입력과 출력이 번갈아 이어지는 것이 마치 대화하는 것과 같다고 하여 ‘대화형’ 인터프리터라고 합니다. 파이참에서 대화형 인터프리터를 사용하기 위해서는 위와 같이 좌측 하단의 Python Console..

Python-파이참 프로젝트 생성 및 인터프리터 설정

이제 아나콘다와 파이참을 연동하여 파이썬 학습/개발 환경을 설정해봅시다. 설치된 파이참을 더블클릭하여 실행해봅시다. 파이참을 처음 설치한 경우라면 위와 같이 다른 개발자가 사용하는 환경 설정이나 본인이 다른 개발 환경에서 사용하던 파이참 설정을 가져올 지를 물어봅니다. 처음 파이참을 이용하는 분이라면 두 번째 옵션(Do not import setting)을 선택한 뒤 OK를 클릭하시면 됩니다. 다음으로는 프로그램 UI의 테마를 선택합니다. 어두운 배경의 테마를 사용하실 분들은 좌측의 Darcula를, 밝은 배경의 테마를 사용하실 분은 우측의 Light를 선택하시면 됩니다. 이 테마 설정은 나중에 환경 설정에서 변경할 수 있기 때문에 본인에게 편안한 것을 선택하시면 됩니다. 다음으로 추가할 플러그인을 설치..

Python-학습 및 개발 환경 구현하기

지난 글에서 파이썬 개발 환경을 구축하기 위한 기본적인 설명을 했습니다. 파이썬 공식 홈페이지에서 제공하는 파이썬 설치판보다 배포판을 이용하는 것이 후에 있을 개발에 있어서 더 많은 기능을 사용하여 조금은 더 쉽게 개발을 진행할 수 있도록 도와줍니다. 앞으로 있을 파이썬 학습 및 개발 환경을 구축하기 위해 다음 두 가지 소프트웨어를 설치할 것입니다. 개발환경 = Anaconda + Pycharm Anaconda는 패키지 매니저입니다. 가장 유명한 data science platform으로 파이썬 및 150개가 넘는 과학 패키지와 그 종속성이 함께 제공되는 소프트웨어로 다음과 같은 장점을 가집니다. 1. 데이터 과학 패키지 제공: 데이터 작업 시작 가능 2. 패키지 & 환경 관리: 다양한 라이브러리를 다룰..

Python-학습 및 개발 환경에 대해

파이썬은 학습이 쉽고 강력한 프로그래밍 언어로 2020년 5월 기준 TIOBE에서 선정한 검색어 점유율 3위에 해당하는 프로그래밍 언어입니다. (https://www.tiobe.com/tiobe-index/) 효율적인 자료 구조들과 객체 지향 프로그래밍에 대해 간단하고도 효과적인 접근 방법을 제공하며 다양한 플랫폼과 문제 영역에서 빠른 스크립트 작성 및 응용 프로그램 개발에 이상적인 환경을 제공합니다. 파이썬 학습 및 개발을 시작하는데 있어서 초보자가 겪는 어려움은 파이썬이라는 프로그래밍 언어를 이용한 코드 작성 및 이를 실행할 환경을 갖추는데서부터 나타납니다. 실제로 필자는 파이썬을 처음 학습하는데 있어 파이썬 공식 홈페이지(https://www.python.org/)에서 제공되는 가장 기본적인 개발 ..