티스토리 뷰
[Samsung SDS Brightics] Pre-processing : 결측값 처리 (1)
hae._.won1 2020. 8. 1. 21:46
여러분, 안녕하세요~?
이번 포스팅에서는 Pre-processing의 세 번째 단계인 결측값 처리 (1) 과정을 실습 해보려고 합니다 !
데이터 전처리 과정에서 가장 중요하게 다뤄야 하는 값 중 하나인 결측값 ( Missing Value ) 이란,
데이터 입력 과정에서 누락되어 데이터가 존재하지 않는 값으로 NaN, null 등으로 표시됩니다.
이러한 결측값은 분석 결과의 신뢰도에 직접적인 영향을 주기 때문에
데이터 분석 전에 수집한 데이터를 가공하는 전처리 과정이 반드시 필요한데요 !
그만큼 결측값 처리 과정은 전처리의 꽃 ! 전처리의 핵심 ! 이기 때문에
결측값의 유형에 따라 이번 포스팅과 다음 포스팅 두 시간에 걸쳐서 알아보려고 합니다 :)
이번 포스팅에서는 문자형 결측값 처리를 알아보고, 다음 포스팅에서는 숫자형 결측값 처리를 학습 해보겠습니다 !
자 ! 그러면 이제 본격적으로 [Pre-processing] Missing Value Processing (1) String 실습을 시작해보도록 할까요~?
■ Data Preparation
→ 문자형 ( String ) 결측값 : gender 변수 - 성별
[ 09_1_py_bmi .csv ]
■ Data Load ( Load 함수 )
0. Load 함수의 경로를 업로드한 데이터인 09_1_py_bmi 로 지정하여 실행합니다.
→ gender 변수인 성별 정보의 결측값 처리 필요 !
■ Pre-processing 1 ( String Summary 함수 )
▶▷ String Summary 함수를 이용하여 문자 타입의 데이터 탐색을 통해 이상값을 확인하고, 원인을 파악하여 보정 기준 정의하기 ◁◀
1. 새로운 함수를 생성하기 위해서 Select Function 팝업창이 뜨면, String Summary 함수 버튼을 클릭하고
Load 함수로부터 Input 값을 받기 위해서 연결합니다.
2. String 타입의 결측값을 확인하기 위해서 String Summary 함수의 Properties Panel에서 Input Columns로 gender (성별) 변수를 선택하고 Run 버튼을 클릭합니다.
3. String Summary 함수의 두 번째 결과 테이블인 gender 변수 관련 기초 통계량을 확인하기 위해서 Chart Settings 버튼을 클릭하여 Data 탭의 Data Source로 String Summary (count_table) 을 선택합니다.
4. Output Panel을 통해 gender (성별) 변수의 구분자인 F ( : 여 ), M ( : 남 ) 에 대한 대문자, 소문자, 그리고 오입력된 문자 G, N, n, 공백 등이 포함되어 있는 것을 확인할 수 있습니다.
Problem | Solution | ||
G ( 대문자만 존재 ), 공백 | 오입력 | → 제거 | Filter 함수 |
f, m, n | 소문자 | → 대문자로 변환 | Capitalize Variable 함수 |
N ( 대문자 소문자 모두 존재 ) | 오입력 | → M값으로 변환 | Add Column 함수 |
■ Pre-processing 2 ( Filter 함수 )
▶▷ Filter 함수를 이용하여 보정기준에 따라 오입력 값 제거하기 ◁◀
Problem ① | Solution ① | ||
G ( 대문자만 존재 ), 공백 | 오입력 | → 제거 | Filter 함수 |
1. 새로운 함수를 생성하기 위해서 Select Function 팝업창이 뜨면, Filter 함수를 클릭합니다.
2. Filter 함수에서 String 타입의 gender (성별) 변수의 결측값인 문자열 G와 공백 문자를 함께 제거하기 위해서
Filter 팝업창이 뜨면, Condition 옵션에서 And를 선택하고, gender 컬럼에 대해서 Not in ['G', '']를 설정한 후,
Run 버튼을 클릭합니다.
gender not in ['G', '']
3. Filter 함수의 실행 결과 gender 변수에서 G와 공백 문자가 제거된 것을 확인할 수 있습니다.
■ Pre-processing 3 ( Capitalize Variable 함수 )
▶▷ Capitalize Variable 함수로 대소문자 변환하기 ◁◀
Problem ② | Solution ② | ||
f, m, n | 소문자 | → 대문자로 변환 | Capitalize Variable 함수 |
1. 새로운 함수를 생성하기 위해서 Select Function 팝업창이 뜨면, Capitalize Variable 함수를 클릭합니다.
2. Capitalize Variable 함수에서 String 타입의 gender (성별) 변수의 소문자를 대문자로 변환하기 위해서
Input Columns로 gender을 선택하고 Replace Mode로 Uppercase를 선택한 후 Run 버튼을 클릭합니다.
3. Capitalize Variable 함수의 실행 결과 새로운 변수 gender_upper 컬럼이 생성되고 gender 변수가 모두 대문자로 변환된 것을 확인할 수 있습니다.
■ Pre-processing 4 ( Add Column 함수 )
▶▷ Capitalize Variable 함수로 대소문자 변환하기 ◁◀
Problem ③ | Solution ③ | ||
N ( 대문자 소문자 모두 존재 ) | 오입력 | → M값으로 변환 | Add Column 함수 |
1. 새로운 함수를 생성하기 위해서 Select Function 팝업창이 뜨면, Add Column 함수를 클릭합니다.
2. Add Column 함수에서 String 타입의 gender (성별) 변수의 결측값인 문자열 N을 M값으로 변환하기 위해서
Add Column 팝업창이 뜨면,
- New Column Name : gender_replace
- New Column Type : String
- Expression Type : SQLite
새로운 컬럼을 생성한 후, 다음과 같이 조건문을 입력하여 Run 버튼을 클릭합니다.
- Condition : gender_upper = 'M' : M
gender_upper = 'N' : M
gender_upper = 'F' : F
- ( else ) : gender_upper
Expression Type: sqlite
Column Name: gender_replace
gender_upper='M'
=> M
gender_upper='N'
=> M
gender_upper='F'
=> F
Else
=> gender_upper
3. Add Column 함수의 실행 결과 새로운 변수 gender_replace 컬럼이 생성되고 gender 변수의 N이 M으로 변환된 것을 확인할 수 있습니다.
■ Pre-processing 5 ( String Summary 함수 )
▶▷ String Summary 함수로 보정작업에 대한 검증을 수행하고, 새로운 데이터로 저장하기 ◁◀
1. 새로운 함수를 생성하기 위해서 Select Function 팝업창이 뜨면, String Summary 함수 버튼을 클릭하고
Add Column 함수로부터 Input 값을 받기 위해서 연결합니다.
2. 보정된 String 타입의 결측값을 확인하기 위해서 String Summary 함수의 Properties Panel에서 Input Columns로 보정된 gender_replace (성별) 변수를 선택하고 Run 버튼을 클릭합니다.
3. String Summary 함수의 두 번째 결과 테이블인 gender_replace 변수 관련 기초 통계량을 확인하기 위해서 Chart Settings 버튼을 클릭하여 Data 탭의 Data Source로 String Summary (count_table) 을 선택합니다.
4. Output Panel을 통해 보정된 gender_replace (성별) 변수의 구분자가 F ( : 여 ), M ( : 남 ) 2개로만 표현되는 것을 확인할 수 있습니다.
지금까지 ~ 전처리 - 결측값 처리(1) 문자형 결측값 처리 튜토리얼 실습이었습니다 !
※ Tutorial → [ Pre-processing ] Missing Value Processing (1)
감사합니다 :)
https://www.brightics.ai/kr/docs/ai/s1.0/tutorials/09_1_py_Missing_String_Imputation?type=insight
Brightics Studio
www.brightics.ai
'Samsung SDS Brightics' 카테고리의 다른 글
[Samsung SDS Brightics] Pre-processing : 이상값 탐지 및 제거 (1) (0) | 2020.08.03 |
---|---|
[Samsung SDS Brightics] Pre-processing : 결측값 처리 (2) (0) | 2020.08.02 |
[Samsung SDS Brightics] Pre-processing : 데이터 샘플링 (0) | 2020.07.28 |
[Samsung SDS Brightics] Pre-processing : 데이터 업로드 & 데이터 결합 (0) | 2020.07.25 |
[Samsung SDS Brightics] 미리 만들어진 Pre-built 함수로 무엇인가 부족하다면 ? 걱정하지 말고 새로운 UDF를 만들자 ! (0) | 2020.07.23 |
- Total
- Today
- Yesterday
- Brightics Tutorial
- mtcars
- Public Wifi
- ANOVA 검정
- 삼성 SDS 데이터 분석
- 삼성 SDS 데이터 분석 프로젝트
- Brightics 서포터즈
- 전처리 과정
- 전파누리
- Missing Value
- 이상값
- ANOVA
- 분석 프로젝트
- 삼성 SDS
- Brightics 팀미션
- 브라이틱스 스튜디오
- 브라이틱스 튜토리얼
- eda
- Brightics 홍보 UCC
- 전처리
- 이상값 탐지 및 제거
- 결측값 처리
- Brightics vs R
- Brightics AI
- 데이터전처리
- Wifi Free
- Pre-processing
- 결측치 처리
- 데이터 전처리
- Brightics 개인미션
- Brightics 팀 분석 프로젝트
- data analysis
- Brightics Studio 실습
- Brightics 분석 프로젝트
- 브라이틱스
- Brightics Studio
- Brightics 개인 분석 프로젝트
- 한국공항공사
- 데이터참쉽조
- Outlier Detection and Removal
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |