6편 - 데이터 전처리

래피드마이너 데이터 초간편 분석 6편!!​데이터 전처리~~!!​​지금까지 저희는 잘 정제되어 있는 데이터를 불러와 사용하였습니다.하지만 실제 데이터들은 불완전하고 정제되어 있지 않은 것이 대부분입니다.​분석을 위해 데이터 전처리는 반드시 거쳐야 하는 과정이며데이터 분석 단계 중 가장 많은 시간이 소요되는 단계입니다.​지금부터 데이터 전처리에 도움이 되는 몇 가지 오퍼레이터들을 소개시켜드리겠습니다. ​ 연습 첨부파일 : https://blog.naver.com/plantobiz/221564211625 ​프로세스 패널에 'read excel' 오퍼레이터를 드래그 앤 드롭하고Import Configuration Wizard를 눌러 데이터 파일을 선택해 줍니다.​출력포트와 결과포트를 연결하고 프로세스를 실행합니다.​​​실행 결과를 보면 데이터에서 몇 가지 문제점들을 발견할 수 있습니다.Statistics 탭으로 들어가 더 자세히 살펴봅시다.​​​'Gender' 와 'Age' 칼럼에 missing 값이 있음을 확인할 수 있습니다.'gender'를 클릭하면 4가지 값이 들어있는 것을 알 수 있습니다.​​​세부정보를 살펴보면 'male' 대신 'm'이 하나 있고,female 중 하나에는 공백이 들어가 있음을 확인할 수 있습니다.​​​'Churn' 칼럼에는 missing 값이 96개 존재하며,'Name' 칼럼은 'Santiago Cruz'라는 사람이 두 번 중복되어 나타나므로 제거해야 할 항목이 될 수도 있습니다.​​​우리 분석의 최종 목표는 고객의 충성도를 예측하는 것입니다.충성도 정보가 있는 고객들로 모델을 만들고충성도 정보가 없는 고객들을 예측할 수 있도록 데이터를 분할시켜 주어야 합니다.​​​위의 문제점들을 하나씩 해결해 나가도록 하겠습니다.​​1. 공백제거​데이터 앞 뒤의 공백 제거에는 'Trim' 오퍼레이터를 사용할 수 있습니다.​​모든 칼럼의 공백을 제거할 것이므로 파라미터 값은 default 그대로 사용합니다.​'Trim'을 클릭하고 마우스 오른쪽 버튼을 눌러 나오는 Breakpoint Before을 클릭하고 실행시켜줍니다.Trim 전후의 결과를 비교해 보도록 하겠습니다.​​​실행결과 4번째 행 female에 포함되어 있던 공백이 없어진 것을 확인할 수 있습니다.​Breakpoint를 넣게 되면 간단한 방법으로 실행 전후의 결과를 확인할 수 있으므로유용하게 이용됩니다.​Breakpoint를 이용하고 싶지 않다면 다시 한번 선택해 체크표시를 풀어주면됩니다.​​​2. missing 값 제거​missing 값 제거에는 'Filter Examples' 오퍼레이터를 사용할 수 있습니다.​​파라미터 패널에서 Add Filters를 클릭하고'Gender' 와 'Age'를 추가하고 드롭다운 메뉴에서 missing이 아닌 값만 가져오겠다는is not missing을 선택해 줍니다.​​​'Filter Examples'에 Breakpoint를 걸고 모든 프로세스를 연결하여 실행시켜 줍니다.​아래 하단을 보면 missing 값이 제거되어데이터의 개수가 999개에서 997개로 바뀐 것을 확인할 수 있습니다.​​​3. 중복 제거​중복 값 제거에는 'Remove Duplicates' 오퍼레이터 사용할 수 있습니다.​​'Remove Duplicates' 오퍼레이터를 프로세스 패널로 드래그 앤 드롭 하고 프로세스를 실행합니다.​​​실행 결과, 중복행이 제거되어데이터의 개수가 997개에서 996개로 바뀐 것을 볼 수 있습니다.​​​4. 값 바꾸기​값을 변경할 때는 'Replace' 오퍼레이터 사용할 수 있습니다.​​'Gender'의 m을 male으로 바꾸기 위해파라미터 패널에서 attribute filter type을 gender라는 단일 속성에 대해 작업하도록 설정해 줍니다.replace what에는 'm'을 replace by에는 'male'을 적어줍니다.​프로세스를 실행하고 결과를 확인해봅시다.​​​Gender 값이 모두 이상하게 변했습니다.RapidMiner에서 모든 문자 'm'을 대체한 것입니다.​​어떻게 Gender 값을 제대로 수정할 수 있을까요?​​​단어의 'm'이 아닌 문자 'm' 만 바꾸려면 정규표현식을 사용해야 합니다.정규표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어를 의미합니다.​단일 문자를 식별하기 위해 사용할 표현식은 \b[ ]\b 입니다.​​파라미터 패널에서 replace what의 찾기 표시를 클릭한 후Regular Expression을 \b[m]\b로 바꿔줍니다.​다시 실행시키면 결과가 올바르게 나온 것을 확인할 수 있습니다.​​​5. 데이터 분할​머신러닝 알고리즘을 학습시킬 때 모델이 얼마나 잘 학습되었는지 평가할 기준이 필요합니다.​가장 흔하게 사용되는 방법은 수집된 데이터를'Training Set'(학습데이터셋), 'Testing Set'(테스트데이터셋) 으로 나누어 사용하는 것입니다.​label 값이 있는 데이터(학습데이터)와 label 값이 없는 데이터(테스트데이터)로 분할해 주도록 하겠습니다.* 현 데이터에서 label 값은 'Churn' 칼럼을 말합니다.​​프로세스 패널에 'Filter Examples' 를 드래그 앤 드롭합니다.​​​Add Filters를 클릭하고 'Churn'이 missing 이 아닌 데이터를 걸러내기 위해 설정을 조정합니다.​​​store 오퍼레이터를 드래그 앤 드랍하고, 'Filter Examples' 오퍼레이터 unmatched 포트와 연결시켜줍니다.데이터는 'unlabeled customers'라고 저장해줍니다.​​이 과정은 'Churn'이 missing인 데이터즉, Testing data를 저장하는 과정입니다.​​​6. 불필요한 칼럼 제거​사용하고자 하는 칼럼을 지정해주고 싶을 때는 'Select Attribute' 오퍼레이터 사용할 수 있습니다.​현재 Store로 저장시키고자 하는 데이터는'Churn' 칼럼에 missing 값만 있기 때문에 공간을 절약하기 위해 해당 칼럼을 제거하여 줍니다.​​'Select Attribute'를 프로세스 패널의 'Filter Examples'와 'Store' 사이에 연결시켜 줍니다.파라미터 패널에서 attribute filter type을 single로 attribute는 churn으로 설정해줍니다.​지금 설정은 'Churn' 칼럼만 선택해 준 것이기 때문에invert selection을 체크해주어'churn'을 제외한 나머지 칼럼들만 선택하게 설정해줍니다.​데이터 전처리를 하다보니 프로세스 패널이 가득 차 공간이 복잡하므로프로세스 패널을 간단하게 정리해보도록 하겠습니다.​​데이터 정리에 쓰인 모든 오퍼레이터를 드래그 하고, 마우스 오른쪽 버튼을 클릭하여Move into new subprocess 를 선택합니다.​​​데이터 정리에 사용된 모든 오퍼레이터를 묶어 하나의 하위프로세스로 만들어 줌으로서프로세스가 간편하게 정리된 것을 확인할 수 있습니다.​마지막으로 training set을 정리하도록 하겠습니다.​먼저, 데이터 분석에 불필요한 정보인 'Name'을 제거합니다.​​'Select Attribute'를 드래그 앤 드롭하고 subprocess와 연결시켜 줍니다.​'Name'을 없애주기 위해서'Attribute Filter Type'에는 single을 attribute에는 Name을 선택하고Invert Selection을 체크해 줍니다.​모델이 예측할 변수를 알려주기 위해 'Set Role' 오퍼레이터를 사용하여'Churn' 칼럼을 label로 설정해줍니다.​'Store' 오퍼레이터를 결과 포트에 연결하고 프로세스를 실행시켜 줍니다.​​​실행 결과, 두 개의 데이터 셋이 만들어 진 것을 확인할 수 있습니다.​​​지금까지 데이터 전처리하는 방법에 대해 알아보았습니다.​​오늘 사용한 오퍼레이터 외에도래피드 마이너는 다양한 전처리 오퍼레이터를 제공합니다.​자세한 기능은 오퍼레이터 패널의 Cleansing 폴더를 참고하시기 바랍니다~!!​​더 자세한 기능이 궁금하시다면플랜투비즈니스컨설팅으로 문의해주세요~~~

