- 1주 -
머신러닝 = 데이터로 모델을 만드는 방법, 머신이 데이터를 보고 학습하게 하는 방법, 컴퓨터가 데이터를 보고 자동으로 규칙을 만드는 것
클라썸 + 멘티미터 사용
석기시대 = 돌, 날카로운 것이 필요하여
철기시대 = 철, 부러지지 않는 것이 필요하여
산업화시대 = 노동, 육체노동을 대신할 것이 필요
정보화시대 = 계산, 여러가지 대신해 줄 도구가 필요
지식 = 사실적지식 or 절차적지식
프로그래밍은 절차적지식
프로그램 = 절차적지식인 알고리즘을 컴퓨터에 이해시키기 위해 가공한 형태
구성한 알고리즘의 내용을 특정 프로그래밍 언어로 작성
------------------------------
- 2주 -
컴퓨팅 사고 = 컴퓨터와 소프트웨어라는 도구를 활용해 문제를 해결하는 방식
사람의 사고 = 경험
1. remember, 유사한 과거 상황들을 기억
2. formulate, 일반적인 규칙을 도식화
3. predict, 어떤 일이 발생할 지 예측
머신러닝? = 사람이 생각하는 것과 같은 방식으로 데이터를 바탕으로 판단
1. remember, 데이터를 수집, 정리, 저장
2. formulate, 주어진 데이터와 가장 잘 맡는 규칙(모델)을 찾기
3. predict, 미래의 데이터에 대해 예측
즉 머신러닝이란 경험을 바탕으로 머신이 스스로 배우게 하는 기술, 명시적으로 프로그램된 코드를 그대로 실행하는 것이 아니라 데이터를 바탕으로 스스로 학습하여 주어진 작업을 수행
레이블(label)
- 데이터로부터 예측하고자 하는 특징을 지칭
머신러닝의 종류
1. 지도학습
2. 비지도학습
3. 강화학습
지도학습의 종류
1. 회귀모델, 연속된 값을 예측, 주어진 데이터셋과 최대한 가깝게 직선을 그리는 것
2. 분류모델, yes/no 같은 불연속적인 값을 예측, 주어진 데이터셋을 둘로 잘 나누는 직선을 찾는 것
파이썬 모듈 사용
1. import 사용
2. "모듈.명령"의 형식으로 사용 (namespace)
3. as로 간소화 사용 가능
4. from을 사용하여 하나만 불러오기 가능 ("모듈.명령"이 아닌 "명령"만 사용 가능)
변수
- 변할 수 있는 값을 의미하는 기호
---------------------------------------
- 3주 -
조건문
1. if
2. elif
3. else
컴퓨터가 생각하고 판단?
1. remember = 방대한 양의 데이터셋을 수집/정리/저장
2. formulate = 많은 규칙들 중에서 주어진 데이터와 가장 잘 맡는 규칙(모델)을 찾기
3. predict = 이 규칙(모델_을 이용하여 미래의 데이터에 대해 예측
- 머신러닝의 핵심 = 데이터 (현대 기업은 데이터 수집에 집중)
의뢰 -> 요구사항 분석 -> 데이터 추출 -> 데이터 레이블링 -> 데이터셋 구축 -> 데이터셋 확보
- 새로운 비즈니스 모델
- 데이터 레이블링 산업도 비약적으로 성장 중
모델
- 머신러닝은 하나의 모델로 모든 요구사항을 만족할 수 없음
- 상황에 따라 다른 모델을 구축해야 함
- 다양한 모델을 가지기 위해 많은 노력이 필요
결정나무기법
- 분류모델을 만드는 알고리즘 중 하나
- 사람의 추론방식을 닮음
- 계속 질문을 해나가며 주어진 데이터셋을 분류하는 것
- 질문과 분기점을 정해야하는데 이 부분을 데이터를 이용해서 학습하는 것
append
- list 맨 뒤에 데이터 추가
pop
- list 맨 뒤에 데이터 삭제
extend
- list 맨 뒤에 여러 개의 데이터 추가
in, not in
- list에 포함되어있는지 확인
-------------------------
- 4주 -
회귀모델
- 지도학습의 한 형태로 연속된 값을 예측
- 주어진 데이터셋과 최대한 가깝게 직선을 그리는 것
- 직선의 방정식은 두개의 파라미터인 기울기와 y절편을 가짐
pandas
- powerful python data analysis toolkit
- python에서 R만큼의 강력한 데이터 핸들링 성능을 제공하는 모듈
- 단일 프로세스에서 최대 효율
- 코딩 가능하고 응용 가능한 엑셀
- pandas의 기본은 한불로 이루어진 series
- date_range를 통해 편하게 시간에 접근 가능
- dictionary에서 dataframe을 바로 만들 수 있으며 각 key가 column으로
------------------------
-5주 -
pd.DataFrame(딕셔너리) = 데이터프레임으로 변환 가능
matplotlib
- 선 색 = b, g, r, c, m, y, k, w 중 1개
머신이 스스로 선형회귀모델을 찾으려면?
- 선형회귀알고리즘
1) 기울기와 y절편의 초기값을 임의로 정함
2) 학슴데이터셋에서 임의로 데이터를 선택 + 직선이 이 데이터와 가까워질 수 있게 기울이과 y절편의 값을 조금씩 바꿈 + 무한히 반복
3) 직선(선형회귀모델)을 선택
비용함수(cost function)
1) absolute error
- 각 데이터에서 직선까지의 수직거리의 합계가 absolute error
2) square error
- 각 데이터에서 직선까지의 수직거리의 제곱의 합계가 square error
모델 선정 + 학습
1) 훈련
2) 검증
3) 시험
------------------------
- 6주 -
분류
- cost function 사용
---------------------------------
- 7주 -
함수의 return
1) return 문이 없으면 = 결과값이 없는 함수
2) return 문이 있으면 = 결과값이 있는 함수
변수
1) 지역변수 = 함수 안에서 선언되는 변수
2) 전역변수 = 함수 외부에서 선언되는 변수
매개변수
- 몇개가 될지 모를 때는 * 사용