안녕하세요~ IT기술과 과학, 인문, 예술을 융합하여 연구 개발하고 있는 퀸메이커 코딩Education의 김남희입니다.
4월의 마지막 한주가 시작되었습니다.월요일 아침 Python으로 시작하는 빅데이터로 한 주를 시작해 보는 건 어떨까요?
PARTⅠ 파이썬의 기초
CHAPTER 01파이슨의 기초 CHAPTER 02 변수와 입출력 함수 CHAPTER 03 조건문과 반복문 CHAPTER 04 함수 CHAPTER 05 문자열과 배열 CHAPTER 06 객체 지향 프로그래밍
PARTⅡ 빅데이터 분석
CHAPTER 07 빅데이터 분석을위한 환경 및 기능 CHAPTER 08 빅데이터 분석 초기 예제 CHAPTER 09 통계와 수학적 기능을위한 Numpy CHAPTER 10 빅데이터 분석을위한 Plot 기능 CHAPTER 11 데이터 프레임 처리를위한 Pandas CHAPTER 12 빅데이터 가공 및 분석 CHAPTER 13 빅데이터 분석 과제
PARTⅢ인공지능
CHAPTER 14 기계학습의 기본개념 CHAPTER 15 기계학습 모델 (Machine Learning Models) CHAPTER 16 딥러닝

파이슨은 C언어나 Java 언어와는 큰 차이가 있다. 일반적으로 알려진 이들 언어는 프로그래머가 입력한 명령어를 일괄적으로(batch) 해석한 뒤 중간언어인 목적파일로 번역하는 컴파일러 방식을 사용하는데, 파이썬은 대화식(interactive)으로 입력되는 명령문을 해석과 동시에 실행하므로 인터프리터(interpreer)라고 한다.

파이썬 설치 파이썬으로 프로그래밍을 하려면 통합개발환경(IDLE: Integrated Development Environment)을 설치해야 한다. 이를 위해 다음 파이썬 사이트에서 해당 파일을 내려받자. 새로운 버전이 계속 나오고 있는 다음 버전에서 Download를 클릭하여 파일을 다운로드하여 설치한다.함수 사용자 정의 함수 자주 사용되는 일련의 코드를 반복하여 기술하면, 프로그램이 길어질 뿐 아니라 복잡해져 가독성을 떨어뜨린다. 이러한 단점을 해결하기 위해 함수를 사용하고 단순히 함수를 호출하면 관련 코드를 실행시킬 수 있다. 뿐만 아니라 함수에 값을 입력하고 그 결과를 호출한 곳에 출력할 수도 있다.
자주 쓰이거나 수학 공식처럼 일반적으로 널리 알려진 기능은 이미 만들어져 있기 때문에 단순하게 불러내 사용하면 된다. 전술한 print(), range(), type()과 같은 함수가 이에 해당한다. 이들 함수는 기본적으로 파이썬이 제공하므로 그대로 사용하면 된다. 뿐만 아니라 파이썬이 제공하는 것보다 더 많은 기능을 제공하기 위해 다양한 영역에서 필요한 기능을 모듈 형식으로 제공하고 있다. 이것도 이미 우리가 앞에서 사용한 경험이 있다. 바로 time.sleep()을 사용하기 위해 import time을 실행한 적이 있다. 이것은 함수라기보다는 오브젝트 지향 개념으로 메서드라고 하는데, 지금은 함수라고 생각하자. 그런데 이러한 모듈조차 지원하지 않는 기능이 필요하다면, 즉 나만의 함수가 필요하다면 어떻게 해야 할까? 프로그래밍 언어에서는 사용자 정의 함수의 기능을 제공하고 있다. 물론 파이썬에서도 마찬가지다. 지금부터 파이썬이 제공하는 사용자 정의 함수의 기본 형식을 살펴보자.


