본문 바로가기
『 Python 』/AI

[AI] 2.1 머신러닝 프로젝트 흝어보기

by Play IT 2023. 2. 5.
반응형

[다양한 데이터셋 공유 사이트]

 - UC 얼바인 머신러닝 저장소 http://archive.ics.uci.edu/ml  

 - 캐글 데이터넷 http://www.kaggle.com/datasets  

 - 

 

 

 

캘리포니아 인구조사 데이터를 사용해 캘리포니아의 주택 가격 모델을 만들어보겠습니다.

해당 데이터는 캘리포니아의 블록 그룹마다 인구, 중간 소득, 중간 주택 가격 등을 담고 있습니다.

블록 그룹은 미국 인구조사국에서 샘플 데이터를 발표하는 데 사용하는 최소한의 지리적 단위입니다. 보통 한 블록 그룹당 600~3000명 정도 됩니다.  해당 데이터로 학습을 했을 때 다른 구역의 중간 주택 가격을 예측해야 됩니다.

 


1. 성능 측정 지표 선택


[문제 정의]

정보수집

문제의 첫질문은 비지니스의 목적이 정확히 무엇인가? 입니다.

해당 목적은 문제를 어떻게 구성할지, 어떤 알고리즘을 선택할지, 모델 평가에어떤 성능 지표를 사용할지, 모델 튜닝을 위해 얼마나 노력을 분배할건지를 결정하기에 목적은 아주 중요합니다.

 

만약 해당 모델의 출력이 다른 머신 시스템(해당 지역의 투자결정)의 입력에 사용된다면 해당 모델은 수익과 직결되기에 매우 중요하게 됩니다. 

 

# 파이프라인

파이프라인은 데이터 처리 컴포넌트들이 연속되어 있는 것을 의미합니다. 각각의 컴포넌트는 독립된 개체입니다.

 

다음 두 번째 질문은 현재 모델은 어떻게 구성되어있냐 입니다. 예를 들면 구역 주택 가격을 전문가가 수동으로 측정한다는 것이며 참고용으로 사용할 수 있다.

 

정보수집이 완료되었으면 이제 시스템을 설계할 준비가 되었습니다.

문제 정의를 이제 해야합니다. 이는 지도학습, 비지도 학습, 강화학습인지? 분류나 회귀인지? 아니면 배치 및 온라인 학습중 어떤 걸 사용해야할지? 정해야합니다. 해당 데이터는 레이블된 훈련 샘플이 있기에 전형적인 지도 학습에 속하게 됩니다. 또한 값을 예측해야 하기에 전형적인 회귀 문제인 셈입니다. 구체적으로는 사용할 특성이 여러개 이므로 다중 회귀 문제입니다. 또한 각 구역마다 하나의 값을 예측하므로 단변량 히귀문제이며 여러 값을 예측한다면 다변량 회귀 문제입니다.

마지막으로 해당 시스템으로 들어오는 데이터에 연속적인 흐름이 없으므로 빠르게 변하는 데이터에 적응하지 않아도 되므로 배치 학습이 적합하다는 것을 알 수 있습니다.

 

[성능 측정 지표선택]

회귀 문제의 전형적인 성능 지표는 평균 제곱근 오차 RSME 입니다. 해당 방식은 오차가 커질수록 해당 값은 커지므로 예측에 얼마나 많은 오류가 있는지 가늠하게 해줍니다.

만약 이상치로 보이는 구역이 많은경우 평균 절대오차를 고려할 수 있습니다.

평균 제곱근 오차와 평균 절대 오차는 모두 예측값의 벡터와 타깃값의 벳터 사이의 거리를 재는 방식입니다. 거리 측정에는 여러가지 방법(노름)이 가능합니다. 제곱항을 합한것은 유클리디안 노름이라 불리며 절댓값의 합을 계산한 것은 맨해튼 노름이라고 불립니다. 노름의 지수가 크면 클수록 큰 값의 원소에 치우치며 작은 값은 무시합니다. 그러기에 rmse가 mae보다 조금더 이상치에 민감합니다.

 

[가정 검사]

마지막으로 지끔까지 만든 가정을 나열하고 검사해보는 것이 좋습니다. 

 

 


2. 데이터 가져오기


일반적으로 데이터들은 관계형 데이터베이스에 들어있으며 여러 테이블과 문서 파일로 나뉘어져 있을 겁니다. 이러한 데이터에 접근하려면 보안과 접근방식, 데이터 구조에 대해 알아야 하지만 여기서는 간단하게 진행할것이기에 넘어가겠습니다.

 

 

--------------------------------------------------------- 내용 추가 예정-----------------------------------------

 

반응형

'『 Python 』 > AI' 카테고리의 다른 글

[AI] 2.1 데이터셋 다루기  (0) 2023.02.06
[AI] DataFrame 메서드  (0) 2023.02.05
[AI] 1.3 머신러닝 테스트와 검증  (0) 2023.02.05
[AI] 1.2 머신러닝 주요 과제  (0) 2023.02.05
[AI] 1.1 머신러닝 시스템의 종류  (0) 2023.02.05

댓글