본문 바로가기

Hello MLop

(21)
MLop_DL_CNN 실습 20221118 31일차 처음으로 해보는 이미지 예측이다. 컴퓨터 는 어떻게 이미지를 예측할까?아니, 어떻게 이미지라고 인식할까? 인간은 컴퓨터에게 어떻게 이미지를 분별하게 했을까?란 고민으로 이 글을 읽어보면 좋다. 우리가 일상적으로 보는 사진 및 이미지를 컴퓨터가 인식시키기 위해서는 이미지를 숫자로 변환해주어야 한다. 인간은 이미지를 분별하기 위해 이미지를 특성에따라 수로 배열했다. 이 말이 무슨말인지 기본적으로 흑백 이미지를 보자. 위의 이미지를 보면 인간은 육안으로 y라는 문자라는것을 인식하지만, 컴퓨터에게 입력하기 위해서는 위와같이 쪼개서 1줄로 만들어서 흰색이면 0, 검정이면 1의 형태로 넣어줘야한다. 그럼 만약 똑같은 사이즈의 이미지가 왔을때 0과 1로 분별할 수 있게만 나타내 주면 우린 컴..
MLop_DL_손글씨 판단 예측 20221117 30일 차 이번에 할 예측은 손글씨 판단이다. 데이터는 torchvision의 datasets에서 MNIST를 가져왔다. 시각화를 도와줄 matplotlib.pyplot의 plt를 임포트 해주고 torchvision에서 MNIST, ToTensor 두 가지를 임포트 해준다. 학습용 데이터와 평가용 데이터로 분리해주는 과정은 각각의 변수에 MNIST(위치, 종류, 다운로드 여부, ToTensor로 변환)로 저장해준다. 그리고 샘플이미지는 pyplot을 이용해 3 X 3 형태로 출력시키는 코드를 입력하면? 위와 같은 MNIST에 저장된 손글씨 9개가 출력된다. 💡 DataLoader ? 데이터셋을 불러온 뒤 필요에 따라 데이터셋을 순회(iterate)할 수 있다. ✔ 각 순회(iterate)..
MLop_DL_보스톤 집값 예측 20221117 30일 차 두 번째로 해볼 딥러닝 실습은 Boston 집값 예측이다. 데이터는 사이키런의 데이터 셋에서 가져왔다. 집값을 예측한다는 의미는 분류하는 작업이 아니다. 과연 회귀 분석에서는 어떻게 쓰이는지 중점을 두고 보자. 위에서 설명한대로 데이터 경로는 sklearn.datasets에서 참고했으며 dataset의 key를 조회해서 'data'는 무었이 있는지 확인해보자. 우리가 원하는 데이터를 DataFrame으로 만들어준다. 마지막으로 pandas를 임포트하고 우리가 익히보던 df라는 변수로 DataFrame을 저장해 줄건데 데이터는 dataset['data'] 로 했고, 컬럼명들은 dataset의 key값중 하나인 'feature_names'를 불러서 저장해 주었다. 데이터도 불어왔겠..
MLop_DL_사인함수 예측하기 20221117 30일 차 이번에 할 내용은 사인함수 그래프 예측하기 이다. 사인함수 그래프를 결과로 놓고 3차 함수를 사인 함수의 모양으로 만들어 보는 실습을 해봤다. 모델 설계과정은 위와 같다. import math는 파이썬에서 수학함수를 쓸 수 있게 해준다. import torch는 pytorch의 torch를 쓸 수 있게 해준다. 💡 torch? ✔ facebook에서 제공하는 딥러닝 도구로서, numpy와 효율적인 연동을 지원하는 편리한 도구 ✔ 구글에서 만든 tensorflow나 pytorch나 기본적인 data structure은 tensor이다. ✔ tensor란 2차원 이상의 array(배열)이며, matrix, vector의 일반화된 객체이다. x = torch.linspace(-mat..
MLop_DL_Deep Learnig 20221117 30일차 드디어 코딩을 배우기 전부터 자주 들었던 딥러닝의 세계에 입문했다. 이번 포스팅은 딥러닝이란 무었인지, 각 용어는 무었을 뜻하는지 보겠다. 💡딥러닝(Deep Learning)? 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야 인간이 뇌에서 사용하는 뉴런(신경세포)과 같은 알고리즘으로 머신러닝의 하위분야 인공 신경망 ANN(Artificial Neural Network) 위의 설명과 같이 딥러닝은 인간이 뇌에서 사용하는 뉴런에서 영감을 얻은 통계학적 학습 알고리즘 다시말해 뇌세포 뉴런을 수학적으로 표현한 알고리즘이다. 인공 뉴런(퍼셉트론) ⭐⭐⭐⭐⭐ # aka.인공 신경망, 인공뉴런 ✔ 입력값과 가중치, 편향을 이용해 출력값을 내는 수학적 모델 ✔ 퍼셉트론을 이용해 만든 ..
MLop_ML_LightGBM_신용카드 이상 거래 예측 20221115 28일차 오늘 할 실습은 LightGBM을 활용한 신용카드 이상거래 예측이다. 데이터는 kaggle에서 가져왔으며 간단한 데이터 세트는 이러하다. LightGBM (Light Gradient-Boosting Machine)? Microsoft 에서 개발한 머신 러닝용 분산 그래디언트 부스팅 모델이다.결정 트리 알고리즘을 기반으로 만들어졌다. XGBoost의 많은 장점을 가지고 있는데이 둘의 가장 큰 차이점은 트리 구성에 있다. LightGBM은 대부분의 다른 구현처럼 트리를 레벨별로(행 단위로) 성장시키지 않는다. 아래 사진을 보자 왼쪽의 Leaf-Wise Growth가 LightGBM의 경우인데 오른쪽에 비해 leaf-node로 확장되는것을 볼 수 있다. 때문에 XGBoost보다 학습하..
MLop_ML_XGBoost_커플 성사 여부 예측 20221115 28일차 오늘 해볼 알고리즘은 XGBoost(eXtreme Gradient Boosting)을 사용한 커플 성사 여부 예측이다. 데이터는 kaggle에서 가져왔으며 먼저 XGBoost에 대하여 알아보자. XGBoost(eXtreme Gradient Boosting) 먼저 전체적인 개념을 이해하기 앞서 우리는 Gradient Boosting의 개념을 먼저 잡는게 개인적으로 중요하다고 생각한다. 개인적으로 나는 왜 발전을 시켜야 했을까? 어떤 포인트가 한계라고 느끼게 했을까? 그럼 어떤 방식으로 바뀌었길레 발전이 되었나? 를 중요하게 생각한다. 전체적인 흐름을 보자. 💡 결정트리모델은 각 특징을 조건으로 구분하여 트리 모양으로 나눈 후 결과를 도출한다. 하지만 트리 하나만으로는 정확도가 그리..
MLop_ML_RandomForest_중고차 가격 예측 20221114 27일차 오늘 할 내용은 RandomForest를 이용한 중고차 가격예측이다. 데이터는 kaggle에서 참조했다. 간단한 데이터 세트 정보이다. 💡 RandomForest의 사전적 의미 다수의 결정 트리들을 학습하는 앙상블 방법이다. 랜덤 포레스트는 검출, 분류, 그리고 회귀 등 다양한 문제에 활용되고 있다. ❗ 앙상블 방법 학습 알고리즘(learning algorithm)들을 따로 쓰는 경우에 비해 더 좋은 예측 성능을 얻기위해 다수의 학습 알고리즘을 사용하는 방법이다. 앙상블 방법은 랜덤 포레스트의 랜덤화 특성을 더욱 향상 시켜준다. 이러한 방법으로한 포레스트의 예측 결과는 모든 트리의 예측 결과들의 평균으로 얻는다. 간단하게 설명하면 결정트리의 한계점을 보완해 만들어진것이 랜덤 포레..