통계 2015. 12. 1. 22:27


'통계' 카테고리의 다른 글

중심극한정리 한줄요약  (0) 2015.08.26
//
프로그래밍/리팩토링 2015. 10. 27. 23:37


'프로그래밍 > 리팩토링' 카테고리의 다른 글

Refactoring - 1(중복코드, 긴메소드)  (0) 2015.05.14
//
프로그래밍/zookeeper 2015. 10. 18. 22:56
주키퍼에서는 특정노드의 변화(생성,데이터수정,자식노드의 추가/제거, ACL변경) 을 알 수 있다.
폴링방식을 취할 경우, 지속적인 커넥션비용 혹은 반응시간에 문제가 있을 수 있다.
그래서 주키퍼에서는 메시지 이벤트 방식을 사용한다. 이것은 watcher 를 구현해서 쓸 수 있다.
왓쳐의 process 함수를 구현해주는데 아래의 event type 으로 상태를 구별할 수 있게 구현되어있다.
해당 process 라는 함수는 clientcnx 클래스의 쓰레드에서 호출 하게 된다.
커넥션 정보등을 노드에 저장하고 해당 장비가 장애로 인해 커넥션이 끊어지면 해당 노드가 빠짐으로써 해당 이벤트를 체크해 다른 장비쪽으로 request 를 할 수 있겠다.
        public enum EventType {
            None (-1),
            NodeCreated (1),
            NodeDeleted (2),
            NodeDataChanged (3),
            NodeChildrenChanged (4);

            private final int intValue;     // Integer representation of value
                                            // for sending over wire

            EventType(int intValue) {
                this.intValue = intValue;
            }

            public int getIntValue() {
                return intValue;
            }

            public static EventType fromInt(int intValue) {
                switch(intValue) {
                    case -1: return EventType.None;
                    case  1: return EventType.NodeCreated;
                    case  2: return EventType.NodeDeleted;
                    case  3: return EventType.NodeDataChanged;
                    case  4: return EventType.NodeChildrenChanged;

                    default:
                        throw new RuntimeException("Invalid integer value for conversion to EventType");
                }
            }           
        }
    }

    abstract public void process(WatchedEvent event);
