분석용 도메인 데이터 수집 |
분석 언어 |
- 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 구현
|
공공 데이터 및 SNS 데이터 수집 |
- BeautifulSoup install
- Selenium install
- Chromedriver.exe 설정
- robots.txt
- 문자열 Crawling
- Web에서의 데이터 수집
- Web 접속 scraping(crawling)
- 한글 처리, 기본 트리 운행
- SSL 처리, 태그 id로 찾기, class가 같은 태그들 검색
- find(), find_all(), select() 함수 활용
- 포털에 접속하여 환율 수집하기, 서울의 날씨/온도 수집, Selector의 사용
- 많이 본 뉴스의 제목을 수집하기
- 댓글 정보의 크롤링
- Selenium, chromedriver.exe을 연동한 데이터 수집
- XPath 사용
- 멜론 노래 순위 정보 크롤링
- 대한민국 구석구석 컨텐츠 크롤링
- 페이징 처리
- 이미지의 크롤링
- 증권 거래소 파일 정보의 크롤링
- 다양한 웹페이지에 접속하여 크롤링 실습
|
수집된 데이터 저장 |
DBMS |
- 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 제작
- 제약 조건의 추가/삭제
- Join 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() 함수의 활용
|
문제 해결 능력 향상 |
알고리즘 |
- 수열 관련 알고리즘 실습
- 재귀 호출 관련 알고리즘 실습
- 탐색 관련 알고리즘 실습
- 정렬 관련 알고리즘 실습
- Queue, Stack 관련 알고리즘
- 딕셔너리, 그래프 관련 알고리즘
- 응용 알고리즘 실습
|
머신러닝 기초 수학 |
- 수열과 집합
- 확률
- 대량의 데이터에서 추정하는 방법
- 벡터와 행렬 실습
- 함수와 미분
- 미분으로 그래프의 접선 계산
- 편미분 실습
- 회귀분석
- 로지스틱 회귀
|
트랜드 데이터분석 |
추론 통계 기반 데이터 분석 |
- Numpy vector 연산
- Matplotlib 기반 시각화 실습
- Pandas 기반 기술 통계 분석
- 연속형 데이터, 합계, 평균, 편차, 분산
- 표준편차
- 표본 평균, 표본 분산
- 표본 표준 편차의 산출, 표준화
- 척도별 기술 통계량, 대표값 산출
- 산포도
- 변동계수
- 빈도분석
- 분석 절차와 기본 통계 지식
- 가설(hypothesis) 설정
- 유의수준 결정
- 측정 도구의 설계
- 척도의 분류
- 조사의 방법
- 모집단과 표본
- 통계적 추정
- 기각역(Critical region)
- 채택역(Acceptance region)
- 양측검정과 단측검정
- 가설 검정 오류
- 검정 통계량
- 정규 분포, 모수와 비모수 검정
- 표준정규분포
- 표준화 변수 Z
- Z값과 확률 구간
- 신뢰구간
- 표본오차, 왜도(Skewness)와 첨도
- 모평균의 가설검정(σ(모 표준편차)를 아는 경우)
- 두 모평균의 가설검정(σ(모 표준편차)를 아는 경우
- 평균차이 검정(T 검정)
- 교차분석과 카이제곱검정
- 상관 분석
- 회귀 분석(지도학습)
- 성적 예측
- 자동차의 제동거리 예측 모델
- 정수기 AS 시간 예측 모델
- 분류 분석(지도학습)
- Iris의 분류
- 사과의 특성별 분류
- 군집 분석(비지도학습)
- 사과의 특성별 분류
- 타깃 마케팅을 위한 소비자 군집 분석하기
- 연관 분석
- 상품 진열 연관 분석
- 텍스트 빈도 분석
- 워드 클라우드
- 한글 뉴스 기사의 키워드 분석하기
- 텍스트 마이닝
- 영화 리뷰 데이터로 감성 예측하기
- 코로나 뉴스 텍스트의 감성 분석하기
- 지리 정보 분석
- 행정구역별 의료기관 현황 분석하기
|
AI 모델 제작 |
모델 제작용 데이터 전처리 |
- 정형 데이터의 전처리
- 결측치의 처리
- 불균형 데이터 세트에 대한 언더 샘플링
- 모델 완성 및 영향력 높은 변수 확인
- 분석 데이터를 읽기 위한 코드 작성
- 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.4.1 설치
- 컨볼루션(합성곱) 신경망(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 구현하기
- 딥러닝 모델에 변수 추가
- 추천 시스템을 위한 DBMS 연동
- 서비스 구현시 model+Django+Spring Boot의 연동
- Django Restful API 구현
- Spring Boot API 호출 구현
- 추천 시스템 정확도 향상 알고리즘 기법
|
Google Cloud Platform |
Google Cloud Platform 및 Docker 환경 개발 |
- 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 임포트 실행
- Google Cloud 서비스 Colab 이용
- ipynb 파일과 Google Drive 연동
- Tensorflow Google Drive 파일 access
- Google Cloud 서비스 회원가입
- GCP VM 인스턴스 생성
- GCP VM 네트워크 설정
- GCP 고정 IP 및 방화벽 설정
- 윈도우에서 Putty 설정, SSH 접속
- GCP에 Docker 설치 및 컨테이너 생성
- GCP Docker에 Tensorflow 설정
- GCP Compute Engine GPU 설정
- GCP Cloud Vision API 이미지 인식
- GCP Cloud Natural Language API 텍스트 분석
- GCP Cloud Speech API 오디오-텍스트 변환
- GCP상에 Docker Oracle 설정
- JAVA open jdk 11, Tomcat 설치
- Spring Bot war 생성 및 배포
- FTP(File Transfer Protocol) 설정
- VM 인스턴스 서버 재시작, 접속 테스트
- VM 인스턴스 Python 설정
- Tensorflow 설정
- Tensorflow model upload
- Django, model 연동 접속 테스트
|
프로 젝트 |
자연어 처리 기반 트랜드 분석 시스템 프로젝트 |
- 척도별 기술 통계량, 대표값 산출
- 산포도
- 변동계수
- 빈도분석
- 분석 절차와 기본 통계 지식
- 가설(hypothesis) 설정
- 유의수준 결정
- 측정 도구의 설계
- 척도의 분류
- 조사의 방법
- 모집단과 표본
- 통계적 추정
- 기각역(Critical region)
- 채택역(Acceptance region)
- 양측검정과 단측검정
- 가설 검정 오류
- 검정 통계량
- 정규 분포, 모수와 비모수 검정
- 표준정규분포
- 표준화 변수 Z
- Z값과 확률 구간
- 신뢰구간
- 표본오차, 왜도(Skewness)와 첨도
- 모평균의 가설검정(σ(모 표준편차)를 아는 경우)
- 두 모평균의 가설검정(σ(모 표준편차)를 아는 경우
- 평균차이 검정(T 검정)
- 교차분석과 카이제곱검정
- 상관 분석
- 회귀 분석(지도학습)
- 성적 예측
- 자동차의 제동거리 예측 모델
- 정수기 AS 시간 예측 모델
- 분류 분석(지도학습)
- Iris의 분류
- 사과의 특성별 분류
- 군집 분석(비지도학습)
- 사과의 특성별 분류
- 타깃 마케팅을 위한 소비자 군집 분석하기
- 연관 분석
- 상품 진열 연관 분석
- 텍스트 빈도 분석
- 워드 클라우드
- 한글 뉴스 기사의 키워드 분석하기
- 텍스트 마이닝
- 영화 리뷰 데이터로 감성 예측하기
- 코로나 뉴스 텍스트의 감성 분석하기
- 지리 정보 분석
- 행정구역별 의료기관 현황 분석하기
- 데이터 분석 시스템 제작 설계
- 개발 요소 파악하기
- 개발 요소 등록
- 역할 결정
- 데이터 수집
- 데이터 전처리
- 데이터의 상관 관계 분석
- 다중 공선성 해결
- 이상치 데이터의 발견 및 변경
- 결측치의 확인 및 제거
- Github 프로젝트 생성 및 공유, 협업 설정
- 요구사항의 파악 및 정의
- Usecase Diagram 제작
- Amateras ERD 파일생성
- DBMS 모델링(논리적/물리적)
- Web 개발 SQL 생성
- 파이썬 데이터 분석 모듈 구현
- Django, Restful 서비스 제작
- Spring Boot 상에서의 Django Rest 서비스 접근 제작
- Web 서비스 AWS EC2 서비스에 배포
- React native를 통한 모바일 UI 제작
- 프로젝트 문서화 작업 및 발표
|
프로 젝트 |
협업 필터링 기반 추천 시스템 프로젝트 |
- 머신러닝 기반 추천 시스템 제작 설계
- 요구사항의 파악 및 정의
- Usecase diagram 제작
- Amateras ERD 파일생성
- DBMS 모델링(논리적/물리적)
- Activity diagram 제작
- Class diagram 제작
- 프로젝트 주제에 해당하는 데이터 수집
- 탐색적 데이터 분석(EDA)
- 데이터 시각화
- 데이터 전처리
- 결측치의 확인 및 제거
- One-Hot-Encoding 변환
- Label 엔코딩 변환
- 특성 공학의 적용
- 주성분 분석과 다중 공선성 해결
- 이상치 데이터의 발견 및 변경
- IQR 및 Boxplot의 사용
- 데이터 정규화
- Github 프로젝트 생성 및 공유, 협업 설정
- Tensorflow model 제작
- Tensorflow model 테스트
- Tensorflow model 평가
- Tensorflow model 성능 개선
- Django, Tensorflow model 연동 서비스 제작
- Django Restful API 제작
- Spring Boot 상에서의 Django Restful 서비스 접근 제작
- 추천 정확도 향상을 위한 DBMS 활용
- Tensorflow model AWS EC2 서비스에 업로드
- Web 서비스 AWS EC2 서비스에 배포
- 프로젝트 문서화 작업 및 발표
|