2021년 5월 구글에서 발표한 자료를 통해 MLOps을 공부할 수 있다. Practitioners guide to MLOps: A framework for continuous delivery and automation of machine learning 1. Experimentation (실험) 실험 기능을 통해 데이터 사이언티스트와 머신러닝 연구원이 공동으로 데이터탐색, 프로토 타입 모델 생성, 학습 기능 구현을 수행할 수 있다. ML 환경은 버전이 컨트롤되는 모듈식, 재사용 가능하고 테스트 가능한 소스코드 작성이 가능하다. 실험의 주요 기능은 다음과 같다. 깃(git)과 같은 버전 컨트롤 도구와 통합된 노트북(jupyter notebook) 환경 제공 사용한 데이터, 하이퍼 파라미터, 평가 지표를 ..
탄생 배경 많은 기업들이 머신러닝, 딥러닝을 이용한 프로젝트을 진행했지만 실제 서비스에 적용하기 힘들었다. 데이터 분석가가 만들어진 모델을 전달하면 프로그래머들은 기존 방식대로 모델을 배포하고자 했으나 작업환경차이, 버전차이, 패키지이해, 구조이해 등의 문제로 배포가 어려울 때도 있고, 배포했어도 모델이 제대로 작동하지 않는 문제가 발생했다. 그래서 많은 사람들이 모델을 잘 운영, 관리 할 수 있도록 MLOps가 탄생했다. MLOps는 Machine Learning Model Operationalization Management의 약자로 말 그대로 "머신러닝 모델 운영 관리"다. 일부는 Machine Learning 과 소프트웨어 분야에서 사용하는 DevOps(개발운영)의 합성어라고 하는데 모델은 운영한..
지난 포스팅에서 푸리에 변환에 설명했다. 이번에는 조금 다른 진동센서 데이터를 가지고 조금 다은 푸리에 변환을 해보려고 한다. 지난번 푸리에 변환에 대한 코드와 설명을 보고싶다면 아래 포스팅으로... 누수감지를 위한 진동센서 데이터 신호처리 및 누수 예측 (푸리에변환 FFT) 누수감지를 위한 진동센서 데이터 신호처리 및 누수 예측 (푸리에변환 FFT) 목표 : 누수감지를 위해 설치된 진동센서로부터 기록되는 진동데이터를 통해 정상인 상태와 누수가 진행되는 상태를 예측 방법 : 진동센서 데이터를 이용해 시간 영역 특징 추출과 주파수 변환 magicode.tistory.com 목표 : 진동센서 데이터를 통해 기계 고장 유형 분류 방법 : 시간 영역 특징 추출과 주파수 변환(fft) 및 하모닉 확인을 통한 고장..
다중 분류 모델을 만들었는데 성능 평가를 하려고 하니 에러가 떴다. ✅ f1_score Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted'] 에러 찾아보니 f1, recall, roc_auc 같은 경우에는 이진분류이 경우에 사용할 수 있다고 한다. 다중 분류 모델에서는 average라는 파라미터값을 설정해주면 사용할 수 있다. # 에러 f1 = round(f1_score(y_test, y_pred), ndigits=3) # 수정 f1 = round(f1_score(y_test, y_pred, average='micro'), ndigit..
목표 : 진동센서로부터 기록되는 진동데이터를 통해 정상인 상태와 비정상 상태를 예측 방법 : 진동센서 데이터를 이용해 시간 영역 특징 추출과 주파수 변환을 이용해 고장 분류 모델 생성 1. 진동 센서 데이터 확인 진동이란 힘에 의해 어느 물체가 같은 모양으로 반복하여 흔들리는 움직임이다. 본 프로젝트에서는 회전기기에서 측정되는 진동 데이터를 이용하는데, 회전기기가 진동하는 원인은 원심력이다. 원심력을 구하는 공식은 다음과 같다. 이러한 진동 센서 데이터는 1초에 4096번 측정되었다. 4096번의 측정이 진행된 데이터를 1개 세트라고 했을 때, 본 프로젝트에서는 train 데이터로 2065세트, test 데이터로 200세트를 다루었다. 2. 진동 센서 데이터를 이용한 시간 영역 특징 추출 kinetic ..
1. 라이브러리 # 필요한 라이브러리 불러오기 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow import keras tf.random.set_seed(777) # for reproducibility print(tf.__version__) 2. 데이터 확인 fashion = tf.keras.datasets.fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion.load_data() class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',..
이전에 학원에서 데이터 분석을 배울 때 포스팅했던 프로젝트 주제 회의 글이 있는데 이제는 어엇한 새내기 데이터분석가로 좀 더 의미있고 해볼만한 데이터 분석 주제를 가져와봤다. 프로젝트 회의하는 과정이 보고싶다면 아래 글을 참고하면 된다. [빅데이터 프로젝트] - 빅데이터 프로젝트 1. 주제 선정 회의 빅데이터 프로젝트 1. 주제 선정 회의 팀 프로젝트의 목표 1. 배운 기술 모두 활용 2. 마감시간에 촉박하지 않게 효율적, 가성비 있게 진행 3. 컴팩트하게! 4. 포트폴리오로 썼을 때 기업에서 솔깃해 할 만한 주제 선정 기업이 알고는 있 magicode.tistory.com 데이터세트 구하기 학생때 머신러닝프로젝트를 하면서 가장 어려움을 겪는 부분은 주어지는 공공데이터가 매우 제한적이라는 점이다. 공공데..
소프트맥스 우리는 무언가를 분류할 때 맞다 아니다(True/False)만 분류하는 것이 아니라 상, 중, 하로 분류하기도 하고 동물의 사진을 보고 강아지, 고양이, 토끼, 앵무새 등으로 분류하기도 한다. 그렇게 클래스가 여러개인 경우에도 0~1로 표현해주는 시그모이드 함수를 이용해 클래스를 분류하도록 하는 메소드가 소프트맥스다. 예를 들어 동물들의 사진을 두고 예측해보라고 했을 때 소프트맥스는 해당 동물이 강아지일 확률 0.7, 고양이일 확률 0.2, 토끼일 확률 0.1로 표현하여 모든 값을 더했을 때 1이 되도록 값을 출력해준다. 소프트맥스로 확률값을 구한 이후에 '원-핫인코딩'을 이용해서 제일 큰 값을 1로 나머지 값은 0으로 변환한다. 결론적으로 이 동물은 강아지라고 결정하게된다. # 필요한 라이브..
로지스틱 회귀는 이름에는 회귀라고 붙어있지만 사실상 분류할 때 사용하는 모델이다. 분류와 회귀 알고리즘에 대해 알고싶다면 이전 포스팅을 참고하면 좋다. 2021.07.30 - [머신러닝] - 파이썬 머신러닝 04-3. 분류 알고리즘 (결정트리, 앙상블 보팅, 배깅) 2021.08.03 - [머신러닝] - 파이썬 머신러닝 04-4. 분류 알고리즘 (앙상블 부스팅) 2021.08.04 - [머신러닝] - 파이썬 머신러닝 05. 회귀 # 필요한 라이브러리 가져오기 및 버전확인 import numpy as np import matplotlib.pyplot as plt %matplotlib inline import tensorflow as tf tf.random.set_seed(777) # for reproduc..
단순회기분석을 텐서플로우로 구현해보는 코드다. 나는 쥬피터랩에서 코드를 구현했다. 나도 데이터분석을 시작한 지 얼마 되지 않기 때문에 최대한 자세히 설명하려고 한다. #필요한 라이브러리 가져오기 import tensorflow as tf import numpy as np 라이브러리는 우리라 코드를 작성할 때 필요한 함수식을 모아둔 곳이라고 생각하면 좋다. 각각의 명령어에 기능들이 포함되어있으니 자주 사용하는 numpy와 pandas에는 어떤 기능이 있는지 알아두면 좋다. import numpy as np import 라이브러리 이름 as 사용할 약자 라이브러리는 기본적으로 import를 통해 불러오고, as를 통해 약자를 정해준다. 코드에서 numpy라고 다 적어줘도 상관은 없지만 빠른 코딩을 위해 np..