새소식

인기 검색어

TL

20/08/05 TL. octave/matlab tutorials(2), zoo 데이터셋 분석

  • -

오늘 할 일

수강신청

교수님께 메일 쓰기

coursera octave/matlab tutorials

교차검증 조사

RN 공부

zoo 데이터셋 분석

 

내일 할 일

데이터 모델링 스터디

coursera logistic regression

RN 기능 구현

 

---------------------------------------------------------------------------------------------------------------

 

A.*B : 행렬 A와 B의 각 원소별 곱셈.
=>Octave에서 .은 원소 단위의 연산을 의미.

log(v) : 행렬 v에 대해 각 원소에 대한 로그 계산

exp(v) : 밑이 e(오일러 수)이고 v의 원소로 각각 거듭제곱한 값 계산.
=> if) v = [1; 2; 3]
e^1
e^2
e^3

A'
=> A^T를 구해줌. 전치행렬

max 함수는 열단위로 값을 구해줌. ind로 인덱스 구할 수 있음.

A = magic(3)
=>마방진을 형성(각 행과 열, 대각선의 합이 같음.)
[r,c] = find(A >= 7)
=>r은 행, c는 열을 나타냄. 원소값이 7보다 큰 (r,c)값을 보여줌.

prod(a)
=>원소를 모두 곱해서 보여줌.
floor(a) vs ceil(a)

max(A,[],1)
=>열 단위로 최대값을 구한다. 1이 해당 열의 원소 중 최대값을 의미
max(A,[],2)
=>각 행의 최댓값
max(A(:))
=>최대 원소 반환.

pinv(A)
=>행렬 A의 역행렬 구하기.

-----------------------------------------------------------------------------

plot(t,y1)
=>가로축이 t, 세로축이 y1인 그래프 보여준다.

hold on
=>기존 그래프 위에 보여주라는 뜻.

plot(t,y1);
hold on;
plot(t,y2,'r');
xlabel('time')
ylabel('value')
legend('sin','cos')
title('myPlot')

print -dpng 'myPlot.png'

=> y1그래프 위에 y2그래프를 빨간색으로 보여준다.
=> 그 위에 x축에는 time, y축에는 value라고 라벨링 해준다.
=> 각 그래프에 라벨링을 해준다.
=> 제목을 지어준다.
=> 이미지 파일로 저장해준다.

figure(1); plot(t,y1);
figure(2); plot(t,y2);
=>그래프 2개를 따로따로 띄운다.

subplot(1,2,1)
plot(t,y1)
subplot(1,2,2)
plot(t,y2)
=> 한 그래프 화면을 1x2로 나누고, 그래프 1채워 놓고, 2채워 넣겠다는 뜻.

axis([0.5 1 -1 1])
=> 그래프의 x축을 0.5~1.0 , y축 범위를 -1~1로설정할 수 있다.

clf;
=>화면을 지워준다.

imagesc(A)
=>각 격자마다 다른 색으로 나누어서 보여준다.

-------------------------------------------------------------------------------------

for i=1:10,
v(i) = 2^i;
end;

indices=1:10
->1  2  3  4  5  6  7  8  9  10

for i = indices,
dispp(i)l
end;
->
1
2
3
4
5
6
7
8
9
10

i = 1;
while i <= 5,
v(i) = 100;
i=i+1;
end;

addpath('C:\Users\SeoKyung\Desktop')
=>built in path를 설정. function call할 때 다른 위치에서도 여기서 찾을 수 있음.

-----------------------------------------------------------------------------------

MATLAB은 인덱스를 0이 아닌 1부터 시작.
Octave는 벡터화해서 간략하고 빠르게 계산이 가능

 

-------------------------------------------------------------------------------------

https://github.com/whdgusdl48/TensorFlow-and-Sklearn/blob/master/zoo_classification/zoo_classification.ipynb

 

종을 분류하는 기준을 맞추기로 한 것 같다.

아마 조류들끼리는 당연히 깃털이 있을 것이고, 외래종인지는 중요하지 않고, 하늘에 사는 생물끼리는 연관이 크게 없고, 포식자도 크게 의미 없고, 수중에 사는 것들은 지느러미가 있고, 육상에 사는 생물들 중 일부는 다리가 있고, 생물의 이름은 당연하니까 의미가 없다고 생각해 지운 것이라는 생각이 든다. 그런데 개인적으로, 나였다면 breathes, aquatic을 지우고 feathers와 fins legs는 살렸을 것 같다. aquatic도 airbone처럼 사는 지역인데 너무 포괄적인 정보를 가지고 있어서 다른 정보들로 충분히 유추할 수 있을 것 같다. breathes는 육지 생물이라면 당연히 호흡을 하기 때문에, 역시 너무 포괄적이다. 그러나 깃털과 지느러미 다리 등은 각 객체별로 차이가 있을 것이라 생각한다.

from sklearn.model_selection import train_test_split train_test_split(arrays, test_size, train_size, random_state, shuffle, stratify)

(1) Parameter

arrays : 분할시킬 데이터를 입력 (Python list, Numpy array, Pandas dataframe 등..)

test_size : 테스트 데이터셋의 비율(float)이나 갯수(int) (default = 0.25)

train_size : 학습 데이터셋의 비율(float)이나 갯수(int) (default = test_size의 나머지)

random_state : 데이터 분할시 셔플이 이루어지는데 이를 위한 시드값 (int나 RandomState로 입력)

shuffle : 셔플여부설정 (default = True)

stratify : 지정한 Data의 비율을 유지한다. 예를 들어, Label Set인 Y가 25%의 0과 75%의 1로 이루어진 Binary Set일 때, stratify=Y로 설정하면 나누어진 데이터셋들도 0과 1을 각각 25%, 75%로 유지한 채 분할된다.

(2) Return

X_train, X_test, Y_train, Y_test : arrays에 데이터와 레이블을 둘 다 넣었을 경우의 반환이며, 데이터와 레이블의 순서쌍은 유지된다.

X_train, X_test : arrays에 레이블 없이 데이터만 넣었을 경우의 반환

 

출처 : http://blog.naver.com/PostView.nhn?blogId=siniphia&logNo=221396370872

 

df.iloc[ ]는 row와 column의 이름을 그대로 쓰는 것이 아니라 각 row와 column의 인덱스 값으로 인덱싱하는 방법이다.출처 : https://bearwoong.tistory.com/65

채점할 때 이렇게 하나보다.

'TL' 카테고리의 다른 글

20/08/08 TL  (0) 2020.08.08
20/08/06 TL. 선형회귀 복습  (0) 2020.08.06
20/08/04 TL | RN 참고 블로그, Octave tutorials, 분야별 프로그래밍 언어들  (0) 2020.08.04
20/08/02 TL  (0) 2020.08.02
20/07/29 TL NormalEquation  (0) 2020.07.29
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.