Loading...

데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편2

1. 논리연산 Python이랑 동일함 ==은 서로 같음 != 은 서로 같지 않음 a = b는 a가 b보다 크거나 같다 2. 기본 수학 연산자 + , - , * , / 으로 더하기 빼기 곱하기 나누기 ^ 으로 n제곱 연산 > 5^3 [1] 125 > 5+3 [1] 8 > 5-3 [1] 2 > 5*3 [1] 15 > 12/3 [1] 4 > 12//3 Error: unexpected '/' in "12//" 3. 특수 논리 연산자 ! 은 부정연산 & 는 and 연산 | 은 or 연산 > 3 == 5 [1] FALSE > !(3==5) [1] TRUE > TRUE & FALSE [1] FALSE > TRUE | FALSE [1] TRUE 4. 벡터 인덱..

데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편1

1. 출력함수 print() - 한번에 하나의 객체만 출력 > a print(a) [1] 3 cat() - 여러 항목을 묶어서 연결된 결과 출력 > cat('yun','dae','hyuck') yun dae hyuck > a b cat(a,b) 3 4 2. 할당연산자 a print(a) [1] 3 > a a = 5 > print(a) [1] 5 > a -> 6 Error in 6 6 -> a > print(a) [1] 6 3. 변수 목록보기 ls(), ls.str() 사용가능 > a ls() [1] "a" > ls.str() a : num 3 4. 변수 삭제하기 rm()을 사용 응용하여 rm(list=ls())로 모든 변수 목록 삭제 가능 5. 벡터 생성 c()를 사용 문자, 숫자, 논리값, 변수를 모두..

2022. 1. 29. 02:32

데이터 시험 단골손님인 혼동행렬(confusion matrix) 민감도 특이도 완전정복

1. 혼동행렬 완성 ⓐ예측을 기준으로 예측의 P, N을 그대로 쓴 다음에 ⓑ예측 = 실제이면 T를 붙이고 예측 != 실제이면 F를 붙인다 2. 민감도 특이도 정밀도 재현율 실제를 기준으로 묶어서 민감도와 특이도 민감도 = 재현율 대칭방향으로 정밀도 민감도 = $\frac{TP}{TP+FN}$ = 재현율 특이도 = $\frac{TN}{FP+TN}$ 정밀도 = $\frac{TP}{TP+FP}$ 3. F1 score 재현율과 정밀도의 조화평균 조화평균이란? 역수의 산술평균의 역수 $$F1 = \frac{1}{\frac{\frac{1}{재현율} + \frac{1}{정밀도}}{2}} = \frac{2 \times 재현율 \times 정밀도}{재현율+정밀도}$$ 4. TPR, FPR??? 1에서 그린 혼동핼렬 표를..

2022. 1. 10. 23:05

행렬의 기하학적 의미

1. 행렬의 정의 벡터를 원소로 가지는 2차원 배열이다. $n \times m$행렬 $X$는 다음과 같이 간단하게 나타낼 수 있다. $$X= \left ( x_{ij} \right )$$ 여기서 $i$는 행 인덱스, $j$는 열 인덱스 $x_{ij}$는 행렬 $X$의 $i$번째 행의 $j$번째 열에 있는 원소 2. 행렬의 분할 $i$번째 행을 기준으로 (빨간색 부분) 행벡터 분할하여 $n \times 1$행렬처럼 다룰 수도 있게 된다 행렬의 $j$열을 기준으로 열벡터 분할하여 $1 \times m$ 행렬처럼 다룰 수 있게 된다 3. 행렬의 기하학적 의미 벡터가 공간 상 하나의 데이터를 나타낸다면, 행렬은 공간 상 여러개의 데이터를 하나로 묶어서 표현한 것이다

2021. 12. 21. 00:18

몬테카를로(Monte-Carlo) 시뮬레이션에 대한 이론적인 설명

1. 목표 직사각형 안에 어떤 도형을 그려놓자. 빨간색 영역의 넓이는 얼마인지 알고 싶다. 2. 기본적인 원리 만약, 위와 같은 직사각형에서 임의의 난수를 하나 뽑는다고 하자. 그 난수가 빨간색 영역인 HIT에 들어갈 확률은 얼마인가? 직사각형의 넓이는 $c(b-a)$이고 빨간색 영역의 넓이를 $S$라고 하면, 기하학적 확률의 원리에 의해 $$p= \frac{(난수가 \; 목표로 \; 하는 \; 빨간색 \; 영역의 \; 넓이)}{(난수가 \; 있을 \; 수 \; 있는 \; 전체 \; 영역의 \; 넓이)} = \frac{S}{c(b-a)}$$ 그러나 $S$를 모른다는 것이 중요하다. 즉 우리는 p값도 알 수가 없다 그런데 $p$값을 다른 방법으로 추정해볼 수 있는데 위와 같은 직사각형 위에서 $N$개의 난..

2021. 12. 18. 23:52

list comprehension

일반적인 for loop보다 빠르게 리스트를 생성할 수 있다 위에가 일반적인 for loop 리스트 생성 아래는 list comprehension으로 생성 list comprehension이 조금 더 빠르다 1) 기본형 [ x for x in ] 에서 x를 뽑아서 x를 리스트에 넣어서 생성 2) 이중for문형 [ x+y for x in for y in ] 에서 x를 뽑은 뒤에 에서 y하나씩 뽑아서 x+y를 넣는다 바꿔말하면 for x in for y in .append(x+y) 3) 조건문 if [x for x in if ] 에서 x를 하나씩 뽑는데 에 맞는 경우만 리스트에 넣어준다 4) 조건문 if~else if만 쓰면 for문 뒤에 써야하는데 if~else를 쓰고 싶으면 for문 앞에 쓴다 [x if..