- 16,000 row 초과시 저장 제한

반응형
Posted by JoeSung
,

 

 

$ rm -rf [폴더명]

반응형
Posted by JoeSung
,

 

최근 분석을 담당하고 있는 서비스의 백엔드가 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 구문들을 한번 정리해보고 싶은 욕심이 든다.

반응형
Posted by JoeSung
,

 

크롤링을 하다가 보면.. URL에 한글이 들어가야만 하는 경우가 있는데 이 때 본 에러다.

 

URL 내의 한글을 퍼센트 인코딩으로 변경해서 넣어주어야 하는데 아래와 같이 quote 명령어를 통해서 해결이 가능하다.

 

from urllib.parse import quote
quote("서울")

>>'%EC%84%9C%EC%9A%B8'

 

* 레퍼런스

https://ko.wikipedia.org/wiki/%ED%8D%BC%EC%84%BC%ED%8A%B8_%EC%9D%B8%EC%BD%94%EB%94%A9?fbclid=IwAR3Sk_251xX3Y0p4Bp9YsKL2oaBH6Ucf0Gmj8ImjPIuTzeoIvZVjaO_V_4w

 

퍼센트 인코딩 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 퍼센트 인코딩(percent-encoding)은 URL에 문자를 표현하는 문자 인코딩 방법이다. 이 방법에 따르면 알파벳이나 숫자 등 몇몇 문자를 제외한 값은 옥텟 단위로 묶어서, 16진수 값으로 인코딩한다. '위키백과'의 인코딩 인코딩 UTF-8 EUC-KR 16진수 표현 EC 9C 84 ED 82 A4 EB B0 B1 EA B3 BC C0 A7 C5 B0 B9 E9 B0 FA 퍼센트 인코딩 %EC%9C%84%ED%82

ko.wikipedia.org

 

반응형
Posted by JoeSung
,

 

django로 회원가입 기능 구현을 하게되면 로그인시에 username으로 로그인을 해야되는 번거로움을 만나게 된다. 요즘의 상용서비스들이라면 대개 email을 회원가입 구분자로 사용하는 경우가 많기 때문에 기본 세팅을 변경해줘야만 한다. 아래의 레퍼런스를 통해서 해결해보자

 

*레퍼런스

 

https://wsvincent.com/django-login-with-email-not-username/

 

Django Log In with Email not Username - Will Vincent

Django was first released in 2005 and since then a lot has changed in web development, notably the predominant pattern at the time of using username/email/password has been simplified to just email/password. However due to legacy reasons around the built-i

wsvincent.com

 

https://kamang-it.tistory.com/entry/Django-10login-logout

 

[Django-10]login, logout

참고: [Web Applicateion]서버 사이드와 클라이언트 사이드,백앤드와 프론트앤드 pip install django로 반드시 장고를 설치하여야한다. 또한 장고의 버전은 2이므로 1을 사용하는 사람들의 경우 서로 많이 차이날..

kamang-it.tistory.com

 

반응형
Posted by JoeSung
,

생각보다 구글 다큐먼트도 숨겨져 있어서...
Url을 생성하라는데 도대체 뭘 보고 생성해여 하는지 모르겠어서 한참보다가 찾은 도큐멘트다.

https://cloud.google.com/firestore/docs/manage-data/export-import

Bucket을 생성하는건 gsutil이라는 명령어를 쓰면 되나본데 그 생성된 bucket에 데이터를 넣기 위해서는 gclould 명령어 상의 export 기능을 써야하는듯
반응형
Posted by JoeSung
,


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

반응형
Posted by JoeSung
,



 [ 신경망에 대한 이론 설명 ]


 로센블레트 ( 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)




반응형
Posted by JoeSung
,




출처 - KB 지식비타민


반응형
Posted by JoeSung
,


분포란? 

확률밀도함수가 생긴 모양새


 - 연속형확률 분포 : 지수분포, 로그정규분포, t분포, 카이제곱분포, 감마분포 등

 - 이산형 확률분포 : 베르누이분포, 이항분포, 포아송분포 등


모수란?

Prameters, 모든 확률분포의 모양을 결정짓는 결정적인 수. 모든 확률 분포는 한 개 이상의 모수를 가진다.


 - 가령, 가장 유명한 정규분포의 경우 평균,분산의 2개의 모수가 존재

 - 대부분의 경우 모수를 정확히 알 수 없고, 이를 추측하는 과정을 추정(Estimation)이라 함.


비모수적 모델?

모수를 통해 모델을 결정짓지 못하는 경우 비모수적 모델이라 함


 - Ex : KNN


이 경우, 학습 이전에 조건을 주게 되는데 이는 모수와는 다른 개념이다.

 


정리하자면,

 - 모수적 모델: 회귀모델, 로지스틱회귀모델, 1차/2차 판별모델

 - 비모수적 모델: 의사결정나무, 랜덤포레스트 (Random Forest), K-최근접이웃



반응형
Posted by JoeSung
,