Planto

logo
LOG IN 로그인
  • Services
    • Business Intelligence
    • Big Data
    • System Implementation
    • Consulting
  • Solutions
    • e·Mapp
    • RapidMiner
    • MSTR
    • SAS
    • AMS 책무구조
  • Platform
    • Big Data Platform
    • Smart Factory Platform
    • Data Science & Machine Learning Platform
  • Education
    • On/Offline Seminar
    • Information Center
  • ESG
    • 대표이사 메세지
    • ESG 전략체계
  • Company
    • About
    • History
    • Project
    • Contact Us
    • Notice

Planto

logo
  • Services
    • Business Intelligence
    • Big Data
    • System Implementation
    • Consulting
  • Solutions
    • e·Mapp
    • RapidMiner
    • MSTR
    • SAS
    • AMS 책무구조
  • Platform
    • Big Data Platform
    • Smart Factory Platform
    • Data Science & Machine Learning Platform
  • Education
    • On/Offline Seminar
    • Information Center
  • ESG
    • 대표이사 메세지
    • ESG 전략체계
  • Company
    • About
    • History
    • Project
    • Contact Us
    • Notice
Search 검색
Log In 로그인
Cart 장바구니

Planto

logo

Planto

logo
  • Services
    • Business Intelligence
    • Big Data
    • System Implementation
    • Consulting
  • Solutions
    • e·Mapp
    • RapidMiner
    • MSTR
    • SAS
    • AMS 책무구조
  • Platform
    • Big Data Platform
    • Smart Factory Platform
    • Data Science & Machine Learning Platform
  • Education
    • On/Offline Seminar
    • Information Center
  • ESG
    • 대표이사 메세지
    • ESG 전략체계
  • Company
    • About
    • History
    • Project
    • Contact Us
    • Notice
Search 검색
Log In 로그인
Cart 장바구니

Planto

logo
이용약관
개인정보처리방침
사업자정보확인

상호: PlanTo Business Consulting | 대표: 박경호 | 개인정보관리책임자: 박경호 | 전화: 02-782-3777 | 이메일: planto@planto.co.kr

주소: 서울특별시 영등포구 당산로41길 11, E동 1412호 | 사업자등록번호: 107-86-15583 | 통신판매: 미입력 | 호스팅제공자: (주)식스샵

floating-button-img