사람들이 인공지능 발달의 우려로 제일 먼저 꼽는 것이 '일자리 감소' 일 것이다. 그 동안 사람이 해오던 일을 AI로 대체하는 것. 사람들은 그것을 우려한다. 그렇지만 이 기사와 같이 사람이 잘 하지 못했던 일을 인공지능을 통해 가능케 하는 것은 인공지능이 발달함으로써 기대할 수 있는 효과다. 의료, 병리와 같이 오차가 적고 시간이 빠를 수록 좋은 분야에서 인공지능은 우리에게 기대 이상의 큰 효과를 선물할 것이다.

이번 연구를 통해 의료, 병리 분야에서 좀 더 정확하고 효율적인 인공지능이 개발됐으면 좋겠다.

 

 

 

 

원문보기:

https://www.mk.co.kr/news/it/view/2019/04/276659/

EDA 중 '데이터 모양 확인하기' 파트

 

<1> 데이터 파악하기

- 데이터가 주어졌을 때 가장 먼저 하는 일은 데이터의 전반적인 구조를 파악하는 것. 어떤 변수들이 있는지, 몇 행으로 구성되어 있는지 전반적인 구조를 살펴본다.

 

데이터를 파악할 때 사용하는 기본 함수들

1.  head( ) - 데이터 앞부분 확인하기

- 데이터의 앞부분을 출력하는 기능. 괄호 안에 데이터 프레임 이름을 입력하고 실행하면 앞에서부터 여섯 번째 행까지 출력된다.   ex. head(exam)

- 여섯 번째 행보다 더 아래 행까지 출력하고 싶으면 데이터 프레임 이름 뒤에 쉼표를 쓰고 숫자를 입력하면 입력한 행까지의 데이터를 출력할 수 있다.     ex. head(exam, 10) #앞에서부터 10행까지 출력

 

2. tail( ) - 데이터 뒷부분 확인하기

- 데이터의 뒷부분을 출력하는 기능. 괄호 안에 데이터 프레임 이름을 입력하고 실행하면 뒤에서부터 여섯 행을 출력된다. ex. tail(exam)

- head함수와 마찬가지로 숫자를 입력하면 원하는 만큼의 행을 출력할 수 있다. ex. tail(exam, 10) #뒤에서부터 10행까지 출력

 

3. View( ) - 뷰어 창에서 데이터 확인하기 (*V는 대문자로 입력)

- 엑셀과 유사하게 생긴 '뷰어 창'에 원자료를 직접 보여 주는 기능. 원자료를 눈으로 직접 확인해 보고 싶을 때 사용한다.

 

4.  dim( ) - 데이터가 몇 행, 몇 열로 구성되어 있는지 알아보기

- 데이터 프레임이 몇 행, 몇 열로 구성되어 있는지 알아볼 때 사용. 출력된 2개 숫자 중에서 앞의 숫자는 '행', 뒤의 숫자는 '열'의 개수를 나타낸다.

- [1] 20  5 이렇게 출력되었다면 >> 이 데이터는 20행, 5열로 구성되어 있다는 것을 의미

 

5. str( ) - 속성 파악하기

- 데이터에 들어 있는 변수들의 속성을 보여준다. 모든 변수의 속성을 한 눈에 파악하고 싶을 때 사용

str(exam)  # 데이터 속성 확인

## 'data.frame' :    20 obs. of 5 variables:  # 데이터의 속성과 몇 개의 관측치와 변수로 구성되어 있는지 표시됨
## $ id      :  int  1 2 3 4 5 6 7 8 9 10 . . .  
## $ class   :  int  1 1 1 1 2 2 2 2 3 3 . . .
## $ math    :  int  50 60 45 30 25 50 80 90 20 50 . . .
## $ english :  int  98 97 86 98 80 89 90 78 98 98 . . .
## $ science :  int  50 60 76 38 60 45 97 85 50 70 . . .

