일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 윈도우
- debian
- SFTP
- VM 호스트 주소
- 임펠러
- Notepadplus
- Printer Driver
- firefox 파이어폭스
- OpenSCAD
- Basic Auth
- FTP
- cifsutils
- startfile
- Regex
- springboot #spring #jackson
- Notepad++
- PDFCreator
- Notepad
- PyLucene
- Windows
- 가상머신호스트
- 보안연결실패
- 소스 <script> 로딩 실패
- React #React-Table
- react #router
- linux ssh root debian
- mailutils
- 정규표현식
- 노트패드뿔뿔
- Today
- Total
JJC's 테크니컬 다이어리
Octave 가우시안 분포 학습 데이타 생성 본문
Octave를 사용하여 분류를 위한 데이타 생성하는 예제 입니다.
C1클래스는 평균 (0;0) 공분산 (4 0;0 4)
C2클래스는 평균 (5;5) 공분산 (4 0;0 4)
를 갖도록 데이타를 생성합니다.
%100개의 샘플을 만듭니다.
N=100; % 각 클래스의 데이터 개수
%repmat (A, M, N) 함수 : 매트릭스 구성을 위하여 활용.
%A 행렬을 각 요소로 복사하여, M x N 크기의 블록 행렬을 구성하여 반환하는 함수
m1=repmat([0,0],N,1); %클래스 C1의 평균을 가지는 행렬 m1
m2=repmat([5,5],N,1); %클래스 C2의 평균을 가지는 행렬 m2
s1=[4 0;0 4]; %클래스C1의 공분산 행렬
s2=[4 0;0 4]; %클래스C2의 공분산 행렬
% randn 함수: Octave에서 help randn 명령으로 상세 설명 볼 수 있음
% 평균=0 이며 분산=1 인 정규 분포 랜덤 요소를 가지는 행렬을 반환하는 함수
X1=randn(N,2) * sqrtm(s1) + m1; %클래스C1의 데이타 생성
X2=randn(N,2) * sqrtm(s2) + m2; %클래스C2의 데이타 생성
% plot (X, Y, FMT) 함수
% 이차원 평면상에 산점도를 그린다.
% X1(:,1) 즉, X1행렬의 1열을 X축, X1(:,2) 즉, X1행렬의 2열을 Y축 으로 하여 산점도를 생성
plot(X1(:,1), X1(:,2), '+');
hold on;
plot(X2(:,1), X2(:,2), 'd');
% 생성된 X1, X2를 파일로 저장
save data4_1 X1 X2;