인사말
안녕하세요!
오늘도 머신러닝에 대해서 공부를 해볼 겁니다
처음 접하는 생소한 내용이라서 너무 막막하네요
오늘은 오전에 Zoom으로 하는 Git 수업이 있어서
오전 시간 동안은 Zoom 수업을 들어주었습니다
오후부터 본격적으로 머신러닝을 공부하였어요!
오늘의 일정 | |
오전 (09 : 00 ~ 13 : 00) | 10:00 ~ 12:15 Zoom 수업_Git |
오후 (14 : 00 ~ 18 : 00) | 14:00 ~ 15:30 전처리 공부 16:00 ~ 16:30 튜터님과 면담 16:30 ~ 16:40 매니저님의 순회 방문 16:40 ~ 17:40 전처리 공부한 내용을 TIL 작성 |
저녁 (19 : 30 ~ 21 : 00) | 19:30 ~ 20:00 팀 회의 20:00 ~ 20:55 백준 문제 풀이 |
새로 알게 된 코드 |
|
a, b = map(int,input().split()) | input()을 문자열로 받게 되었을 때 하나하나씩 매핑해주고, 공백을 기준으로 나눔 |
오전( 09 : 00 ~ 13 : 00 )
처음에는 Markdown에 대해서 배웠어요
재밌더라구요 히히
# 오늘 배운 markup
## 1. 두 번째 제목
## 2. 종류
2.1 제목
2.1.1 #
2.2 리스트
2.2.1 그냥 숫자 입력하면 들여쓰기가 돼요
2.3 코드블럭
2.3.1
```python
def hi():
print(Hello)
```
2.3.2 인라인 코드 블럭
문장 적어주시고 `print()`를 백틱으로 감싸주시면 돼요
2.4 링크
2.4.1 [str],(url) <- 콤마는 빼주세요
2.4.2 예시
[네이버](http:/www.naver.com)
이렇게 적으면 뜨죠?
2.5 이미지 넣기
2.5.1 ![str](이미지 파일 이름)
![고양이](imgs/고양이.jpeg)
2.6 텍스트 강조
2.6.1 볼드체
2.6.1.1 **로 글자를 감싸주세요
2.6.2 기울림체
2.6.2.1 *로 글자를 감싸주세요
2.6.3 취소선
2.6.3.1 ~~로 글자를 감싸주세요
2.7 인용문
2.7.1 다음 줄에 >로 시작해주세요
> 그렇게 하시면 이렇게 됩니다
진짜 진짜 재밌었어요
문서 작성하고 편집하고 만드는 거 좋아하거든요
이번에 Markdown으로 배울 수 있어서 좋았습니다 😋
오후 ( 14 : 00 ~ 18 : 00 )
데이터 전처리에 대해서 이론 공부를 진행시켰어요!
요약
- 데이터 전처리란?
- 데이터 전처리 개념
- 특징
- 전처리 방법
- 전처리의 효과
- 주요 기법
1. 데이터 전처리란?
- 개념 : 데이터 분석 및 머신러닝 모델링을 위해 데이터를 준비하는 과정
- 특징
- 원시 데이터(raw data)는 종종 불완전하거나, 노이즈가 많거나, 형식이 일관되지 않아 직접 모델링에 사용하기 어려움
- 데이터 전처리는 데이터의 품질을 높이고, 분석 결과의 신뢰성을 확보하기 위한 필수적인 과정임
- 전처리 방법
결측값 처리 | 데이터셋에서 누락된 값을 처리하는 작업 |
이상값 처리 | 데이터셋에서 비정상적으로 큰 값이나 작은 값을 처리하는 작업 |
중복 데이터 제거 | 동일한 데이터가 여러 번 나타나는 경우, 이를 제거 |
데이터 타입 전환 | 데이터의 타입을 적절하게 변환하는 작업 |
데이터 정규화 | 데이터이 범위를 일정하게 맞추는 작업 |
인코딩 | 범주형 데이터를 수치형 데이터로 변환 |
샘플링 | 데이터셋의 크기를 줄이거나 늘리는 작업 |
특징 선택 및 추출 | 모델 성능을 높이기 위해 중요한 특징을 선택하거나 새로운 특징을 추출 |
4. 데이터 전처리의 효과
데이터 품질 향상 | 결측치, 이상치, 중복 데이터를 처리하여 데이터의 품질을 높임 |
모델 성능 향상 | 적절한 스케일링, 정규화를 통해 모델의 학습 속도와 성능을 개선함 |
데이터 일관성 확보 | 서로 다른 출처에서 수집된 데이터를 일관된 형식으로 변환함 |
특성 공학 (Feature Engineering) |
유용한 특성(Feature)을 생성하거나 변환하여 모델의 예측 능력을 향상시킴 |
5. 데이터 전처리의 주요 기법
- 결측치 처리(Handling Missing Data) : 데이터셋에 누락된 값을 처리함
- 삭제: 결측치가 있는 행이나 열을 삭제.
- 결측치가 적을 때 유용하지만, 데이터 손실이 발생할 수 있음
- 대체: 평균, 중앙값, 최빈값 등으로 결측치를 대체
- 예측: 다른 특성을 사용하여 결측치를 예측하고 채움
- 삭제: 결측치가 있는 행이나 열을 삭제.
- 이상치 처리(Handling Outliers) : 데이터에서 비정상적으로 크거나 작은 값을 처리
- 제거: 이상치를 데이터셋에서 제거
- 변환: 이상치를 다른 값으로 변환
- 예: 상한선이나 하한선으로 대체
- IQR 방법: IQR(Interquartile Range)을 사용하여 이상치를 탐지하고 처리
- 데이터 정규화 (Normalization) : 정규화는 데이터를 일정한 범위로 스케일링하는 과정
- 일반적으로 [0, 1] 범위로 변환함
- Min-Max 정규화: 최소값을 0, 최댓값을 1로 변환
- 일반적으로 [0, 1] 범위로 변환함
- 데이터 표준화 (Standardization) : 표준화는 데이터를 평균 0, 분산 1로 변환하는 과정
- 특성 공학 (Feature Engineering) : 데이터로부터 새로운 유용한 특성을 생성하는 과정
- 특성 생성: 기존 데이터를 기반으로 새로운 특성을 생성함
- 예: 날짜 데이터를 사용하여 요일 특성 생성
- 특성 선택: 모델 성능에 중요한 특성을 선택하고, 중요하지 않은 특성을 제거함
- 특성 생성: 기존 데이터를 기반으로 새로운 특성을 생성함
- 데이터 인코딩 (Data Encoding) : 비정형 데이터를 모델이 이해할 수 있는 형태로 변환함
- 레이블 인코딩 (Label Encoding): 범주형 데이터를 숫자로 변환
- 원-핫 인코딩 (One-Hot Encoding): 범주형 데이터를 이진 벡터로 변환
- 데이터 분할 (Data Splitting) : 데이터를 학습용(train), 검증용(validation), 테스트용(test)으로 분할. 이를 통해 모델의 일반화 성능을 평가할 수 있음
- 학습 데이터 (Training Data): 모델 학습에 사용되는 데이터
- 검증 데이터 (Validation Data): 모델 튜닝 및 성능 검증에 사용되는 데이터
- 테스트 데이터 (Test Data): 최종 모델 평가에 사용되는 데이터
저녁 ( 19 : 30 ~ 21 : 00 )
히히 오후 회의를 끝내고 20시부터 백준코딩 해봤어요
프로그래머스로만 풀어보다가 백준코딩으로 풀어보니까
구조가 달라서 애먹었어요 😂
문제 푸니까 바로 깃허브로 잘 들어와서 다행이에요 히히
문제 1. Hello World! 를 출력하시오.
print("Hello World!")
문제 푸니까 너무 재밌어요 ㅋㅋㅋㅋ
차라리 문제를 풀어야 공부에 집중을 하게 되네요
히히
문제 2. A+B
# 1트
a, b = int(input())
print(a+b)
처음에는 이렇게 입력하였어요
안 되더라구요
# 2트
a, b = int(input().split())
print(a+b)
이렇게 하니까 TypeError가 나네요,, 🤦🏻♀️
# 3트
a, b = input().split()
a = int(a)
b = int(b)
print(a+b)
TypeError가 났다고 하길래
input으로는 잘 받았다는 거니까
형변환을 밑에서 따로 해줬어요 🤔
끼야아아아아아ㅏㅇㄱ
꺄아아아아아아악
맞췄어요 ㅠㅠㅠㅠㅠㅠㅠ 흐엉
순간적으로 스트레스받았어요 허엉ㅇ
백지에다가 창의력을 발휘하려 하니까
뇌정지 쩔게 오네요,, 하하하하,,
a, b = map(int,input().split())
print(a+b)
언니한테 물어봤을 때
이렇게 쉽게 푸시더라구요,, 🙄
제가 map함수를 이해 못 한 거 같아요
split()도 들었던 거 같은데 제 머리엔 없던 함수였어요
하하하
오늘도 배워갑니다.. 👍🏻
문제 3. A-B
# 1트
a, b = input().split()
a = int(a)
b = int(b)
print(a-b)
앞선 문제와 비슷한 구조이기 때문에
똑같은 방식으로 코드를 짜주었습니다 😊
히히 넘 뿌듯하네요 🤭
마무리
하하,,
머신러닝과 친해질 수 있을지 잘 모르겠어요
확실히 주말에 더 공부해야겠습니다
다른 추가 자료들 찾아보며 공부해야겠습니다
한 주 동안 수고 많으셨어요!
편안함 밤 되시길 바랍니다
주말에 푹 쉬시고 다음 주도 달려봅시다!
파이팅!! 🔥
감사합니다
'내일배움캠프 TIL' 카테고리의 다른 글
내일배움캠프 본캠프 12일차_코드 카타, 이상치값 처리, 통계학, 프로그래머스 4문제, 백준 3문제 (7) | 2024.12.10 |
---|---|
내일배움캠프 본캠프 11일차_코드카타 2문제,통계학, 머신러닝 (10) | 2024.12.09 |
내일배움캠프 본캠프 9일차_ 머신러닝 (3) | 2024.12.05 |
내일배움캠프 본캠프 8일차_파이썬 라이브러리 공부 (1) | 2024.12.04 |
내일배움캠프 본캠프 7일차_피벗 테이블, .drop, 컬럼추가, del, f-string, rename, git 폴더 생성 (3) | 2024.12.03 |