목록전체 글 (110)
David의 개발 이야기!
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dEtS6U/btrBS0QOMkQ/COMkeKYxbBjS2Zg9HxZZl1/img.png)
9. 배치 처리를 해보자 합성곱연산도 배치처리를 지원한다. 그래서 각 계층을 흐르는 데이터의 차원을 하나 늘려 4차원 데이터로 저장한다. ( 데이터수, 채널 수, 높이, 너비 ) 순으로 저장한다. 데이터가 N개 일때, 아래의 그림과 같이 된다. 위 그림을 보면, 각 데이터의 선두에 배치용 차원이 추가되어있다. 이처럼 데이터는 4차원 형상을 가진 채 각 게층을 타고 흐른다. 여기서 주의할 점은, 신경망에 4차원 데이터가 하나 흐를때마다, 데이터 N개에 대한 합성곱 연산이 이뤄진다는 것이다! N 회분의 처리를 한번에 수행하는 의미이다! 10. 풀링 계층 풀링은 세로 가로 방향의 공간을 줄이는 연산이다. 위 그림은 최대풀링( 맥스 풀링 max pooling )을 스트라이드 2로 처리하는 것을 보여준다. 최대풀..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ciQflH/btrBTyGsUK9/e6WtnUhtC9o5MKFzq4aNj0/img.png)
Convolutional Neural Network, CNN 에 대해서 알아보자. 1. Affine 계층이란? 인접하는 계층의 모든 뉴런과 결합되어 있는 신경망을 완전연결(fully-connected, 전결합) 이라고 하며, 완전히 연결된 게층을 Affine 계층이라고 한다. Affine 계층을 사용하면, 층이 5개인 신명망은 위와 같이 구현할 수 있다. 완전연결 신경망은 Affine 계층 뒤에 활성화 함수를 갖는 ReLU 계층(혹은 Sigmoid 계층) 이이어진다. 위 그림에서는, Affine-ReLU 조합이 4개 쌓였고, 마지막 5번째 층은 Affine 층에 이어 소프트맥스 계층에서 최종 결과(확률) 을 출력한다. 2. CNN으로 이뤄진 네트워크의 예 CNN 에서는 새로운 '합성곱 계층(Conv)' ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qHae3/btrBzVhb6Ek/0UshBDJS0aJrRm7dPV1DHk/img.png)
카페의 매출 데이터를 이용하여 데이터 분석을 수행하고자함. 데이터는 아래와 같음. 1. readxl 패키지를 이용하여 엑셀 데이터 분석하기 - 데이터 불러오기 - 결측치 유무 확인하기 -> order_date 에서 발견된 결측치로는 언제 주문했는지를 알 수 없으므로 제가해야함. - 이상치 확인하기 - nrow() 함수를 이용해서 sales 데이터 행수를 확인해보면 62581 데이터 발생 - 이때 발생한 건 중에서 주문한 건수를 찾으려면 중복되지 않은 주문 ID를 세즌 unique() 함수와 length() 함수를 이용. 2. 카페에서 가장 많이 판매한 메뉴 확인하기 - 카페 메뉴 판매건수 확인하기 - 가장 많이 팔린 것부터 보이도록 정렬 -> 내림차순 : decreasing=TRUE - 카페 메뉴 판매 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vrDtT/btrBu5FiH3E/RmUXcZ0VfMs249vp3QBYLK/img.png)
수집한 데이터 자체를 검토하는것에 집중하는 결측치 처리와 이상치 처리와는 달리, 피처엔지니어링(Feature Engineering)은 기존에 존재하는 변수를 활용해서 새로운 정보를 추가로 생성하는 과정을 말한다. 이 방식을 통해서, 새로운 데이터를 추가로 수집하는 것이 아니라, 현재 데이터를 활용한다는 점에서 주목할 필요가 있다. 피처엔지니어링에는 1. 변수의 단위를 변환하기 위한 스케일 조정방식 2. 연송형 변수를 범주형 변수로 범주형 변수를 연속형 변수로 변환 하는 방법이 있으며 그외에도 3. 특정 변수의 존재유무를 0과1로 표현하는 더미변수를 생성할 수도 있으며, 4. 주말, 평일로 구분하거나, 시간 데이터를 오전, 오후라는 새로운 변수를 추가해서 활용하는 방법 도 존재한다. 1. 새로운 파생 변수..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cozSWH/btrBx04g8fR/CXnb8mb4cy7W2y1BsNxtKk/img.png)
이상치란 우리가 보유하고 있는 데이터의 중심으로부터 동떨어진 위치에서 관측되는 데이터를 의미함. 이런 데이터는 데이터 분석을 하기 위한 분석 모델을 왜곡할 수 있음. 이상치를 처리하려면, 논리적으로 해당 데이터가 존재할 수 있는지 여부, 또는 통계적으로 중심에서 멀리 떨어진 이상치를 판단해야함. 1. 이상치 데이터 찾기 - Table() 함수를 통해 이상치 찾았음 2. 이상치(논리적오류) 제거하기 - 논리적인 오류의 이상치인 점수가 100점 이상, 성별이 c인 것은 제거하였음. 3, 논리적으로 존재할 수 있는 이상치 처리하기 - 네모난 상자 윗부분이 제3사분위수, 검은색 줄이 제 2 사분위수, 상자 밑부분이 제1사분위수 라고 하며, - 제 1사분위수와 제3사분위수 사이의 거리를 IQR(Interquart..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YkMeM/btrBr826eCZ/C39b9eBoLf7rXKM50a8AJk/img.png)
1. 결측치 확인하기 R에서는 결측치를 NA(Not Available)로 표현하고 있으며, 결측치가 있을 경우 연산 결과가 NA로 표현됨. 문자형변수는 로, 숫자형 변수는 NA 로 표현됨. - 결측치를 확인하기 위해 is.na() 함수를 이용! - Table() 함수를 이용하여, 결측치의 개수를 파악할 수 있음! - 일반적으로 함수를 사용할떄, 결측치가 포함된 변수는 연산을 하기 어려움 - 연산 결과가 NA로 출력되기 때문에 결측치를 처리한 후 작업하는 것이 일반적임 - na.rm =TRUE 를 통해 결측치 제거 2. 결측치 제거하기 1. is.na(sample) 을 하면, NA가 있으면 TRUE로 반환, 없으면 FALSE 로 나옴 2. !is.na(sample)을 하면, 위에거에서 TRUE, FALSE..