2차 활동에 이어 3차 활동을 진행했습니다.
Rapid Miner 홈페이지에 들어가 다음 영상부터 셀프 스터디를 시작했습니다.
1. 터보 준비 – 소개
Rapid Miner의 기능 중 Trubo Prep을 진행하려고 들어갔는데 무료 버전에서는 Turbo Prep 기능을 사용할 수 없다고 합니다.
검색 후 Turbo Prep은 Paid, School 또는 Trial Rapid Miner와 함께 사용할 수 있었습니다.
Turbo Prep 기능은 단계별 프로세스를 직접 만들지 않고도 가이드 데이터 준비를 시작할 수 있는 좋은 방법입니다. Turbo Prep을 사용하면 각 준비 단계 후 데이터가 어떻게 보이는지 확인하고 필요한 경우 차트에서 직접 분석하거나 문제가 있는 경우 롤백할 품질 지표를 확인할 수 있습니다. 또한 원하는 대로 편집할 수 있습니다. 그래서 기회가 된다면 터보프렙 기능도 써보고 싶네요!
터보 프렙 기능을 사용할 수 없어서 영상에 나온 디자인 영역에서의 실습은 유사하게 진행했습니다!
비디오는 열 이름을 바꾸는 방법과 새 열을 만드는 방법도 보여줍니다.

1-1 titanic_training 부하 데이터
첫 번째,Rapid Miner에서 제공하는 샘플 데이터 중 titanic_training 데이터를 로드합니다.
Rapid Miner에 내장되어 있기 때문에 왼쪽에 있는 파일에서 직접 끌어다 놓을 수 있습니다.

1~2개의 성별 컬럼 이름을 성별로 변환
이름 바꾸기 연산자를 사용하여 변환하려는 열 이름과 재설정하려는 열 이름을 입력하고 적용을 누르고 실행하십시오.

처형 결과로 성별이 성별로 전환되었음을 알 수 있다.

1-3 Family Size라는 새 열 추가
새 열을 추가하려면 속성 생성기 연산자를 사용해야 합니다.
생성된 속성 매개변수 목록 편집을 클릭하고 원하는 새 열 이름을 생성합니다.
그런 다음 Function Expressions를 누르고 원하는 계산식을 지정합니다.

가족 규모
= 탑승한 부모 또는 자녀 수 + 탑승한 형제자매 또는 배우자 수 + 본인 (1)
새로 생성할 가족수 컬럼은 기존 데이터셋의 컬럼을 이용하여 함수식을 생성하고 Apply를 적용하였다.

아래 이미지와 같이 마지막 열에 “Family Size” 열이 추가된 것을 확인할 수 있습니다.

2. 터보 준비 – 데이터 정리
데이터 정제 단계는 데이터 전처리에 가장 많은 시간과 노력이 소요되는 매우 중요한 단계입니다.
동영상에서는 Turbo Prep 기능과 함께 Dummy Coding 및 PCA(Principal Component Analysis) 기능을 사용했습니다.
또한 모델링 결과를 더욱 향상시키기 위해서는 변수간 상관관계가 높은 항목을 제거하거나 예측하고자 하는 목표 변수에 큰 영향을 미치지 않는 데이터를 제거하면 더 좋은 결과를 얻을 수 있다고 명시하고 있다.
Turbo Prep 기능을 사용할 수 없어서 모든 단계를 따라하지는 못하지만 기본 연산자를 사용하여 연습했습니다.
2-1 누락된 값 바꾸기(구명보트,노인)
연령(평균으로 대체)
먼저 Rapid Miner에 내장된 Titanic 데이터 세트를 로드합니다.

데이터 가져오기 결과의 Missing Statistics 열을 보면 Cabin, Lifeboat, Age, Port of Embarking 및 Passenger Fare의 값이 누락된 것을 확인할 수 있습니다.

누락된 값이 있는 열에서 연산자의 누락된 값 바꾸기를 선택하여 나이 열의 누락된 값을 평균값으로 바꿉니다.
파라미터 설정 부분에서 Single(-> 하나의 컬럼만 선택한다는 뜻)을 선택한 후 속성을 바꾸고자 하는 속성인 Age로 지정합니다.
다음으로 기본값을 Average로 설정하면 Age 열의 누락된 값이 Age의 평균 값으로 대체됩니다.

아래 결과를 보면 결측치가 0으로 나오는 것을 볼 수 있고 결측치가 평균 연령인 29.881로 대치된 것을 볼 수 있다.


LifeBoat(값 없음으로 대체)
이전에 “Age” 열에서 사용된 누락된 값을 교체하여 “Lifeboat” 열의 누락된 값을 문자열 “None”으로 채웁니다.
교환원에게 다시 전화를 걸었습니다.
아래 이미지와 같이 파라미터 부분을 변경할 수 있습니다.
하나의 구명정만 선택되었기 때문에 기둥은 단일로 표시됩니다.
표준 부품에서는 값을 선택해야 하는데, 그 이유는 원하는 값이라고 부르기 위해서입니다.
값을 선택하면 아래에 추가 값이 생성되어 원하는 값을 삽입할 수 있습니다.
우리는 그것을 “None”이라고 부르기로 결정했으므로 “None”을 입력합니다.

결과 값을 살펴보면 LifeBoat 열의 누락된 값이 0으로 변경되고 누락된 Value 값이 None으로 대체된 것을 확인할 수 있습니다.


2-2 구명정 – 중복 제거
다음 동영상에서는 구명보트 열의 중복이 제거됩니다.
Lifeboat 열에 채워진 값 아래에서 이전에 누락된 값 바꾸기를 사용하여 제거된 “없음” 값의 중복이 제거됩니다.
중복 연산자 제거를 선택하고 아래 이미지와 같이 매개변수를 설정합니다.

연산자가 실행되면 none이라는 중복 행이 제거되고 28개의 데이터만 남습니다.

2-3 구명보트 – 더미변수 생성(Dummy Encoding)
-> 구명보트 칼럼 값은 categorical형 데이터(문자형)이므로 모델링을 진행하기 전에 반드시 숫자형으로 변경해야 한다. 따라서 범주형 변수를 숫자 값으로 변환하기 위해 코딩 기술이 사용됩니다. 이것은 “더밍(dumming)”이라고도 합니다. 범주형 변수를 더미화하는 데는 두 가지 방법이 있습니다.
첫 번째는 원-핫 인코딩(= get_dummies)이고 두 번째는 레이블 인코딩입니다.
두 인코딩의 차이점은 아래 그림에 나와 있습니다.
원-핫 인코딩을 하면 컬럼 수가 크게 늘어나고, 라벨 인코딩을 하면 값이 많아질수록 개수가 늘어나 가중치가 커진다.

Rapid Miner는 명목 대 숫자 연산자를 사용하여 더미화를 진행합니다.
아래 그림과 같이 파라미터 부분에서 “single”을 선택하여 “구명보트” 열만 지정하고 인코딩 방식을 선택하여 더미 인코딩으로 재설정하면 원-핫 인코딩에 해당합니다.

결과를 살펴보면 아래와 같이 열의 수가 크게 증가한 것을 확인할 수 있으며 Life Boat의 각 값에 0과 1을 할당하여 dummyization을 수행한 것을 확인할 수 있다.