- 위의 출력 결과 예시를 보면 exam 데이터가 데이터 프레임이고, 20개의 관측치와 5개의 변수로 구성되어 있음을 알 수 있다.

 

6. summary( ) - 요약 통계랑 산출하기

- '평균'처럼 변수의 값을 요약한 '요약 통계량'을 산출. ex. 중앙값과 평균 등

- 요약 통계량을 보면 변수의 특성을 파악하는데 도움이 됨

- 수치에 관해 나타내는 것이므로 '연속형 데이터'에만 의미 있음.

summary( )를 실행해 출력되는 요약 통계량들

 

(어떤 데이터를 분석하든, 가장 먼저 이러한 함수들을 활용해 전반적인 특징을 파악하는 작업을 해야함)

 

<2> 변수명 바꾸기

- 데이터의 전반적인 특징을 파악하고 나면 본격적으로 분석하기 전에 변수명을 수정하는 작업을 해야 한다. 변수명이 기억하기 어려운 문자로 되어 있으면 쉬운 단어로 변경하는 게 좋다.

ex.  분석하고자 하는 데이터에서 성별을 s_12 이런식으로 저장해두었다면 분석하기 전 sex로 바꿔놓는 것이 이해하기 쉽고 헷갈리지 않게 작업할 수 있다. 

 

*dplyr 패키지의 rename( )을 이용해 변수명 바꾸기

# 실습에 활용할 데이터 프레임 생성

df_raw <- data.frame(var1 = c(1, 2, 1), var2 = c(2, 3, 2))

df_raw

##    var1 var2
## 1     1    2
## 2     2    3
## 3     1    2
# rename( )을 이용하기 위해 dplyr 패키지 설치 후 로드 (dplyr은 데이터 조작 패키지)

install.packages("dplyr")  # dplyr 설치
library(dplyr)             # dplyr 로드

 

》 데이터 프레임 복사본 만들기 (중요)

- 변수명을 바꾸기 전에 원본을 보유하기 위해 데이터 프레임 복사본을 만든다. 새로운 변수명 df_new에 df_raw를 할당하는 형태로 코드 작성

df_new <- df_raw  # 복사본 생성

 

》 변수명 바꾸기

- rename(데이터 프레임명, 새 변수명 = 기존 변수명)  // 괄호 안의 것들이 순서가 바뀌면 실행되지 않음.

df_new <- rename(df_new, v2 = var2)  # var2를 v2로 수정
df_new

##    var1   v2
## 1     1    2
## 2     2    3
## 3     1    2

 

 

3. 파생변수 만들기

- 데이터에 들어 있는 변수만 이용해 분석할 수도 있지만, 변수를 조합하거나 함수를 적용해 새 변수를 만들어 분석할 수 있음. 기존의 변수를 변형해 만든 변수를 '파생변수(Derived Variable)'라고 한다. 

ex. 학생들의 이름, 영어 점수, 수학 점수로 이루어진 데이터에 각 학생별 영어 점수와 수학 점수의 '평균' 변수를 새로 만들 수 있음

 

** 변수를 조합해 파생변수 만들기

# 실습에 활용할 2개의 변수로 구성된 데이터 프레임 생성

df <- data.frame(var1 = c(4, 3, 8), var2 = c(2, 6, 1))

df
##    var1 var2
## 1     4    2
## 2     3    6
## 3     8    1
df$var_sum <- df$var1 + df$var2  # var_sum 이라는 파생변수 생성
df

##    var1 var2 var_sum
## 1     4    2       6
## 2     3    6       9
## 3     8    1       9
df$var_mean <- (df$var1 + df$var2)/2  # var_mean 이라는 파생변수 생성
df

##    var1 var2 var_sum var_mean
## 1     4    2       6      3.0
## 2     3    6       9      4.5
## 3     8    1       9      4.5

 

 

 

 

(출처; 쉽게 배우는 R 데이터 분석, 김영우)

+ Recent posts