[데이터 분석] 7. 통계분석 Ⅱ: 확률과 분포
·
Data Science/데이터 분석 📊
1. 확률일상에서 우리는 어떤 일이 일어날 가능성에 대해서 "확률은 ~%야" 라고 할 정도로 일어날 일에 대한 가능성이나 믿음의 척도로 사용한다. 실제 사전에서도 어떤 일이 일어날 가능성 또는 개연성으로 정의하고 있다. 이번 장에서는 확률을 수학적으로 어떻게 표현할 수 있는지 알아보자.1.1 확률표본, 표본 공간 그리고 사건확률을 수학적으로 표현하기에 앞서, 우리는 사건, 확률표본, 표본공간이라는 용어에 대해서 알아야한다. 앞서 말한데로 확률이라는 것은 어떤 사건이 일어날 가능성이라했다. 여기서 말하는 사건이 어떤 것을 의미하는지, 대상은 누구인지, 사건이 대상에게 어느정도로 영향을 주는 지에 대해 정의가 되어야 비로소 확률을 이야기 할 수 있다. 각각의 용어에 대한 자세한 설명은 다음과 같다. 1.1...
[데이터분석] 6. 통계 분석Ⅰ: 모집단 & 표본
·
Data Science/데이터 분석 📊
1. 통계학이란?데이터 분석에 대해서 알아보면 통계적인 지식이 반드시 필요하다는 것을 알 수 있다. 그렇다면 통계학은 뭘까? 통계학에 대한 정의를 사전에서 찾아보면 다음과 같다.통계학산술적 방법을 기초로 하여, 주로 다량의 데이터를 관찰하고, 정리 및 분석하는 방법을 연구하는 수학의 한 분야즉, 자료로부터 유용한 정보를 이끌어내는 학문이라고 할 수 있다. 유용한 정보를 이끌어내는 작업에는 자료의 수집과 정리, 그리고 이를 해석하는 방법 등을 모두 포함한다.2. 모집단과 표본2.1 모집단유용한 정보를 이끌어 내기 위해서는 자료로부터 살펴볼 대상이 필요하고, 대상을 통해 어떤 현상을 살펴볼 지, 살펴본 현상을 통해 어떤 결과를 말할 지에 대한 주장을 정의해야한다. 통계학에서는 살펴볼 대상을 가리켜 모집단이라..
[데이터 분석] 5. 데이터 전처리 Ⅱ: 정규화, 표준화
·
Data Science/데이터 분석 📊
0. 들어가면서이번 장에서 다루게 되는 정규화 및 표준화에 대한 이야기는 데이터 분석 뿐만 아니라 머신러닝, 딥러닝을 사용하기 위해서 기본이 되는 이야기이자, 매우 중요한 이야기가 될 것이다. 막대한 양의 데이터를 다루기 위해 데이터가 어떻게 분포하는 지에 따라 성능에 크게 영향을 줄 수 있기 때문이다. 그렇기 때문에 분석 및 모델학습에 사용되는 변수들이 최대한 비슷한 영향력을 가질 수 있도록 데이터를 변환해주어야 한다. 이번 장에서는 데이터를 변환하는 기술 중 기본이 되는 정규화와 표준화에 대해 알아보고, 서로 어떤 차이가 있고, 어떤 때에 활용되면 좋은지 등에 대해서 다뤄볼 예정이다. 1. 정규화 (Normalization)먼저 데이터 정규화(Normaliztion) 에 대해서 알아보자. 데이터 분석..
[데이터 분석] 4. 데이터 전처리 Ⅰ : 결측치 & 범주형
·
Data Science/데이터 분석 📊
0. 시작하면서 데이터 분석 접해봤다면 "전처리는 데이터분석의 전 과정 중 80%에 해당한다."는 이야기를 들었을 것이다. 그만큼 데이터를 분석하기에 앞서 분석가가 사용할 데이터를 얼마나 잘 가공하느냐에 따라 분석의 성공여부가 갈릴 수 있다는 말이기도 하다. 그리고 케글이나 데이터 공모전에 나오는 데이터는 잘 가공된 데이터를 사용하지만, 실제로 현업에 가면 날 것의 데이터를 내가 어떻게, 어느 정도로 가공하느냐에 따라 사용 가능한 범위도 달라지고, 분석의 깊이도 달라진다는 것을 많이 느끼고 있다. 그만큼 분석에 있어 전처리에 대한 방법이 중요하며, 이번 장과 다음 장까지는 기본적인 전처리 방법을 다룰 예정이며, 이 후에도 추가적인 방법들을 더 다뤄볼 예정이다. 이번 장에서는 기본적인 전처리 중 NULL ..
[데이터분석] 3. 데이터 자료구조 Ⅱ: R
·
Data Science/데이터 분석 📊
0. 시작하기 전에앞서 파이썬에서와 마찬가지로 R은 기본적으로 통계 프로그래밍을 위한 언어이지만, 최근 Shiny 와 같은 동적 웹 애플리케이션 생성 등 다양한 기능을 지원하고 있다. 때문에 이번 장에서는 데이터 자료 구조에 대한 기본적인 개념만 살펴볼 예정이며, 좀 더 자세한 설명을 필요로 한다면 "R Basic" 에서 관련된 내용을 찾아볼 수 있다.1. 스칼라스칼라란, 단일 차원의 값을 의미하며, 대표적으로 숫자 1, 2, 3 등을 예로 들 수 있다. R에서는 데이터 타입의 기본이 벡터이며, 스칼라는 길이가 1인 벡터와 같다고 볼 수 있다. 정수, 부동소수 등과 같은 모든 숫자형 데이터 타입과 문자열, 불리언 값(진리값)을 지원하며, 데이터가 없음을 의미하는 "NA", 값이 미정임을 의미하는 NULL..
[데이터 분석] 2. 데이터 자료구조Ⅰ: Python
·
Data Science/데이터 분석 📊
0. 시작하기 전에본래 파이썬의 자료구조에는 튜플, 리스트, 사전, 셋에 대한 내용을 다뤄야하지만, 해당 내용은 꼭 데이터 분석을 위해서 뿐만 아니라, 파이썬을 활용한 다양한 프로그래밍에서 활용되기 때문에, 이번 장에서는 넘어갈 예정이다. 혹시 필요한 사람이 있다면, "Python Basic" 에서 관련된 내용을 확인하기 바란다.1. N차원 배열(ndarray)numpy라는 라이브러리에 포함된 자료구조로, N차원 배열 객체를 의미하며, 같은 종류의 데이터를 담을 수 있는 다차원 배열이다. 모든 배열은 각 차원의 크기를 알려주는 shape라는 튜플과 배열에 저장된 자료형을 알려주는 dtype 객체를 가지고 있다. ndarray의 astype 메소드를 이용해 배열의 dtype을 다련 형으로 명시적 변경이 가..
[데이터분석] 1. 데이터의 이해
·
Data Science/데이터 분석 📊
1. 데이터와 정보1.1 데이터 (Data)데이터란 객관적 사실이라는 존재적 특성을 갖는 동시에 추론, 예측, 전망, 추정을 위한 근거를 의미합니다. 종류로는 크게 정성 데이터와 정량 데이터로 나뉘며, 구체적인 정의는 다음과 같습니다. ① 정성 데이터: 언어, 문자로 기술된 데이터 ② 정량 데이터: 수치, 기호, 도형으로 기술된 데이터데이터는 암묵지와 형식지의 상호작용에 중요한 역할을 하는데, 여기서 말하는 암묵지란, 학습과 체험을 통해 개인에게 습득되어 있지만, 겉으로 드러나지 않는 지식을 의미합니다. 특징으로는 공통화(Socialization), 내면화(Internalization)가 있으며, 이는 시행 착오와 오랜 경험을 통해 개인에게 습득된 무형의 지식이며, 대표적인 예시로는 과학적 발견들이 있습..
[Java Design Pattern] 42. Singleton
·
Language/Java ☕️
1. 디자인 패턴이란?프로그래밍에서 디자인 패턴이란, 자주 사용하는 설계 패턴을 정형화해서 이를 유형별로 가장 최적의 방법으로 개발하도록 정해둔 설계를 의미한다. 여기서의 패턴패턴이라 함은 각기 다른 소프트웨어 모듈이나 기능을 가진 다양한 응용 소프트웨어 시스템들을 개발할 때도 서로 간에 공통되는 문제가 있으며, 이를 처리하는 해결책 간의 유사점이라고 할 수 있다. 때문에 알고리즘과 유사할 수 있지만, 명확하게 정답이 있는 것이 아니며, 사용되는 프로젝트별 상황에 맞게 적용할 수 있다. 1.1 디자인 패턴 구조디자인 패턴은 크게 컨텍스트(Context), 문제(Problem), 해결(Solution)이라는 3가지 요소를 갖는다.① 컨텍스트 (Context)문제가 발생하는 여러 상황을 기술한 것으로 패턴이..
[Java Basic] 41. ThreadPool
·
Language/Java ☕️
1. ThreadPool마지막으로 스레드 풀에 대해서 알아보도록 하자. 병렬처리 작업이 많아지게 되면, 그만큼 실행되는 스레드의 개수도 많아지고, 스레드의 생성과 스케쥴링으로 인해 CPU의 처리량이 많아지게 되서 결과적으로 메모리 사용량이 증가한다. 이는 애플리케이션의 성능 저하에 주요 원인이 된다. 따라서 스레드의 양이 급증하는 상황이 많다면, 이를 막기 위해 사용해야되는 것이 스레드 풀(Thread Pool)이다. 스레드 풀은 작업 처리에 사용되는 스레드를 제한된 개수만큼으로 정해 놓고 작업 큐에 들어오는 작업들을 하나씩 스레드로 맡아서 처리하는 방법이다. 때문에 작업 처리 요청이 폭증해도 스레드 전체 개수가 늘어나는 것은 아니기 때문에, 애플리케이션의 성능이 급격히 저하되지 않는다. 자바에서는 스레..
[Java Basic] 40. 스레드 상태 제어
·
Language/Java ☕️
1. 스레드 상태스레드 객체를 생성하고, start() 메소드를 호출하게 되면 스레드가 실행된다고 앞서 언급했었다. 하지만, 바로 실행되는 것이 아니라 실행 대기 상태가 된다. 여기서 말하는 실행대기 상태란, 아직 스케쥴링이 되지 않아서 실행을 기다리는 상태를 의미한다. 실행 대기 상태에 있는 스레드 중에서 스레드 스케쥴링으로 선택된 스레드가 CPU를 점유하고 run() 메소드가 실행되면 그제서야 스레드가 실행되는 것이다. 이 때의 상태를 실행(Running) 상태라고 말한다. 또한 현재 실행 상태에 있는 스레드는 run() 메소드를 모두 실행하기 전에 스레드 스케쥴링에 의해 다시 실행 대기 상태로 돌아갈 수도 있다. 해당 스레드가 실행 대기 상태로 돌아가면, 그 외의 다른 스레드들 중에 하나가 선택되어..
SLYK1D
'분류 전체보기' 카테고리의 글 목록 (4 Page)