🔠 프로그래밍언어/🐠 Python

    Python :: 15 - 텐서플로우로 딥러닝의 맛을 보자

    Python :: 15 - 텐서플로우로 딥러닝의 맛을 보자

    이번 글에서는 "딥러닝"에 대해 간단히 소개하고자 한다. 우리는 지난 글에서 기계학습에 대해서, 그 중에서도 선형회귀모델을 분석하는 간단한 예제를 진행했었다. 기계학습 중에서도 최근 큰 성공을 거두고 있는 딥러닝이라는 기술에 대해 알아보자. 인간의 뇌는 뉴런이라는 수많은 신경세포가 연결되어있다. 이들은 서로 화학적 신호를 주고 받는다. 인간의 뇌와 유사하도록 인공적인 신경세포를 흉내내는 프로그램을 컴퓨터 과학자들은 "퍼셉트론 perceptron" 이라고 한다. 퍼셉트론이 하나의 신경세포를 흉내내는 것이라면 인간의 뇌는 입력신호를 바로 출력으로 바꾸는 것이 아니라 입력신호를 받아 숨겨진 여러 층을 거친 뒤에 출력신호를 내어 놓을 것이다. 이것을 복잡하게 만들면 많은 층을 거쳐 가는 깊은 신경망의 될 것이다..

    Python :: 14 - 기계학습으로 똑똑한 컴퓨터를 만들자

    Python :: 14 - 기계학습으로 똑똑한 컴퓨터를 만들자

    우리는 이때까지 파이썬에 대해 공부해왔다. 여러 라이브러리들을 사용해보고, 다양한 데이터를 분석하는 것에 초점을 두었다. 이번에는 데이터를 기반으로 학습을 수행하는 기계학습의 원리를 알아보자. 파이썬은 이러한 기계학습을 공부하는 것에 있어서도 다양한 라이브러리를 지원해준다. 우리는 그 중 하나인 sckit-learn 을 이용하여 간단한 분석을 진행해보겠다. 우선 기계학습에 대해 알아보자. 컴퓨터가 사람처럼 스스로 배울 수 있다면 어떻게 될까? 우리는 이때까지 컴퓨터에게 특정 작업을 시키기 위해 프로그램을 작성하고 지시하였다. 하지만 컴퓨터가 데이터를 기반으로 스스로 학습할 수 있다면 컴퓨터는 더욱 더 복잡한 일을 할 수 있을 것이다. 예를 들면 알파고와 이세돌의 바둑 경기가 그렇다. 알파고에게 바둑 경기..

    Python :: 13 - 시각 정보를 다루어보자

    Python :: 13 - 시각 정보를 다루어보자

    우리는 앞선 장에서 판다스를 이용해 데이터를 다루는 것을 해보았다. 이번에는 이미지 데이터를 다루어 볼텐데 이미지란 컴퓨터에 저장된 2차원 시각 정보 파일이다. 디지털 이미지 데이터는 색상을 표현하는 점들이 모여 한 장의 이미지가 되는 비트맵 bitmap 방식과 점과 곡선, 면들이 수학적인 식으로 표현된 벡터 verbor 이미지로 나뉜다. 우리는 이번에 비트맵 방식에 대해서 다룰 것이다. 이미지에서 가장 작은 크기의 공간을 차지하며 하나의 색상 값을 가지고 있는 정보를 픽셀이라고 하고, 비트맵 방식의 이미지는 그림의 기본 구성요소를 의미하는 이 픽셀로 이루어진다. 가장 간단한 형태의 비트맵 이미지는 한 픽셀을 0과 1로 표현하는 이미지이다. 이때 0은 이미지 요소가 없음을 의미하므로 검정색, 1은 이미지..

    Python :: 12 - 판다스로 데이터를 분석해보자

    Python :: 12 - 판다스로 데이터를 분석해보자

    판다스는 무엇이고 왜 사용하는가? 우리는 지금 파이썬을 이용해서 데이터를 다루고 처리하는 것을 공부하고 있다. 이 때까지 파이썬은 많은 데이터를 가지고 연산하고 가공하는 데에 우수한 능력을 보여주었다. 그런데 엑셀 파일과 같이 테이블 형태의 데이터에 대한 통계적 분석이나 데이터 항목 사이의 연산 등에는 적합하지 않았다. 이 때 "판다스 Pandas" 를 이용한다. 판다스는 넘파이를 기반으로 한 도구이고 다음과 같은 특징을 갖는다. 빠르고 효율적이며 다양한 표현력을 갖춘 자료구조 다양한 형태의 데이터에 적합 핵심 구조 : Series, DataFrame 우리는 판다스로 무엇을 할 수 있을까? 판다스를 이용하면 CSV파일, 엑셀파일, SQL 데이터베이스에서 데이터를 읽어서 스프레드시트의 테이블과 유사한 데이..

    Python :: 11 - 차트를 멋지게 그려보자

    Python :: 11 - 차트를 멋지게 그려보자

    데이터 과학을 공부하면서 "데이터 시각화 data visualization" 는 빼놓을 수 없다. 데이터 시각화는 점이나 선, 막대 그래프 등의 시각적 이미지를 사용하여 데이터를 화면에 표시한다. 효과적인 시각화는 사용자가 데이터를 분석하고 추론하는 데 도움이 된다. 사람들은 시각적으로 보이는 데이터를 직관적으로 이해할 수 있기 때문이다. 데이터를 시각화하기 위한 많은 도구가 파이썬에 있지만 우리는 matplotlib 라이브러리를 사용해서 공부해보고자 한다. matplotlib 라이브러리는 가장 널리 사용되는 시각화 도구이다. 간단한 막대 그래프, 선 그래프, 산포도를 그리는 용도로 제격이다. 이번 장에서는 matplotlib 을 이용하여 다양한 종류의 차트를 만들어보자. 우선 그래프 하나를 소개하겠다...

    Python :: 10 - 넘파이로 수치 데이터를 처리해보자

    Python :: 10 - 넘파이로 수치 데이터를 처리해보자

    각자 파이썬을 공부하기 시작한 이유는 여러 가지가 있을 것이다. 프로그래밍을 처음 배우는 사람이 접하기 쉬운, 간편하면서 강력한 언어이기 때문일 수도 있고, 간단한 스크립트를 작성하여 자동화를 돌리고자 하는 사람도 있을 것이다. 또 Django 프레임워크를 이용해 웹 개발을 하고자 하는 사람도 있을 거라고 생각한다. 하지만 파이썬의 또 강력한 점은 데이터를 분석하고자 할 때 다양한 모듈들을 지원하기 때문에 데이터 과학과 머신러닝을 하는 것에 있어서 적합하다는 점일 것이다. 이번 장에서는 넘파이를 이용해 데이터 과학을 공부하는데 있어서 더욱 편리하게 할 수 있도록 공부해보고자 한다. 앞서서 이미 파이썬의 리스트에 대해서 공부해보았다. https://twix.tistory.com/12 [Python] 7 -..

    Python :: 9 - 텍스트를 처리해보자

    Python :: 9 - 텍스트를 처리해보자

    직전 게시물 마지막 예제 문제를 해결하면서 문자열을 처리하는 메소드가 잠깐 등장했었다. 오늘날에는 아주 다양한 데이터들이 있지만, 사람이 읽을 수 있는 텍스트 형태의 데이터를 다룰 줄 아는 것은 아주 중요하다. 이번 장에서는 텍스트를 처리하는 연산들과 메소드들을 알아보도록 하자. 텍스트 데이터는 구조화된 데이터(HTML, XML, CSV, JSON 등)와 구조화되지 않은 문서(자연어로 된 텍스트)로 나눌 수 있다. 일반적으로 데이터는 가공된 형태가 아니기 때문에 우리는 이 데이터를 수정해서 완전한 데이터로 만들어야 한다. 예를 들어 텍스트 데이터에 대소문자가 섞여 있을 수도 있고, 문자열의 앞뒤에 필요없는 공백 문자가 붙어 있을 수도 있다. 또 긴 문자열 중에서 우리가 필요한 것은 일부분일 수도 있다. ..

    Python :: 8 - 연관된 데이터를 딕셔너리로 짝을 짓자

    Python :: 8 - 연관된 데이터를 딕셔너리로 짝을 짓자

    이전 장에서는 리스트와 튜플이라는 자료형에 대해 알아보았다. 이번에는 키를 이용해서 값을 추출할 수 있는 자료형인 "딕셔너리 dictionary" 에 대해서 알아보자. 주로 데이터베이스에서 흔히 볼 수 있는 구조인데, 딕셔너리는 값 value 과 관련된 키 key 가 있다는 것이 큰 특징이다. 딕셔너리를 만들 때는 중괄호 {} 를 사용한다. 간단하게 전화번호부를 만든다고 가정하고 딕셔너리에 대해 살펴보자. phone_book = {} # 공백 딕셔너리를 생성 phone_book["홍길동"] = "010-1234-5678" print(phone_book) # {'홍길동': '010-1234-5678'} 위의 코드를 보면 {} 를 이용하여 공백 딕셔너리를 만든다. 이름을 key 로 사용하고 value 에는 ..