- 16,000 row 초과시 저장 제한
'모조리 Data > 모조리 SQL' 카테고리의 다른 글
Firebase 데이터의 분석을 도와주는 친절한 빅쿼리(Big Query) 정리 (0) | 2019.04.25 |
---|---|
PL/SQL로 엔트로피(Entropy) 구하는 프로시져(Procedure) 구현하기 (0) | 2017.10.26 |
ORA-01031 권한이 불충분합니다 (0) | 2017.10.25 |
- 16,000 row 초과시 저장 제한
Firebase 데이터의 분석을 도와주는 친절한 빅쿼리(Big Query) 정리 (0) | 2019.04.25 |
---|---|
PL/SQL로 엔트로피(Entropy) 구하는 프로시져(Procedure) 구현하기 (0) | 2017.10.26 |
ORA-01031 권한이 불충분합니다 (0) | 2017.10.25 |
$ rm -rf [폴더명]
3. 리눅스 분기절 사용법 if (0) | 2017.12.06 |
---|---|
2. 리눅스(Linux) 초보를 위한 기본 명령어 정리 (0) | 2017.11.27 |
1. 리눅스(Linux) 환경 세팅 (0) | 2017.11.27 |
최근 분석을 담당하고 있는 서비스의 백엔드가 Firebase로 넘어가면서 RDB가 아닌 No SQL 형태로 넘어갔다. SQL로 분석을 하는 입장에서는 매우 당황스러운 상황인데.. 빅쿼리라는 아주 핫하고 편한(속아서는 안돼 멈춰 Stay.. st..) 도구가 분석을 도와줄거라는 꾀임에 넘어가 와 그러면 우리도 어서 구글의 신기술을 맛보고 경험해봐요 라고 했다.
그러면 안됐다. 설령 내가 반대했더라도 상황이 뭐가 달라졌을까 싶지만.. 여하튼 최근에는 이 빅쿼리에 익숙해진다고 시간을 꽤 쓴 것 같다. 간단하게 몇 가지 포인트를 정리해보자면
- Standard SQL 기반으로 돌아간다. Legacy SQL이라는 형태도 지원을 하는 것 같은데 대부분의 레퍼런스는 Standard SQL로 작성된다. 그래서 맨 처음에 쿼리 시작 전 #standardSQL을 적절하게 넣어주고 시작하는 습관을 들이면 좋을 듯 하다.
- from 절에 standardSQL은 역따옴표로 테이블명을 감싸준다. 새로나온 UI에서는 그런 현상이 없는 것 같은데, 구 버전에서는 디폴트 설정이 Legacy SQL로 되어있기 때문에 [] <- 이걸로 테이블명을 감싸주게된다. 레거시 설정 하에서 스탠다드 기반의 코드를 작성해서 오류가 꽤 자주 난다.
- NoSQL 기반의 데이터 형태를 마치 RDB를 다루는 듯한 착각을 주는 도구이다. 곳곳에서 흔적을 찾아볼 수 있는데 Collections(테이블과 같은 개념) 내의 키 값에 물려있는 여러 값들의 경우에는 1 row에 여러 값이 같이 들어가는 현상이 나타난다. 이건 from절에 unnest라는 함수를 적절하게 사용해서 잘 풀어줘야 한다.
- 시간관련해서 포매팅할 때 일일이 형 변환을 잘 해줘야 한다. 가령 MySQL에서는 substr 펑션 내에 timestamp 형의 데이터를 넣고 데이터를 잘라도 알아서 잘 되었다면, 빅쿼리에서는 seconds -> timestamp -> string 이런식으로 단계적으로 형변환을 일일이 설정해서 넘겨줘야 한다. 만약 리전을 해외리전을 사용하고 있다면 시간대도 Asia/Seoul로 적절히 바꿔주어야 한다.
- data studio와의 연동성이 생각보다 괜찮다. 물론 어디까지나, 생각보다.
시간이 된다면 Standard SQL 구문들을 한번 정리해보고 싶은 욕심이 든다.
[bigquery] csv 파일 저장 (0) | 2019.08.02 |
---|---|
PL/SQL로 엔트로피(Entropy) 구하는 프로시져(Procedure) 구현하기 (0) | 2017.10.26 |
ORA-01031 권한이 불충분합니다 (0) | 2017.10.25 |
크롤링을 하다가 보면.. URL에 한글이 들어가야만 하는 경우가 있는데 이 때 본 에러다.
URL 내의 한글을 퍼센트 인코딩으로 변경해서 넣어주어야 하는데 아래와 같이 quote 명령어를 통해서 해결이 가능하다.
from urllib.parse import quote
quote("서울")
>>'%EC%84%9C%EC%9A%B8'
* 레퍼런스
django 로그인 기능 구현 - email로 아이디 세팅 변경하기 (0) | 2019.04.06 |
---|---|
맥에서 Jupyter Notebook 설치하기 (1) | 2018.01.21 |
0. 파이썬의 기본 철학 (0) | 2017.12.08 |
django로 회원가입 기능 구현을 하게되면 로그인시에 username으로 로그인을 해야되는 번거로움을 만나게 된다. 요즘의 상용서비스들이라면 대개 email을 회원가입 구분자로 사용하는 경우가 많기 때문에 기본 세팅을 변경해줘야만 한다. 아래의 레퍼런스를 통해서 해결해보자
*레퍼런스
https://wsvincent.com/django-login-with-email-not-username/
https://kamang-it.tistory.com/entry/Django-10login-logout
퍼센트 인코딩을 통한 urlopen unicode encode error ascii 에러 해결 (0) | 2019.04.08 |
---|---|
맥에서 Jupyter Notebook 설치하기 (1) | 2018.01.21 |
0. 파이썬의 기본 철학 (0) | 2017.12.08 |
데이터사이언티스트를 향한 질문 - 데이터 사이언티스트 하용호님 글 중 발췌 (0) | 2017.11.10 |
---|---|
R을 잘하기 위한 방법 - 전희원 SK 텔레콤 메니저 인터뷰 중 (0) | 2017.11.01 |
window cmd에서 port 확인 (0) | 2017.10.10 |
SQL에서 변경 사항/히스토리 확인하기 (0) | 2017.09.28 |
운영체제_파일 시스템 정리 (0) | 2017.05.31 |
Group by Count
data4_dt[, ':=' (COUNT = .N, temp = "justTest" ) , by = job_id]
Order By
data4_dt[order(-COUNT), ]
Delete Column
data4_dt$cnt <- NULL
data4_dt[ , cnt := NULL]
data4_dt
인공지능 신경망 ANN(Artificial Neural Network)의 기본 원리 정리하기 :: R 모조리 정복하기 (0) | 2018.03.26 |
---|---|
맥에서 ggplot 한글 깨질때 해결법 (0) | 2018.01.24 |
dplyr 연습 (0) | 2018.01.20 |
Apriori 패키지로 연관분석(Association analytics) 시각화하기 :: R 모조리 정복하기 (0) | 2017.11.23 |
앙상블 (Ensemble) 기법 중 배깅(Bagging) 기법 원리 이해하기 :: R 모조리 정복하기 (0) | 2017.11.22 |
[ 신경망에 대한 이론 설명 ]
로센블레트 ( 1958년 퍼셉트론 제안 )
사람의 뇌 ----------> 컴퓨터를 이용한 지능처리
↓ ↓
생물학적 신경망내에 인공신경망에서는
반복적인 시그널이 발생할 때 가중치라는 것으로
그 시그널을 기억하는 일종의 기억의 효과를 대체할 수 있음을
학습효과 있다. 설명했다.
1958년 로젠블라트의 퍼셉트론
반복
↓
1. 뇌 : 신호 -----> 암기
가중치
↓ 1 (신호가 흐른다.)
2. 인공신경망 : 신호 ----->
0 (신호가 안흐른다.)
인공신경망 기본 그림
컴퓨터 vs 뇌
↓ ↓
정보를 메모리의 정보를 저장하는 공간이
특정위치에 저장 따로 없음
↓
신경세포(뉴런)의 연결관계를
변경하는 방식으로 저장한다.
↓
신경세포(뉴런)은 그저 다른
신경세포에서 오는 신호를 받아서
자신의 신호를 내보내는 역할만 한다.
* 뉴런의 갯수
1. 사람 : 850억개
2. 고양이 ; 10억개
3. 쥐 : 7500만개
4. 바퀴벌레 : 몇백만개
5. 하루살이 : 지금 현재까지 나온 최첨단 인공지능의
뉴런수보다 많다.
[코드] -- > R 스크립트에 복붙 !
# 라이브러리
install.packages("neuralnet")
library(neuralnet)
# Step 1.
# 먼저 아래의 행렬식을 R로 구현해보세요.
x <- matrix(c(1,2), nrow = 1, ncol = 2)
y <- matrix(c(1:6), nrow = 2 , ncol = 3, byrow = F)
res <- x %*% y
res
# Step 2.
x <- matrix(c(1:6), nrow = 2, ncol = 3, byrow = T)
y <- matrix(c(1:6), nrow = 3, ncol = 2, byrow = T)
res <- x %*% y
res
# Step 3.
x <- matrix(c(5, 11, 17), nrow = 1 , byrow = T)
y <- matrix(c(1:6), nrow = 3, ncol = 2)
z <- x %*% y
a <- matrix(c(1:4), nrow = 2)
z <- z %*% a
z
# Step 4. '순'전파
# 2nd layer에서 3rd layer로 이동할 때
x <- matrix(c(5, 11, 17), nrow = 1 , byrow = T)
x <- x + c(1,2,3) # Bias 발생 각각 1, 2, 3
y <- matrix(c(1:6), nrow = 3, ncol = 2)
z <- x %*% y
z # 3nd layer의 value
# 3nd layer에서 4th layer로 이동할 때
z <- z + c(1,2) # Bias 발생
a <- matrix(c(1:4), nrow = 2)
z <- z %*% a
z <- z + c(1,2) # Bias 발생
z
#아래의 공식을 이용해서 시그모이드 함수를 R로 구현하시오
# 1
# h(x) = ----------------------------- (비선형 함수)
# 1 + exp(-x)
sigmoid <- function(x){
return(1 / (1+ exp(-x)))
}
x <- c(1,2,3,4,5,6,7,8,9,10)
sigmoid(x)
data.table 멀티 컬럼 어사인 방법 & order by (0) | 2019.03.05 |
---|---|
맥에서 ggplot 한글 깨질때 해결법 (0) | 2018.01.24 |
dplyr 연습 (0) | 2018.01.20 |
Apriori 패키지로 연관분석(Association analytics) 시각화하기 :: R 모조리 정복하기 (0) | 2017.11.23 |
앙상블 (Ensemble) 기법 중 배깅(Bagging) 기법 원리 이해하기 :: R 모조리 정복하기 (0) | 2017.11.22 |
출처 - KB 지식비타민
모수와 비모수적 기법 (0) | 2018.02.23 |
---|---|
[토막 딥러닝] 시그모이드 도함수 도출 (0) | 2018.01.18 |
Normalize Data (0) | 2017.12.03 |
선형회귀의 기본 가정 / 편미분 (0) | 2017.11.14 |
분포란?
확률밀도함수가 생긴 모양새
- 연속형확률 분포 : 지수분포, 로그정규분포, t분포, 카이제곱분포, 감마분포 등
- 이산형 확률분포 : 베르누이분포, 이항분포, 포아송분포 등
모수란?
Prameters, 모든 확률분포의 모양을 결정짓는 결정적인 수. 모든 확률 분포는 한 개 이상의 모수를 가진다.
- 가령, 가장 유명한 정규분포의 경우 평균,분산의 2개의 모수가 존재
- 대부분의 경우 모수를 정확히 알 수 없고, 이를 추측하는 과정을 추정(Estimation)이라 함.
비모수적 모델?
모수를 통해 모델을 결정짓지 못하는 경우 비모수적 모델이라 함
- Ex : KNN
이 경우, 학습 이전에 조건을 주게 되는데 이는 모수와는 다른 개념이다.
정리하자면,
- 모수적 모델: 회귀모델, 로지스틱회귀모델, 1차/2차 판별모델
- 비모수적 모델: 의사결정나무, 랜덤포레스트 (Random Forest), K-최근접이웃
스크랩)몬테카를로 시뮬레이션 (0) | 2018.03.25 |
---|---|
[토막 딥러닝] 시그모이드 도함수 도출 (0) | 2018.01.18 |
Normalize Data (0) | 2017.12.03 |
선형회귀의 기본 가정 / 편미분 (0) | 2017.11.14 |