분류 전체보기 67

쉽지만 실수하기 쉬운 데이터 분할! - 예비법, 교차검증, 부트스트랩까지 완벽 정리

안녕하세요. 데이터 요리사, 루나입니다. 머신러닝에서 데이터는 자산입니다. 머신러닝 알고리즘 개발자는 자산을 운용하는 사람이 되겠네요. :) 데이터가 많다많다 하지만 실제로 데이터 분석할 때 보면 데이터가 한 없이 부족합니다. 아니 쓸만한 데이터는 부족합니다. ㅠㅠ 그렇기 때문에 데이터 분할은 정말 계획적으로 잘~ 해야하는데요. 우선 개념부터 정리해보겠습니다. 1 학습용 데이터 vs 테스트용 데이터 그리고 검증용 데이터 우리가 가지고 있는 데이터가 100이라면 보통 70~80%는 학습과정에서 사용하고, 나머지는 모델을 평가하는데 사용합니다. 학습과정에서 사용하는 데이터를 학습용 데이터(Training set), 평가 과정에서 사용하는 데이터를 테스트용 데이터(Test set)이라고 합니다. 머신러닝을 시..

[데이터 전처리 02] - 머신러닝에서 가장 중요한(?) 데이터 전처리(2) - 이상치(Outlier) 처리

안녕하세요. 데이터 요리사, 루나입니다. 수집한 데이터가 비어있는(결측치) 경우도 있는가 하면, 말도 안되는 이상한 값이 들어있는 경우도 있죠. 겨울철의 기온값이 40도가 넘는 값이 들어있다던지, 매출값이 비정상적으로 튀는 금액이 들어있다던지요. 이상치도 결측치와 마찬가지로 값을 삭제하거나 치환하여 데이터 분석에 유의미한 결과를 도출 할 수 있도록 전처리를 해주어야합니다. 하지만 결측치의 경우는 값이 비어있어서 찾는 방법이 수월했던 반면, 이상치는 값이 엉뚱한 값으로 채워져있어서 찾아내는 것이 쉽지 않습니다. 해당 도메인에 대한 지식이 있다면 쉽게 임계값(threshold)을 기준으로 처리해줄 수도 있겠지만, 그렇지 않은 경우에는 난감하죠. 이상치(Outlier)를 판단하는 방법에 대해서 정리해보겠습니다..

[데이터 전처리 01] - 머신러닝에서 가장 중요한(?) 데이터 전처리, 결측치 처리

안녕하세요. 데이터 요리사, 루나 입니다. 머신러닝은 인간이 한땀한땀 정리해준 수많은 데이터를 학습하기 때문에 학습시 사용하는 데이터가 얼마나 잘 가공되어있느냐에 따라 성능의 차이가 천차만별로 다를 수 있습니다. 데이터가 아무리 많이 수집되어있더라도 똥같은 데이터를 입력하면 똥같은 결과가 나올 수 밖에 없으니까요. 데이터 전처리과정에서 해야할 일은 어떤 데이터를 사용하느냐, 어떤 모델을 사용할 것이냐에 따라 다양합니다. 이미지일 수도 있고, 텍스트일 수도 있고, 수치형 데이터일 수도 있구요. 이번 글에서는 데이터 전처리 과정 중 '결측치 처리 방법'에 대해서 정리해보겠습니다. 1 결측치 처리란? 결측치라고 하는 것은 '데이터가 없다'는 것입니다. 일반적인 프로그래밍을 작성할 때 null 값을 참조하게 되..

탐색적 데이터 분석(EDA, Exploratory Data Analysis)이란?

안녕하세요. 데이터 요리사, 루나입니다. “ 탐색적 데이터 분석은 우리가 존재한다고 믿는 것들을 물론이고, 존재하지 않는다고 믿는 것들을 발견하려는 태도, 유연성, 그리고 자발성이다 ” 누군가 이런 말을 했다고 하는데, 출처를 못찾겠네요. 1 EDA란? EDA, 탐색적 데이터 분석 과정은 데이터 분석을 할 때 필수적인 과정입니다. 데이터를 주물러서 모델을 만들어야하는데, 어떤 맛인지도 모르고 무작정 고! 할 수는 없는 노릇이자나요. EDA는 내가 가지고 있는 데이터가 무슨 맛인지 무엇인지 이해하는 과정이기에 매우 중요합니다. 2 데이터 시각화를 활용한 EDA EDA를 할 때 대표적으로 사용하는 것이 다양한 차트입니다. 수 백만건 쌓여있는 데이터를 하나씩 살펴볼 수도 없고요, 본다고 하더라도 이해를 할 수..

[머신러닝] - 문제 정의하기, 지도학습, 비지도학습이란?

