데이터수집 |
Python |
- Python 소개
- Anaconda install
|
- 가상환경 생성,
- Jupyter Notebook 커널 연동
|
|
- 데이터 형(data type)
- 연산자(Operator)
|
- Library Reference
- 시퀀스(배열)
|
- 자료형(str, list, tuple, Dictionary)
- Set 집합 타입
|
- 제어문(if), sys.argv list 사용, if문 실습
- 반복문(While, for) 실습
|
- 함수 다루기, 함수의 인자, 지역 변수와 전역 변수, 리턴값
- 모듈과 패키지의 사용, import의 사용
|
- Class 선언, 클래스 멤버, 메소드, 인스턴스 멤버, 메소드의 실습
- Class의 import, 생성자, 소멸자, 상속
|
- 부모클래스의 생성자호출
- 생성자/메소드 오버로딩, 다중 상속
|
- 예외처리(Exception)
- try ~ except ~ else ~ finally
|
- 재귀 호출 함수
- Lamda 함수 이용 , random 난수 발생
|
- IO(입출력), File 클래스 다루기, 파일 이동, 디렉토리 조작, 파일 목록, 파일 복사
- Network(네트워크), Socket, Echo Server - Encode, Decode
|
- Pycharm 환경에서의 Python 개발
- Conda 가상 환경에서의 PyCharm 데이터 분석 환경 설정
|
- MariaDB install
- MariaDB, Python 연동, CRUD 구현
|
Crawling |
- BeautifulSoup install
- Selenium install
|
- Chromedriver.exe 설정
- robots.txt
|
- 문자열 Crawling
- Web에서의 데이터 수집
|
- Web 접속 scraping(crawling)
- 한글 처리, 기본 트리 운행
|
- SSL 처리, 태그 id로 찾기, class가 같은 태그들 검색
- find(), find_all(), select() 함수 활용
|
- 포털에 접속하여 환율 수집하기, 서울의 날씨/온도 수집, Selector의 사용
- 많이 본 뉴스의 제목을 수집하기
|
- 댓글 정보의 크롤링
- Selenium, chromedriver.exe을 연동한 데이터 수집
|
|
|
- 이미지의 크롤링
- 증권 거래소 파일 정보의 크롤링
|
|
데이터 저장 시스템 |
Oracle |
- Oracle XE 18C 개발자 버전 설치, 계정의 생성 및 권한 부여
- SQL Developer install, 접속
|
- Oracle 기본 데이터 타입
- DDL(Data Definition Language)
|
- 일련번호 자동 생성(Sequence)
- Oracle 기본 SQL 사용
|
- DML(Data Manipulation Language)
- INSERT, SELECT, UPDATE, DELETE
- ORDER BY, LIKE
|
- 리조트 관리 시스템 논리적 모델링
- 리조트 관리 시스템 물리적 모델링
- 리조트 관리 시스템 SQL 제작
|
|
- 3개 이상의 테이블 join
- Single-Row Function(단일행 함수)
|
- GROUP BY, HAVING, Group Functions(그룹화 함수)
- SubQuery(필터링)
|
- Transaction, Sequence, Index
- VIEW(SELECT) 가상 테이블 사용
|
- 데이터 사전(Data Dictionary), 제약 조건의 조회, 추가, 삭제
- PL/SQL의 이해, PL/SQL의 종류, PL/SQL의 구조
|
- Stored Procedure Create & Execution
- IN/OUT 매개변수
|
- Stored Function, Trigger
- Rank SQL, ROW_NUMBER(), RANK() 함수의 활용
|
알고리즘 |
Python을 이용한 알고리즘 실습 |
- 수열 관련 알고리즘 실습
- 재귀 호출 관련 알고리즘 실습
|
- 탐색 관련 알고리즘 실습
- 정렬 관련 알고리즘 실습
|
- Queue, Stack 관련 알고리즘
- 딕셔너리, 그래프 관련 알고리즘
|
|
머신러닝 기초 수학 Python 실습 |
|
- 대량의 데이터에서 추정하는 방법
- 벡터와 행렬 실습
|
|
|
|
통계기반 데이터 분석 |
통계기반 데이터 분석 및 머신러닝 |
- Numpy vector 연산
- Matplotlib 기반 시각화 실습
|
- Pandas 기반 기술 통계 분석
- 연속형 데이터, 합계, 평균, 편차, 분산
|
- 표준편차
- 표본 평균, 표본 분산
- 표본 표준 편차의 산출, 표준화
|
- 척도별 기술 통계량, 대표값 산출
- 산포도
- 변동계수
|
- 빈도분석
- 분석 절차와 기본 통계 지식
- 가설(hypothesis) 설정
|
|
|
- 기각역(Critical region)
- 채택역(Acceptance region)
- 양측검정과 단측검정
|
- 가설 검정 오류
- 검정 통계량
- 정규 분포, 모수와 비모수 검정
|
- 표준정규분포
- 표준화 변수 Z
- Z값과 확률 구간
|
- 신뢰구간
- 표본오차, 왜도(Skewness)와 첨도
- 모평균의 가설검정(σ(모 표준편차)를 아는 경우)
|
- 두 모평균의 가설검정(σ(모 표준편차)를 아는 경우
- 평균차이 검정(T 검정)
|
|
|
- 자동차의 제동거리 예측 모델
- 정수기 AS 시간 예측 모델
|
- 분류 분석(지도학습)
- Iris의 분류
- 사과의 특성별 분류
|
- 군집 분석(비지도학습)
- 사과의 특성별 분류
- 타깃 마케팅을 위한 소비자 군집 분석하기
|
|
|
- 한글 뉴스 기사의 키워드 분석하기
- 텍스트 마이닝
|
- 영화 리뷰 데이터로 감성 예측하기
- 코로나 뉴스 텍스트의 감성 분석하기
|
- 지리 정보 분석
- 행정구역별 의료기관 현황 분석하기
|
딥러닝 |
딥러닝 데이터 전처리 |
- 정형 데이터의 전처리
- 결측치의 처리
- 불균형 데이터 세트에 대한 언더 샘플링
|
- 모델 완성 및 영향력 높은 변수 확인
- 분석 데이터를 읽기 위한 코드 작성
- k-Means법을 이용한 그룹 분할
|
- 이미지 데이터의 전처리
- OpenCV 이미지 변환 처리
- 이진화 이미지로 변환
|
- 이진화 이미지의 픽셀값 확인
- 시계열 데이터의 전처리
- 데이터 집약 및 시간 축 작성
|
- 기계학습의 알고리즘 형태로 특징량 변형
- 훈련 데이터의 부분시계열 작성
|
- 부분시계열의 파형 거리(유사도) 측정
- 자연어 데이터의 전처리
|
- 한글 형태소 분석 환경의 설정
- Konlpy 설치
- Okt를 통한 형태소 분석
|
Tenslorflow 기반 딥러닝 |
- 인공 신경망(ANN: Artificial Neural Network)
- 퍼셉트론(perceptron)
- 다층 퍼셉트론(Multi Layer Perceptron)
|
- Tensorflow 2.0 install
- Keras
- Sequential 함수
|
- loss 옵션(손실 함수, 오차 함수)
- fit 함수
- 모델 평가 및 저장, 기초 코드
|
- 오차 역전파(Back Propagation)
- 활성화 함수(activation)
- optimizer 옵션(경사 하강법, 최적화)
|
- 회귀 모델 제작
- 수치 예측 모델의 구현(relu, adam, mse 활용), validation_split 적용, 학습율
|
- 회귀 모델 제작
- 2개의 수치입력과 2개의 scala 출력 처리
|
- 파라미터(가중치, y절편) 초기화
- model save 사용
|
- Weights, Biases 확인
- [미니프로젝트]
|
- 와인의 종류 예측하기
- train_test_split
- 모델 업데이트 및 저장
|
- 혼돈 행렬(Confusion matrix)
- ROC 곡선
- [미니프로젝트]
|
- 폐암 수술 환자의 생존율 예측
- L1/L2 규제
- Dropout 사용
|
- 과대 적합(과적합, Overfit)
- 이항 분류의 사용
- [미니프로젝트]
|
- 초음파 광물 종류 예측, LabelEncoder, k겹 교차 검증
- [미니프로젝트]
|
- 아이리스(붓꽃) 품종 예측, 원-핫 인코딩(one-hot-encoding)
- GPU 기반, CUDA 10.0, cuDNN 7.6.0, Conda를 이용한 Python 3.6 가상환경, Tensorflow 2.0.0 설치
- 컨볼루션(합성곱) 신경망(CNN: Convolution Neural Network), PIL, 이미지 처리 Python script 기초 코드
|
- CNN + OpenCV를 이용한 이미지를 통한 수치 예측 모델의 개발
- PILLOW 설치
|
- CNN 기반 회귀 모델 제작
- 메모리상에서 이미지 만들어 바이러스 갯수 예측
|
- Python을 이용한 메모리상에 이미지 생성
- 미국 국립 표준 기술원(NIST)의 MNIST 이용
|
- CNN, GPU를 이용한 영상입력 이진 분류 예측 모델의 개발, 짝수/홀수 예측
- CNN를 이용한 영상입력 다중 클래스 분류 예측 모델의 개발, 0 ~ 9 숫자 예측
- CNN을 이용한 도형의 인식
|
- CNN 상에서의 이미지 부풀리기
- ImageDataGenerator
- CNN, 이미지 인식을 통한 영화배우 정보 조회하기
|
- 학습 데이터 전처리
- OpenCV haarcascades 설치
- 얼굴 이미지 crop
|
- 이미지 인식을 통한 영화배우 정보 조회하기
- RNN 순환 신경망
- 순환 신경망을 이용한 영화 리뷰 정서 분석
|
- IMDB 영화 리뷰 데이터셋 사용
- 시계열 분석 분석 모델 제작
- LSTM을 사용한 주식 변동성 전망
|
개인화 서비스 |
추천시스템 |
|
|
- 기본 CF 알고리즘
- Matrix Factorization(MF) 기반 추천
|
- SGD를 사용한 MF 기본 알고리즘
- MF의 최적 파라미터 찾기
|
- Surprise 패키지 사용
- 딥러닝을 사용한 추천 시스템 구현
|
- Keras로 MF 구현하기
- 딥러닝 모델에 변수 추가
|
챗봇 |
딥러닝 기반 챗봇 |
|
- 문장 분류를 위한 CNN 모델
- 개체명 인식을 위한 양방향 LSTM 모델
|
- 챗봇 학습 툴 만들기
- 단어 사전 구축 및 시퀀스 생성
|
- 챗봇 엔진 서버 개발
- 챗봇 테스트 클라이언트 프로그램
|
|
Cloud |
Docker 및 Cloud 개발 환경 구성 |
- Ubuntu 18.04 LTS download
- Ubuntu install
- SWAP/Root/Home 파티션 분할
|
- 기본 명령어
- 사용자 생성, 계정 관리
- 디렉토리 및 파일 관리
|
- 기타 명령어
- 권한(permission)의 변경
|
- ls -l, ls -al로 권한 목록의 출력
- vi 에디터 기본 명령어, vi editor 실습
|
- 미들웨어 기초 지식
- 인프라 구성 관리 기초 지식
|
- Docker의 기능
- Docker의 작동 구조
- Docker for Windows 설치
|
- Docker 이미지 조작
- Docker 컨테이너 생성/시작/정지
- Docker 컨테이너 네트워크
|
- 가동 중인 Docker 컨테이너 조작
- Dockerfile을 사용한 코드에 의한 서버 구축
- Docker 이미지 공개
|
- Docker Tensorflow 개발 환경 구축
- 도커 파일 작성
- 도커 이미지 빌드
|
- 도커 허브에 업로드
- 도커 컨테이너에 Host resource 접근
- Jupyter Notebook에서 tensorflow 임포트 실행
|
- Goolge Cloud 환경 이용
- Google Cloud 서비스 Colab 이용
- ipynb 파일과 Google Drive 연동
|
- AWS Cloud 서비스 회원가입
- AWS EC2 인스턴스 생성
|
- 윈도우10에 Putty 설정, SSH 접속
- MariaDB 10.3 설정
|
- JAVA open jdk 8, Tomcat 9 설치
- Spring Bot war 생성 및 배포
|
- FTP(File Transfer Protocol) 설정
- EC2 서버 재시작, 접속 테스트
|
- AWS EC2 Python 설정
- Tensorflow 설정
|
- Tensorflow model upload
- Django, model 연동 접속 테스트
|
Client 서비스 화면 구현 |
JAVA |
- JAVA 설치, Eclipse 설치, 환경 변수 설정
- OOP 언어의 이해, Data Type, 상수
- 분기문(if, switch 문), 반복문(while, for, do~while)
- Class 구조(클래스 이름 지정 방법), 객체 생성
- Attribute(멤버 변수), 멤버 메소드
- 부모 클래스의 상속
- 추상 메소드, Interface, 접근 제한자
- Autoboxing, 객체 형변환
- File 입출력, 파일 복사, CSV 파일 처리
- Static method, Wrapper class
- Scanner class, Scanner 종합 실습
- 접근 한정자(Access Modifier, 제한자)
- ServerSocket, Socket 데이터 송수신
- 동기화 처리를 위한 Thread
- Thread 기반 Socket 프로그래밍
- JCF(Java Collection Framework)
- Generics
- MariaDB 연동
- JDBC 응용 Console Application 개발
|
Spring Boot |
- Spring Boot 개발환경 STS 설정
- VO(DTO) class 구현하기
- DAO class 구현하기
- Oracle DBMS Connection 구현하기
- MVC: Model, View, Controller 구조
- DI(Dependency Injection)의 구현
- DI의 개념과 활용
- 에노테이션의 활용
- Oracle 연동 MyBATIS Maven 설정
- 기초 문법
- 갤러리 SQL, MyBatis XML 제작
- JSP Form 제작, jQuery 사용
- 갤러리 JSP, CRUD 구현
- Form 값 검증
- 검색 구현
- 페이징 구현
- 파일 업로드, 다운로드
- 트랜잭션 매니저 사용
- 시큐리티 적용
- 시큐리티 데이터베이스 사용하기
- 외부 라이브러리 사용하기
- war 배포
|
Python Django |
- Django 개발 환경 구성
- MariaDB + Django 연동 설정
- Django Javascript 실습, JS 파일 include
- Django jQuery, CSS 파일 사용 실습
- 공지사항 제작
- 함수 기반 View
- Bootstrap 사용
- 메뉴바(GNB: Global Navigation Bar) 기반 Django 프로젝트 생성, Model 생성
- views.py, urls.py, CSS static 설정, base.html 제작
- CRUD 구현
- 파일 업로드/다운로드 구현
- 페이징 구현
- 공지사항 Ajax 기반 변경
- Django + jQuery + Ajax + JSON 구현
- D3js 시각화 적용
|
Android mobile |
- 안드로이드 스튜디오 설치
- 레이아웃 구성
- 버튼 이벤트 처리
- 다른 화면으로 이동
- 브라우저 만들기
- 카메라 센서의 사용
- 사운드 재생
- 경고창 만들기
- 앱의 인트로 화면 만들기
- 애니메이션 효과주기
- Google Map API의 사용
- 현재위치 출력
- 마켓 등록 및 단말기 테스트
|
프로젝트 |
딥러닝 기반 추천 시스템 |
- 딥러닝 기반 추천 시스템 제작 설계
- 개발 요소 파악하기
- 개발 요소 등록
- 역할 결정
- 데이터 수집
- 데이터 전처리
- 데이터의 상관 관계 분석
- 다중 공선성 해결
- 이상치 데이터의 발견 및 변경
- 결측치의 확인 및 제거
- Github 프로젝트 생성 및 공유, 협업 설정
- 요구사항의 파악 및 정의
- Usecase Diagram 제작
- Amateras ERD 파일생성
- DBMS 모델링(논리적/물리적)
- Tensorflow 학습 데이터 관련 SQL 생성
- Tensorflow model 제작
- Tensorflow model 성능 개선
- Django, Tensorflow model 연동 서비스 제작
- Spring Boot 상에서의 Django Rest 서비스 접근 제작
- Tensorflow model AWS EC2 서비스에 업로드
- Web 서비스 AWS EC2 서비스에 배포
- Android mobile App에서의 Tensorflow 모델 사용 제작
- 프로젝트 문서화 작업 및 발표
|
딥러닝 기반 챗봇 시스템 설계 |
- JAVA 설치, Eclipse 설치, 환경 변수 설정
- OOP 언어의 이해, Data Type, 상수
- 분기문(if, switch 문), 반복문(while, for, do~while)
- Class 구조(클래스 이름 지정 방법), 객체 생성
- Attribute(멤버 변수), 멤버 메소드
- 부모 클래스의 상속
- 추상 메소드, Interface, 접근 제한자
- Autoboxing, 객체 형변환
- File 입출력, 파일 복사, CSV 파일 처리
- Static method, Wrapper class
- Scanner class, Scanner 종합 실습
- 접근 한정자(Access Modifier, 제한자)
- ServerSocket, Socket 데이터 송수신
- 동기화 처리를 위한 Thread
- Thread 기반 Socket 프로그래밍
- JCF(Java Collection Framework)
- Generics
- MariaDB 연동
- JDBC 응용 Console Application 개발
|