- 공고 : SW융합 클러스터 홈페이지
- 일시 : 2021.11.16~11.18 (3일차)
- 장소 : 한국전자기술연구원 전북지역본부
- 교육내용 : python기초/농생명 데이터 분석(Nympy, pandast사용)
- 강사 : 김은연 박사님(한길소프트 대표)
0. 강의에 앞서..
데이터 마이닝 =/= 머신러닝
- 데이터 마이닝 : 데이터 안에 있는 잠재적인 패턴을 찾는 것
- 머신러닝 : 기계에 학습 시키는 것
데이터 마이닝 프로세스
- 둘 다 상업적 이해를 기반으로 시작 -> 데이터 전처리 -> 모델링 -> 결과 평가 -> 업그레이드
- 예측까지 하면 머신러닝
- 결과만 나오면 데이터 마이닝
인공지능에 왜 파이썬을 사용하는가?
- 머신러닝, 딥러닝 라이브러리 존재, 통계 툴도 존재, 시각화도 좋음 그리고 무료임!!
- 물론 R도 시각화하기 아주 좋은 언어지만 python은 진화가 빠른 언어라는 점!
인공지능을 위한 python 학습 플로우
- 데이터 분석
- 파이썬 기초 -> Numpy -> Pandas, Matplotlib
- 머신러닝
- 파이썬 기초 -> Numpy -> Scikit-learn
- 딥러닝
- 파이썬 기초 -> Numpy ->Tensorflow
파이썬을 사용하면 안되는 경우
- 고성능일시 : C++보다 느리다
- 멀티 쓰레드 : 지원 ㄴㄴ 하나 계산중이면 병렬처리 ㄴㄴ
1. 기본 세팅
1) Anaconda package설치 및 실행하기
https://www.anaconda.com/products/distribution
에서 설치 합니당
2) 가상 환경을 만들기
#가상환경 생성
conda create -n '원하는 영문이름~' pip python=3.8
conda active '원하는 영문이름~'
#jupyter notebook 설치
conda install jupyter notebook
#metplotlib 설치
conda install matplotlib
#pandas 설치
pip install pandas
#Scipy 설치
pip install scipy
4) jupyter notebook 실행
작성한 후 엔터를 누르면 컴퓨터에 설정한 기본응용프로그램(인터넷)에 Jupyter notebook이 실행될 것이다
본인의 경우에는 chrome으로 실행된다
상단의 [New] - [Python3]를 누르면 모든건 준비 완료이다
- Jupyter note book 실행시 알아야 할 점
5) 추가적인 모듈 설치 in python
#numpy 설치 (anaconda에서도 가능 )
#numpy는 선형대수 라이브러리
!pip install numpy
import numpy
import numpy.linalg as peter
예를 들어 root3를 numpy로 구현하려면
print(peter.norm([1,1,1]))
#1.7320508075688772
요롷게
2. 실습
실습 : metaplotlib를 이용한 농작물 프로파일 서비스 구현
사진과 데이터를 가져오면 좋겠지만 일단 짧은 강의 안에서 배울 수 없기 때문에ㅠ
연결된 저장소에 사진을 다운 받고 종속과목 데이터를 미리 다운 받자
#현재 위치에 실습 파일 가져다 놓기
%pwd
#'C:\\Users\\zdusv'
아래의 이미지를 다운받아 각자의 현재 위치 폴더에 위치시킨다
율무.jpg
보리.jpg
귀리.jpg
from PIL import Image #그림 그리는 툴1
import matplotlib.pyplot as plt #그림 그리는 툴2
plt.rc('font', family='Malgun Gothic') #폰트설정
plt.rc('axes', unicode_minus=False)
d={'율무':{'목':'벼목','과':'벼과','속':'율무속','종':'율무','사진':'율무.jpg'},
'보리':{'목':'벼목','과':'벼과','속':'보리속','종':'보리','사진':'보리.jpg'},
'귀리':{'목':'벼목','과':'벼과','속':'귀리속','종':'귀리','사진':'귀리.jpg'}}
fig, ax = plt.subplots(3,1, figsize=(6,8))
for i, name in enumerate(d.keys()): #율무 -> 보리 -> 귀리 순
img=plt.imread(d[name]['사진']) #사진을 읽어라
ax[i].axis('off')
ax[i].imshow(img)
ax[i].set_title(name)
for j,(k,v) in enumerate(d[name].items()): #d[name].items() = {'목':'벼목','과':'벼과','속':'율무속','종':'율무','사진':'율무.jpg'}
text=str(k)+':'+str(v)
ax[i].annotate(text, xy=(1.0, 0.0), xytext=(1.1, 1.0-j*0.1), fontsize=10, ha='left', va='top',textcoords='axes fraction')
#xytext=(1.1, 1.0-j*0.1) 자리지정 = 한칸씩 내려서 설정
plt.subplots_adjust(left=0.0, wspace=0.0)
plt.show
↓결과↓
반응형