안녕하세요. 데이터 요리사, 루나입니다. 어떤 일이든지 내가 해결하고자 하는 것이 무엇인지 분명하게 정의하는 것이 매우 중요합니다. 머신러닝 문제를 정의하기 위해서는 기계가 학습하는 방법에 대해서 알고 있어야합니다. 기계는 어떤 식으로 학습을 할까요? 1 머신러닝 학습방법 기계가 학습하는 방법을 보통 세 가지로 분류합니다. 지도학습, 비지도학습, 강화학습 이렇게요. 여기서 '지도'는 map이 아닌 teach의 개념입니다. 기계에게 답을 가르쳐주느냐, 주지 않느냐에 따라서 크게 지도/비지도 학습으로 나누고 이 둘을 적당히 섞은 준지도학습(Semi-supervised Learning)이라는 개념도 있습니다. 각각의 학습 방법에 대해서 살펴보겠습니다. 1-1. 지도학습(Supervised Learning) 아..

머신러닝 2021.01.26

인공지능 개념 정리

인공지능 vs 머신러닝 vs 딥러닝 인공지능(Artificial Intelligence) 인간의 인지, 추론, 학습의 사고과정에 필요한 능력을 컴퓨터 시스템을 통해 구현함으로써 문제를 해결할 수 있는 기술 머신러닝(Machine Learning) 컴퓨터가 수많은 데이터를 스스로 학습하고 알고리즘을 통해 학습의 결과를 도출하는 인공지능의 한 분야의 학습법 딥러닝(Deep Learning) 고도화된 신경망 알고리즘을 적용하여 보다 빠르고 인간과 유사하게 행동하는 컴퓨터 프로그램을 구현한 학습방법 인공지능이 가장 큰 개념으로 머신러닝과 딥러닝을 포함하는 개념이지만, 실제로 요새 '인공지능한다'하면 '딥러닝한다'와 거의 동일한 개념으로 사용될 정도로, 인공지능 연구에서 딥러닝이 차지하는 비중이 커짐 딥러닝이 아..

딥러닝 2020.11.23

대규모 IT 프로젝트에 애자일을 적용하기 위한 방안

(정보처리기술사 시험 기출문제) 수십 명이 참여하는 대규모 IT프로젝트에 애자일(Agile)을 적용하기 위해서는 효과적인 방안수립이 필요하다. 아래 사항에 대하여 설명하시오. 1 대규모 IT 프로젝트에서 발생하는 주요 문제점 대규모 IT프로젝트의 특성상 참여자가 많아 커뮤니케이션이 어렵고 복잡성이 크고, 저가 경쟁과 촉박한 일정으로 요구 기능과 품질 모두 기대에 못 미치는 제품을 개발하기도 함- 애자일은 산출물을 최소화 하고 대화와 협력을 중시하기에 대규모 프로젝트에는 적합하지 않다고 생각할 수 있으나 어떻게 활용하느냐에 따라 프로젝트 성과는 달라짐 이해관계자간 의사소통이나 고객 참여 부족, 과도한 산출물, 낮은 사기등은 애자일로 해결 가능하기에 대규모 IT프로젝트에 애자일 적용 전략 필요점 : 하나의 ..

IT 이야기 2020.11.23

[통계 기초 정리] - 데이터 분석을 할 때 꼭 알아야하는 통계 개념'만' 정리

안녕하세요. 데이터 요리사, 루나입니다. 데이터 분석을 할 때 자주 등장하는 통계용어에 대해 정리해보았습니다. ('파이썬으로 배우는 통계학 교과서(한빛미디어)'를 참조하여 내용을 정리했습니다. 자세한 설명은 포함되어있지 않습니다.) 1 통계를 알아야하는 이유? 통계란 무엇인가? 표본(현재 가지고 있는 데이터)을 분석해서 모집단(아직 가지고 있지 않은 데이터)을 이해하는 활동 가지고 있는 데이터를 설명: 데이터를 정리 요약(평균값 등) → 기술통계 모르는 데이터의 예측과 추측: 과거의 데이터를 분석하여 미래의 데이터를 예측(예: 판매량 예측) → 추측통계 2 표본(=샘플, Sample)을 얻는 과정 샘플링(표본추출): 모집단(호수 안에 살고 있는 모든 물고기)에서 표본(잡은 물고기)을 얻는 활동 (단순) ..

Mecab 윈도우 설치 방법

somjang.tistory.com/entry/Windows-%EC%97%90%EC%84%9C-Mecab-mecab-%EA%B8%B0%EB%B0%98-%ED%95%9C%EA%B5%AD%EC%96%B4-%ED%98%95%ED%83%9C%EC%86%8C-%EB%B6%84%EC%84%9D%EA%B8%B0-%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 mecab 설치 §https://github.com/Pusnow/mecab-python-msvc 1) mecab-ko-msvc 설치: C 기반으로 만들어진 mecab이 윈도우에서 실행될 수 있도록 하는 역할 -https://github.com/Pusnow/mecab-ko-msvc/releases/tag/rele..

LIST