빅데이터 분석을 위한 환경 및 기능 빅데이터란 모든 사물에서 얻을 수 있는 다양한 종류의 대용량 데이터를 말하며, 빅데이터를 올바르게 분석하고 활용함으로써 씨 인류에게 보다 높은 가치를 제공하는 것이 목표라고 할 수 있다. IoT의 빅데이터는 세계에 퍼져 있는 여러 센서로부터 읽히는 정보를 의미한다. DNA와 같은 의료 분야, 인간관계와 같은 소셜 네트워크 분야, 철새 이동과 같은 자연 환경 분야 등의 빅데이터이며 이에 대한 데이터를 활용해 실습하고 싶다.
이러한 빅 데이터를 올바르게 이해하고 활용하기 위해서는 수집한 데이터를 분석할 수 있는 기술이 필요하다. 특히, 최근에는 보다 유용한 데이터를 만들기 위해서 인공지능의 입력으로서 사용하고 있고, 올바른 예측을 위해서 빅데이터를 적절히 가공할 수 있어야 한다. 이런 인공지능을 위한 빅데이터 분석 및 처리를 위한 과정을 전처리(Preprocessing)라고 한다.
개발 환경 구축
개발환경 구축을 위해서 설치해야 할 프로그램은 이하와 같다. 우선 파이톤이 설치되어 있어야 하지만, 최신 버전의 파이톤이 좋은 것은 아니라고 이미 설명하고 있다. 그 이유는 일부 빅데이터 분석 툴이나 텐서플로 같은 인공지능 툴이 최신 버전의 파이썬을 지원하지 않기 때문이다.
지금부터 빅데이터 분석과 인공지능을 위해 주피터 노트북(Jupyter Notebook)을 사용한다. 주피터 노트북 설치 방법 두 가지를 설명한다. 우선 아나콘다 내비게이터를 설치하는 방법과 아나콘다 프롬프트(prompt)로 설치하는 방법이 있다. 인스톨시의 주의점은, 종래 인스톨 되고 있는 파이톤 3.6.6 버전과 호환성이 있는 아나콘다를 설치하는 것이다.
아나콘다 내비게이터 설치
먼저 아나콘다 네비게이터를 사용하는 방법으로 이는 GUI 환경을 제공하고 초보자가 사용하기에는 편리함이 있다. 해당 파이썬 버전에 맞는 네비게이터는 아래 사이트에서 다운로드하여 사용할 수 있는 http://dosc.anaconda.com/anacondda/packages/pkg-docs/
아나콘다 설치
Andycont(prompt)를 사용하는 방법으로 GUI 방식이 아닌 경우 설치 시 직접 명령문을 입력 하여야 한다. 아나콘다 버전은 반드시 파이톤 3.6.6에 맞는 버전을 내려받아야 한다. 아나콘다 사이트(www.anaconda.com)에 접속해 자신의 컴퓨터 운영체제와 시스템 사양(32비트/64비트)에 맞는 버전을 내려받으면 된다.빅데이터 분석 초기의 예제 DNA 프로젝트로부터 유전자 정보를 취급해 보자. 인터넷에서 무료로 배포하는 DNA 자료를 가져와 데이터 분석을 위해 데이터를 가공하고 처리하는 연습을 해보자. 여기서 수행하고자 하는 DNA 분석 과정은 다음과 같다. 인터넷에서 제공하는 DNA 서열을 다음 표와 같이 아미노산 서열로 변환하는 연습을 한다. 다음 표는 12개의 알파벳으로 구성된 DNA 데이터를 3개씩 잘라 하나의 아미노산으로 변환하는 예이다.
다음과 같은 절차로 과제를 추진한다.
① DNA와 단백질 시퀀스 데이터를 수동 다운로드 ② 파이썬으로 DNA 데이터를 열고 가공하기 ③ DNA를 아미노산으로 변환하는 알고리즘 4 변환한 아미노산 서열과 사이트에서 다운로드한 것이 일치하는지 비교
DNA 및 단백질 시퀀스 데이터 수동 다운로드
NCBI(https://www.ncbi.nlm.nih.gov/)에서 DNA 시퀀스 파일을 다운로드한다. 따라서 NCBI에 접속하여 NM_207618.2를 검색한다. 그러면 Nucleotide sequence(누클레오티드 서열)라는 문구와 함께 다운로드 버튼이 출력되고 이를 클릭하면 해당 파일을 다운로드 받을 수 있다. 파일명은 [NM_207618.2.fasta] 로 텍스트형식이므로 메모장으로 확인할 수 있다.



통계와 수학적 기능을 위한 N umpy Numpy는 과학적 계산을 위해 파이슨이 제작한 것이다. Numpy는 n차원 배열 객체로 이산수학과 무작위수 생성 등의 수많은 작업을 할 수 있는 기능이 제공된다. 또한 Numpy에서는 벡터와 행렬을 위한 Numpy만의 특수한 배열 형식을 제공한다. 동적으로 생성되는 파이썬의 목록과 달리 Numpy 배열은 정적 메모리 할당과 같이 생성될 때 그 크기가 결정된다.
Numpy가 특별한 또 다른 이유는 딥러닝을 위한 텐서 플로우와 잘 맞는다는 점이다. 즉 텐서 플로우는 Numpy에서 다루는 데이터 형식을 효과적으로 처리할 수 있도록 호환성과 편의성을 제공하고 있다.

빅 데이터 분석을 위한 P lot 기능 빅 데이터 분석에 있어서 플랫의 기능은 매우 중요하다. 데이터를 분석하고 가공하는데 필요한 기능으로 숫자나 문자로 작성된 데이터를 그래프로 볼 수 있어 매우 중요한 기능이라 할 수 있다. 파이썬을 위해 다양한 플랫 관련 라이브러리가 제공되므로 먼저 Matplotlib을 보자. Matplot 기능을 제공하는 Matplotlib은 그래프나 그림을 그릴 수 있는 플래팅 라이브러리이다. 매우 큰 크기의 라이브러리가지만 우리가 설계하는 프로그램에서는 일부 기능만 가져오면 되고, 이는 파이썬에서의 장점이기도 하다. 파이썬이 제공하는 함수를 활용하면 매트랩(Matlab)처럼 다룰 수 있고, 제공되는 기능이나 문법(syntax)도 비슷하다. 파이썬으로 Matplot의 기능을 인터랙티브하게 사용할 수 있으며 생성한 결과를 쉽고 즉시 확인할 수 있다. 이 때문에 파이썬에서는 Pyplot 라고 하는 모듈을 사용해 데이터를 시각적으로 표현할 수 있어 이것을 Matplot 와 인터페이스의 역할을 하는 것으로 상태 머신이라고도 한다.




자율주행차 2019~2020년 고등학교 아두이노 메이커 특강으로 남학생과 여학생 구분 없이 인기가 가장 높았던 자율주행차입니다
자율자동차를 응용하여 교사 연수 특강에서는 로봇 청소기를 제작한 정이 두터운 메이커 작품입니다.^^

퀸카메이커 코딩Education 김남희, 요즘 급속도로 발전한 인공지능 기술을 접하다 보면 개발방법이 예전보다 쉬워지고요.따라서 인공지능을 쉽게 개발할 수 있는 환경이 되어 관심을 갖고 노력한다면 전문가가 될 수 있을 것입니다.
전문가가 되기 위한 동행을 퀸카 메이커 코딩 Education이 함께 만듭니다.퀸카메이커 코딩 Education [추천 책 소개합니다 – 인공지능]

안녕하세요 퀸메이커 코딩Education 김남희입니다.오늘은 큰아들이 합류해서 세아이들 모두 디지털서… blog.naver.com #퀸카메이커코딩 #AI #IOT #인공지능 #메이커 #아두이노 #코딩 #융합 #부산진로특강 #진로 #독서 #메이커 #디지털독서 #조은작가 #고교단위제 #빅데이터 #파이슨 #자율주행자동차 #로봇청소기