(Alter Rapid Miner 서포터즈) 3차 활동

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로 대치된 것을 볼 수 있다.


누락된 연령 값은 0입니다.

누락된 연령 값을 29,881로 채웁니다.

LifeBoat(값 없음으로 대체)

이전에 “Age” 열에서 사용된 누락된 값을 교체하여 “Lifeboat” 열의 누락된 값을 문자열 “None”으로 채웁니다.

교환원에게 다시 전화를 걸었습니다.

아래 이미지와 같이 파라미터 부분을 변경할 수 있습니다.

하나의 구명정만 선택되었기 때문에 기둥은 단일로 표시됩니다.

표준 부품에서는 값을 선택해야 하는데, 그 이유는 원하는 값이라고 부르기 위해서입니다.

값을 선택하면 아래에 추가 값이 생성되어 원하는 값을 삽입할 수 있습니다.

우리는 그것을 “None”이라고 부르기로 결정했으므로 “None”을 입력합니다.


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


구명보트의 결측값은 0입니다.

구명정 누락 값이 “없음”으로 변경되었습니다.

2-2 구명정 – 중복 제거

다음 동영상에서는 구명보트 열의 중복이 제거됩니다.

Lifeboat 열에 채워진 값 아래에서 이전에 누락된 값 바꾸기를 사용하여 제거된 “없음” 값의 중복이 제거됩니다.

중복 연산자 제거를 선택하고 아래 이미지와 같이 매개변수를 설정합니다.


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


2-3 구명보트 – 더미변수 생성(Dummy Encoding)

-> 구명보트 칼럼 값은 categorical형 데이터(문자형)이므로 모델링을 진행하기 전에 반드시 숫자형으로 변경해야 한다. 따라서 범주형 변수를 숫자 값으로 변환하기 위해 코딩 기술이 사용됩니다. 이것은 “더밍(dumming)”이라고도 합니다. 범주형 변수를 더미화하는 데는 두 가지 방법이 있습니다.

첫 번째는 원-핫 인코딩(= get_dummies)이고 두 번째는 레이블 인코딩입니다.

두 인코딩의 차이점은 아래 그림에 나와 있습니다.

원-핫 인코딩을 하면 컬럼 수가 크게 늘어나고, 라벨 인코딩을 하면 값이 많아질수록 개수가 늘어나 가중치가 커진다.


원-핫 인코딩과 라벨 인코딩의 비교

Rapid Miner는 명목 대 숫자 연산자를 사용하여 더미화를 진행합니다.

아래 그림과 같이 파라미터 부분에서 “single”을 선택하여 “구명보트” 열만 지정하고 인코딩 방식을 선택하여 더미 인코딩으로 재설정하면 원-핫 인코딩에 해당합니다.


명목상에서 숫자로

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


더미 진행 점수