728x90
- 문제 정하기
- 현재 솔루션은 뭐지?
- 목표 달성 여부를 어떻게 평가할래?
- 만들어진 솔루션 어떻게 사용할래?
- 유사한게 존재하나?
- 활용 가능한가?
- 데이터 수집 및 라벨링
- 고려할 점.
- 어떤 데이터를 얼마나 가지고 있어?
- 데이터 접근에 권한이 있어?
- private
- 상업용
- 오픈 데이터
- 데이터 접근 제어 및 모니터링 어케할그야?
- 데이터 용량 크면 어떻게 한 곳에 수집할거야?
- 데이터 관찰
- 많은 데이터가 필요하단 말이야 그래서 feature와 target을 추출해야해
- feature: 모델 생성 시 관측 가능한 값 (X)
- target: 관측 가능한 값으로 부터 예측하고자 하는 상태 값(Y)
- 많은 데이터가 필요하단 말이야 그래서 feature와 target을 추출해야해
- 데이터 저장
- 추출 했으면 저장해야하그든
- 데이터 크기와 목적에 맞는 데이터 저장소를 정해
- aws에서는 다음과 같은 저장소를 제공함
- S3 : 저장 용량 제한 없음
- FSx : HPC에 특화된 고속 시스템
- EFS: NFS를 지원
- RDS : 클라우드 기반 관계형 데이터베이스
- RedShitf: 데이터 분석을 위한 columnar DB
- Timestream: 시계열 데이터에 적합
- 데이터 보안
- 중요 데이터는 지켜야지!
- IAM policy를 통한 접근 권한 제어
- 파일 객체 저장소, 블록 저장소, 데이터베이스 대부분이 파일 암호화 기능 지원
- 데이터 접근 기록 로깅 및 모니터링 → CloudTrail
- 중요 데이터는 지켜야지!
- 고려할 점.
- 데이터 기초 검사
- 분석이 용이한 형태로 데이터 포맷을 정의
- ETL 포함 → 이라는 게 무슨말이지?
- 필드별 데이터 타입 이해
- 데이터의 통계적 특성을 이해
- pandas를 활용한 dataframe 테이블 형식으로 이해
- data.colums → 열 추출
- data.info() → 정보 요약
- data.describe() → 기술 통계 정보 (count, mean, std, min, max 등)
- Box plot → Median, 25%, 75%, min, max, outlier를 표현
- KDE(Kernel Density Estimate) → histogram과 유사한 데이터로 연속적 확률 표현
- pandas를 활용한 dataframe 테이블 형식으로 이해
- 데이터 시각화를 통한 시각적 이해
- 변수 간 상관관계 탐색
- Correlation coefficient
- -1 : 강력한 음의 상관관계
- 1 : 강력한 양의 상관관계
- 변수 간 상관관계 탐색
- 분석이 용이한 형태로 데이터 포맷을 정의
- feature engineering
- feature extraction
- 원본 데이터에서 의미있는 데이터를 추출하기 위함
- 생성된 feature 들이 데이터의 특성을 대표해야함
- ex
- 잘못된 데이터 수정: invalid value, consistency
- 데이터 범위 수정: rescale, remove outliers
- 데이터 가공: normalization, dimensionality reduction
- feature selection
- 목표를 달성하기 위해 의미있는 feature만 남김.
- filter method
- Pearson correlation : 2개 변수 간 연관성 표현
- LDA: 여러개 클래스로 분류 가능하도록 feature 간 combination 생성그니까 한마디로 클래스 간 분산은 크게, 클래스 내부는 분산을 작게 분류한 기법
- ANOVA : 그룹 간 평균 비교, 분산이 큰 feature 발굴
- 통계적 모델을 사용해서 target과 관계 경향성이 높은 feature 선택 (상관계수)
- wrapper method
- forward selection : 시작은 없는 상태에서 단계적으로 feature 추가
- → 음 threshold가 있을듯
- backward selection : 전체 feature로 시작하여 제거해나감
- feature 중 일부를 사용하여 실제로 학습을 진행한 후 모델의 성능 측정
- Embedded method모델링 알고리즘 자체적으로 penalty term을 통해서 feature를 선택하는 기능 내재
- decision tree
- LASSO, Ridge
- 대부분의 DNN
- wrapper, filter 방법 혼용해서 사용
- filter method
- → 실제로 학습하니까 많은 컴퓨팅 자원이 필요
- → 일반성이 좋은데 wrapper와 비교 시 성능이 낮을 수 있어
- 중복 및 관련없는 feature 삭제
- overfiting 예방 중요!
- 목표를 달성하기 위해 의미있는 feature만 남김.
- 데이터 인코딩
- missing 데이터 처리
- 정의되지 않은 값
- 데이터 수집, 정제 실수
- df.isnull().sum()
- df.isnull().sum(axis=1)
- df.dropna(): 행 단위로 삭제
- 치환하는 방법
- 카테고리 타입: 가장 많이 발생하는 값으로
- 연속적인 값: 평균, 중간값 등
- k-nn, soft impute 등
- outlier 처리
- Boxplot : 평균으로부터 떨어진 데이터의 분포 보여줌
- 정량적 판단 가능
- Scatter plot: 육안으로 outlier 판단 가능 (상관관계를 보여줌)
- Boxplot : 평균으로부터 떨어진 데이터의 분포 보여줌
- feature extraction
- 모델 학습
- 데이터 준비 → 데이터 포맷
- csv
- json
- Protocol Buffer
- 원격지에 위치한 서버 간의 데이터 전송을 위해 개발됨
- 데이터 직렬화 → 프로그램 내 객체를 바이트 스트림으로 표현, 직렬화된 데이터는 파일에 저장 가능, 네트워크로 전송가능
- 다양한 데이터 사이즈의 타입 표현이 가능해야해
- 구글에서 제안 및 활용함
- 언어 및 플랫폼에 종속적이지 않음
- 직렬화 단계가 효율적, 확장가능, 간단함
- 각각 메세지는 유니크한 번호로 매겨짐
- 필드 타입 : required, optional, repeated
- 데이터 타입: int, float, bool, string
- .proto 파일: 각 필드에 대한 선언을 포함함
- pb 파일: protoBuf 포맷으로 직렬화된 파일, 사이즈 작고 속도 빠름
- 모델 학습 시 데이터 분리
- train : 모델 생성 시
- validation : 생성된 모델의 성능 측정, 데이터 저확도 향상 추구, 모델 튜닝
- test : 최종 정확도 판단, 실제 배포 서비스에 기대되는 성능
- k-fold cross validationtrain-test 의 조합을 바꿔가면서 젤 좋은 성능을 보이는 경우로 선택
- 데이터 셋이 작은 경우에 사용하면 좋음
- 데이터 셔플링
- random sampling → 무작위
- stratified sampling → 데이터 비율을 유지하며 샘플링
- 정렬화 된 데이터를 분리하면 데이터간 bias가 존재함
- 데이터 준비 → 데이터 포맷
- 모델 평가
- confusion matrix
- Sensitivity (recall) : 전체 true 중 ture 를 판별한 비중
- Specificity : 특정 클래스를 not으로
- F1-Score
- precision과 recall을 함께 고려
- 단독으로 사용하면 오류 발생 가능성 심해!
- 조화 평균이라고 불러!
- 특정 값이 좋은 경우보다 둘의 균형이 맞을 때 좋은 값이 나왕
- 학습에 사용되지 않은 test 데이터 셋에 대해서 올바른 기준으로 예측하는 지 평가해줌
- Threshold 기반의 분류모델
- Receiver Operating Characteristic
- confusion matrix
- 목표 달성
- no → feature engineering (featrue 증강)
- 모델 배포
'모각코' 카테고리의 다른 글
[모각코 9주차] 인공지능플랫폼 - 데이터 분석 및 처리 (0) | 2024.05.30 |
---|---|
[모각코 8주차] 알고리즘 DFS, BFS (0) | 2024.05.22 |
[모각코 6주차] 데이터베이스 SQL 고급 (2) | 2024.05.01 |
[모각코 5주차] inductive bias (0) | 2024.04.03 |
[모각코 4주차] Style transfer (1) | 2024.03.27 |