왓쳐의 구현
	
 public class testWatcher implements Watcher {
         public void process(WatchedEvent event) {	
                if( event.getType() == Event.EventType.NodeCreated 
			|| event.getType() == Event.EventType.NodeDeleted
			|| event.getType() == Event.EventType.NodeDataChanged
			|| event.getType() == Event.EventType.NodeChildrenChanged
				)
		{
			
			try {
				if( event.getType() == Event.EventType.NodeChildrenChanged ){
				     하위노드의 변경(노드생성, 삭제등등) 후 할 작업 코드~
                        }
 			} catch (KeeperException e) {
				e.printStackTrace();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}		
		}
 }

'프로그래밍 > zookeeper' 카테고리의 다른 글

[ZOOKEEPER] zookeeper 소스 분석 -1  (0) 2015.08.23
//
프로그래밍 2015. 10. 1. 11:29

명령 모드에서
V를 누르게 되면 하단에 Visual이라는 메세지가 출력됨 그 상태에서 주석 처리할 줄을 선택한 후에

:norm i#
-> # : 추가할 문자 


주석 지울 시에는 V를 눌러 Visual로 전환후 주석 제거할 줄 선택 후 
:norm 2x
-> 2는 선택된 줄의 왼쪽으로 부터 몇번째 문자 
-> x는 삭제를 의미


1v, 2v 이런식으로 v명령어 앞에 숫자를 붙여서 사용할수도 있으며 
1v 는 20줄 선택 2v는 40줄 선택 이런식으로 20줄씩 증가

'프로그래밍' 카테고리의 다른 글

특정 주기로 로그 삭제  (0) 2016.01.05
scrapy 설치 오류  (0) 2015.12.22
스트링 000 숫자 없애기. 정규식  (0) 2015.09.24
git 같은 브랜치 다른 호스트에서 작업  (0) 2015.09.03
mysql 대소문자 비교 컬럼  (0) 2015.09.02
//
프로그래밍 2015. 9. 24. 10:55
str.replaceAll("^0+", "");

str.format 을 쓸 수도 있음.

'프로그래밍' 카테고리의 다른 글

scrapy 설치 오류  (0) 2015.12.22
vi에서 여러줄 주석처리 & 삭제  (0) 2015.10.01
git 같은 브랜치 다른 호스트에서 작업  (0) 2015.09.03
mysql 대소문자 비교 컬럼  (0) 2015.09.02
맥에 java 설치  (0) 2015.06.12
//
프로그래밍 2015. 9. 3. 11:48
git merge origin/foo


'프로그래밍' 카테고리의 다른 글

vi에서 여러줄 주석처리 & 삭제  (0) 2015.10.01
스트링 000 숫자 없애기. 정규식  (0) 2015.09.24
mysql 대소문자 비교 컬럼  (0) 2015.09.02
맥에 java 설치  (0) 2015.06.12
mysql table 용량 보는 쿼리  (0) 2015.05.07
//
프로그래밍 2015. 9. 2. 19:29

mysql 에서 영문자는 모두 소문자로 변경되어 저장되는 듯 하다. 찾아보니 기본이 그거라함.

mysql.cof 에서 수정해주면 인지한다고 함. 하지만 안해봄. 기본 서버 디폴트 설정을 바꿀 수는 없음. 

그래서 특정 필드를 인지하게 하는 타입 찾음.

유니크키를 잡고 작업하는데 계속 중복제약에 걸려 팅겨져 나와서;; 해맴


varchar () = 대소문자 구분 안함 

varbinary () = 대소문자 구분 함 


필트 타입이 있다.



//
통계 2015. 8. 26. 08:44

모집단이 정규분포를 따르지 않더라도, 표본의 크기가 충분이 클 때 (보통 30이상) 여러 번 표본을 추출하여 표본 평균을 추출해보면, 이 표본 평균들은 정규분포를 따르며 모집단의 평균에 근접한다. 예를 들어 모집단에 1000개의 데이터가 있을 때, 30개씩 표본을 뽑아서 표본 평균을 구하는 실험을 100번했다면, 이 표본 평균들은 정규 분포를 따르며, 이 표본 평균의 평균은 모집단의 평균에 근접하게 된다.

'통계' 카테고리의 다른 글

통계 공부 (통계적 추론)  (0) 2015.12.01
//
프로그래밍/zookeeper 2015. 8. 23. 21:28

오픈소스 주키퍼에 대한 소스 분석. 

QuorumPeerMain 으로 시작.

'프로그래밍 > zookeeper' 카테고리의 다른 글

zookeeper watcher 구현  (0) 2015.10.18
//
데이터eng 2015. 8. 22. 00:01



선형회귀를 통한 최적의 해(직선)을 구하는 과정, 

종속변수와, 독립변수의 상관관계를 찾는 분석방법

회귀란 선형모델에서 선형인 직선 모델을 만들어주는 것을 뜻한다. 특히 기존 데이터에서 발견되는 상관관계를 찾아 들어오는 미래의 데이터에 대한 prediction을 한다. 특정 변화에 대한 값 예측등을 할 수 있다.

막상 해보니 아주 정확하게 맞춘다기보다 (물론 데이터 모델이 아주 선형적으로 이루어지고 있다면 가능하겠지만) 특정 오차범위를 감안해서 볼 수 있을 듯 하다.



y = 결과값

x = 입력값

b0 = intercept

b1 = 입력값에 대한 coefficient 




파란선의 모델을 최적화 시키는 것이 목표이다. 위에 파란 선을 회귀선(모델)이라고 한다.

빨간선은 만들어진 모델과 실제 특징데이터의 차이(거리)를 말하는데, 이것을 잔차(residual)이라하고 제곱 합이 최소화 되도록 한다.

이런것을 최소제곱추정법이라고 하고, 잔차제곱합(residual sum of squares) 을 구한다고 한다. 


B1은 기울기라고 보면 될 듯 하다.

그런데 이렇게 구해진 예측모델에서 나오는 값을 신뢰할 수 있을가? 

b1 = 3(coefficient) , b0=2(intercept)  =>  y = 3x+2 

위와 같이 모델이 만들어졌고, x=3 이라고 했을 때 실제 데이터에서는 y=11 이라는 값 하나가 아니라는 것이다. 

실제 데이터는 다른 값이 관측 되어질 수 있다. 그 종속변수에 대해서는 변동성이 있는 것이다.

이 모델은 추이를 나타내는 것이고, 변이에 대해서는 나타내고 있지 않다.

그래서 이런 부분을 보완하기 위해 아래의 세가지 방안을 해볼 수 있다.

1. 오차에 대한 가정을 모델에 적용

2. 더 많은 예측변수 추가

3. 예측 변수의 변환





'데이터eng' 카테고리의 다른 글

softmax, cross_entropy 에 대하여  (0) 2016.06.05
sigmoid 함수 미분 과정  (1) 2016.05.29
[라그랑제 승수]조건부 최적화 문제 풀기  (0) 2016.01.12
MLE(최우도 추정)에 관해  (0) 2015.12.31
bayes rule  (0) 2015.12.30
//