본문 바로가기

데이터사이언스28

반응형
SMOTE와 SMOTE 변형 기법들을 활용한 oversampling 저번 포스팅에서, 클래스 불균형에 대한 이야기와 해결하기 위한 방법들의 종류에 대해서만 소개하였습니다. https://bluediary8.tistory.com/132 DS/AI를 공부하기 위해 알아두면 좋은 것 8 - 클래스 불균형(Class imbalanced) 문제1 이진 분류(Binary classification)문제에서 학습되는 모델들은 일반적으로 확률 값을 출력합니다. 그리고 우리는 0.5를 기준으로 하여 1 또는 0으로 분류를 합니다. 즉, 일반적으로 우리는 데이터를 다 bluediary8.tistory.com 이번 포스팅에서는 클래스 불균형(Class imbalanced) 문제를 해결 하기 위한 여러 방법들 중 oversampling 방법에 대해 소개하겠습니다. Random over sam.. 2022. 12. 9.
머신러닝의 클래스 불균형(Class imbalanced) 문제1 이진 분류(Binary classification)문제에서 학습되는 모델들은 일반적으로 확률 값을 출력합니다. 그리고 우리는 0.5를 기준으로 하여 1 또는 0으로 분류를 합니다. 즉, 일반적으로 우리는 데이터를 다룰 때에 각 클래스의 비율이 5:5라고 가정을 합니다. 하지만, 현업에서 발생하고 우리가 다루어야 하는 데이터는 5:5의 비율을 충족하지 않습니다. 의료, 제조, 금융 데이터를 생각해보면 쉽게 받아들일 수 있습니다. 일반적으로 '정상'의 데이터는 '불량' 데이터에 비해 압도적으로 많을 가능성이 높습니다. 이러한 상태를 클래스 불균형 (Class imbalanced) 이라고 합니다. 클래스가 불균형하면 어떠한 문제가 생길까요? 학습하는 모델이 다수의 데이터에 과하게 적합이 됩니다. 우리가 알고 .. 2022. 12. 8.
반도체 제조 데이터의 특성과 문제에 관하여 우리가 처음 머신러닝이나 인공지능을 배울 때 다루는 데이터는 iris, titanic, boston house와 같이 매우 분석하기 좋고 이쁜(?) 데이터입니다. 하지만, 실제로 우리가 현업에서 다루는 데이터는 이보다 매우 복잡하고, 각 도메인마다 가지고 있는 데이터의 특성이 있습니다. 이번 포스팅에서는 제가 주로 다루는 반도체 제조 데이터의 특성에 대해 다루어 보고자 합니다. 반도체 제조 공정은 크게 8대 공정으로 이루어지는데요. 8대 공정에 대한 내용은 아래 포스팅을 참고 해 주시기 바랍니다. https://brunch.co.kr/@wyz/62 반도체 8대 공정, 10분만에 이해하기 안녕하세요, 경제유캐스트 윰기자입니다.오늘은 반도체 8대 공정에 대해서 준비했습니다. 반도체 관련 직종에 근무하시지 않.. 2022. 12. 1.
머신러닝과 인공지능의 풀리지 않은 문제 과적합(Overfitting) 데이터 사이언스 그리고 인공지능 분야에서 과적합(Overfitting)은 가장 큰 이슈라고 할 수 있다. 아직까지도 완벽하게 이를 완벽하게 해결 하기 위한 방법은 존재 하지 않는다. 다만, 최대한 과적합를 완화시키기 위한 여러 기법들이 있을 뿐이고, 이 또한 데이터의 특성에 따라 효과가 있을지는 미지수이다. 우선 과적합에 대해 다시 한번 정의를 하고 가자. 과적합이라 함은 학습 데이터를 학습한 모델이 학습 데이터에 대한 오차는 거의 가지지 않지만, 테스트 데이터 내에서는 높은 오차를 보이는 현상을 의미한다 (또한, 실제 데이터를 적절히 잘 설명하지 못하고 학습 데이터에 과하게 적합시키는 현상을 말한다). 학습 오차와 테스트 오차의 성능 차이가 어느 정도 이상이어야 과적합이 일어났다라고 기준을 정하기는 어.. 2022. 9. 28.
데이터 분석에 있어서 데이터 전처리의 중요성 우리가 현업에서 다루는 데이터는 잘 정제되어 있지 않을 확률이 높다. Raw 데이터로부터 우리는 모델링 할 수있게 끔 행렬 형태의 데이터로 가공할 필요가 있다. 그렇기 때문에, 데이터 사이언티스트들은 모델링하는 실력외에도 R과 Python을 활용하여 적절하게 데이터를 가공할 수 있는 능력을 필요로 한다. 게임 유저 이탈 예측 모델을 만든다 라고 가정해보자. 우리는 다음과 같은 데이터를 다루게 될 것이다. 우리는 보통 하나의 행이 하나의 관측치이며 하나의 열이 하나의 독립변수라고 생각을 하지만, 실제 우리가 다루는 데이터의 형태를 그렇지 않을 확률이 높다. 이 또한 매우 간단한 예제에 속한다. 우리는 이와 같은 데이터를 다음과 같은 형태로 가공할 필요가 있다. 하나의 행이 userid(관측치)이며 각 열들.. 2022. 9. 23.
모델의 선형성과 모델의 capacity에 관하여 우리가 머신러닝을 공부할 때 또는 통계학을 처음 공부할 때 배우는 모형은 바로 선형 회귀 모델(Linear regression model)이다. 그 중에서도 변수가 하나인 단순 선형 회귀 모델(Simple linear regression model)을 공부한다. 모델의 이름을 다시 한번 주의 깊게 보자 '선형' 회귀 모델이다. 즉, 아래 그림 처럼 독립 변수와 종속 변수 사이의 관계에 선형성이 있다라는 가정이 들어가 있다. 선형성이라 함은, X가 증가 할때 Y도 증가하는 특성을 의미한다. 이러한 관계에 있는 데이터들을 직선의 방정식으로 모델링 할 수 방법이 선형 회귀 모델인 것이다. 분명, 선형 회귀 모델은 다른 모델에 비해 설명력이 떨어진다고 느껴질 수 있다. 하지만, 그러한 문제들은 대부분 '비선형'.. 2022. 9. 22.
인공지능 모델의 해석력과 모델의 성능에 관하여 기본적으로 우리가 데이터를 활용하여 여러 머신러닝을 적합시키고 실험설계를 하고 결과를 내는 이유는 예측모델의 성능을 높이는 것에 있다. 물론, clustering, PCA등 unsupervised learning의 기법들을 활용할 때에도 있지만, 우리는 대부분 supervised learning에 초점을 두고 많이 공부한다. Kaggle등과 같은 머신러닝 대회 플랫폼만 보더라도, 성능을 0.0001%라도 올리는 것에 치중되어 있다라는 것을 알 수 있다. 필자 또한, 어떻게 하면 성능을 높일 수 있을지에 대해 많이 고민 하였고, 현재도 많이 고민하고 있다. 그러나, 데이터 분석을 할 때에는 잊지 말아야 할 사실이 있다. 바로 모델의 해석력이다. 일반적으로 모델의 해석력과 성능은 반비례 관계를 가지고 있다... 2022. 9. 15.
머신러닝과 데이터분석에서 중요한 실험 설계2 저번 글에 이어서 이번 글에서도 실험 설계에 대한 중요성을 예를 들어 다시 한 번 강조하고자 한다. 예시 ) 반도체 계측 문제 (초보자를 위해 전문 용어 대신 쉽게 설명하도록 하겠다) 반도체를 비롯한 각종 제조 데이터에서는 다양한 데이터가 수집되고 이는 시간적 특성을 가지고 있을 확률이 높다. 우리가 반도체 두계를 예측하는 문제를 다룬다고 가정을 해보자. 반도체 상품은 각종 설비를 거치고 그 설비내에서 다양한 변수에 의해 측정 값이 수집된다. 그리고 몇개의 설비를 거친이후에 반도체 두께를 계측하게 되는데, 12개의 상품중에 1~2개만을 측정을 한다. 이 두계를 계측을 하는건 반도체 품질 관리에 많은 영향을 끼치는데, 문제는 12개의 상품중에 1~2개만을 예측하기 때문에 나머지 10개정도는 계측을 하지 않.. 2022. 9. 8.