인공지능 , 머신러닝, 딥러닝 쉽게 접근해보자
1. 인공지능
인공지능은 쉽게 생각하면 규칙 기반(Rule-Based)이다.
룰베이스를 해서 프로그램을 하는 것
그래서 프로그램이 인공지능처럼 보이는 것.
(룰 적용 엔진은 수십수백 줄의 if-then-else문으로 만들 수 있고, 테이블로 만들 수 있다.)
2. 머신러닝
머신러닝은 사람의 손을 거쳐 전처리, 피처 엔지니어링 해서
모델에 넣고 데이터 넣고 결과 나오게!
쉽게, 사람이 데이터를 가공해서 모델에 넣고 데이터 예측하게 해주는 것
3. 딥러닝
딥러닝은 쉽게 알파고
사람이 프로그래밍을 하지 않아도 데이터를 가지고 스스로 학습해서 결과를 내는 것.
머신러닝을 하기 앞서
전처리에서는 데이터를 잘 다루는 것이 중요하다.
데이터가 적은 경우 딥러닝보다 머신러닝의 효율이 좋다.
머신러닝은 선형대수, 통계, 확률, 특성 공학이 중요하다.
예제는 어떤 IDE를 사용했는가?
수많은 파이썬 개발 도구가 있다
그중 주피터 노트북((Jupyter Notebook)을 사용했다.
파이썬 아나콘다(Anaconda)을 설치하면 주피터 노트북도 같이 설치가 된다.
주피터 노트북(Jupyter Notebook)은 브라우저상에서 파이썬 코드를 단계적으로 실행하게 해 주고,
바로 시작적으로 확인이 가능하게 해주는 프로그램이다.
주피터 노트북은 주로, 데이터 분석할 때 유용하게 사용하는 툴이다.
주피터 노트북은 메모리에 값을 저장하기 때문에,
중간에 에러가 나도 다른 IDE와 다르게, 다시 처음부터 실행하지 않는 장점이 있다.
또한, 분석한 결과를 바로 볼 수 있다는 장점이 있다.
예제에 사용한 라이브러리
python의 라이브러리 중 하나인 numpy와 pands을 사용했고,
시각화 라이브러리로는 seaborn을 사용했다.
Nupmy(넘파이)는 선형대수, 간단한 행렬 등 일반적으로 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 라이브러리이다. 주로 데이터 구조 외에도 수치 계산을 위행 효율적으로 구현된 기능을 제공하는데,
그 이유는 코어가 C#으로 되어 있어 python으로 하는 것보다 속도면에서 빠르기 때문이다.
Pandas(판다스)는 넘파이를 가지고 데이터를 엑셀식으로 사람들이 보기 편하도록 한 라이브러리이다.
pandas와 numpy는 거의 함께 사용한다.
Seaborn는 Matplotlib를 기반으로 다양한 색상 테마와 통계용 차트 등의 기능을 추가한 시각화 패키지이다.
예제 - 타이타닉의 생존자를 어떻게 알 수 있을까?
데이터사이선스 대표 사이트 캐글!
그 Kaggole(캐글)의 입문 문제인 "타이타닉의 생존자를 어떻게 알 수 있을까?"
데이터 특성을 잘 알고 있어야 한다.
(Feature engineering 는 중요하다!)
axis는 축이다 axis=1은 1번째 축으로 자른다.
Binning(비닝)
데이터 비닝은 사소한 관찰 오류의 영향을 줄이기 위해 사용되는 데이터 전처리 기술로
여기에서는 카테고리별로 수치화를 했다.
결측값을 채워야 한다!
(fillna) : 결측값 채우기, 결측값 대체하기, 결측값 처리 라이브러리.
이상치도 제거해야 하는 등등, 어떤 기준으로 채울지는 많이 경험해보고 다뤄봐야 한다.
데이터 가공하는 것이 관건이다.
컴퓨터가 잘 이해할 수 있게 값(텍스트 등)을 수치화를 해야 한다!
이름/나이/요금/등 데이터의 특성을 파악하여 그룹화를 해서 0,1,2,3,4 이런 식으로 수치화를 하는 것!
성별의 경우는 0,1로 해서 수치는 1 차이가 나는데,
요금의 경우는 0~10로 해서 수치가 10 차이가 난다.
이때 컴퓨터는 10 차이의 수치를 어떻게 해야 할지 감이 잘 안 올 수 있다.
사람이 봤을 때 중요하지 않는 차이지만, 컴퓨터는 10 차이를 크게 볼 수 있다는 것.
그래서 나이/요금도 그룹화를 해서 작은 단위로 수치화를 하는 것이 좋다고 한다.
핵심은 컴퓨터가 잘 이해하게 데이터 전처리/피처 엔지니어링이 중요하다.!
" 데이터의 특징을 잘 뽑아내는 것! "
머신러닝의 흐름을 보면
데이터 전처리/피처 엔지니어링으로 컴퓨터가 잘 이해할 수 있게 데이터를 변형하여
모델에 넣는다. 그래서 데이터를 입력했을 때 결과를 내보내게 해주는 것이다.
이때 시각화도 하고 튜닝도 한다고 한다.
'IT > 기록' 카테고리의 다른 글
React Native에서 사용자 로그인 상태 유지는 어떻게? (0) | 2021.05.28 |
---|---|
머신러닝 02. (0) | 2020.09.15 |
고객 세분화 (0) | 2020.09.15 |
웹 크롤링 기록 (0) | 2020.09.15 |
geckodriver executable needs to be in PATH. (0) | 2020.09.15 |