본문 바로가기
데이터 분석

데이터 분석 실패 원인 1위? 바로 변수 명명과 정제 실수!

by 데이널 2024. 10. 4.

'데이널' 컨텐츠에 포함된 정보는?

    데이터가 수집만큼 변수 명명과 정제도 중요하다.

     

    데이터 전처리에서 변수 확인이 끝나면 다음은 변수 명명과 정제가 필요합니다. 이 과정을 통해 컬럼명을 이쁘게 정리하고 그 안에 데이터도 클린징하는 작업을 수행하죠. 

     

    변수 명명과 정제의 필요성

    데이터셋을 우리는 Python이나 R에서 작업 해야 합니다. 데이터를 올리기 위해 가장 먼저 변수명을 정의해야 하죠. 컬럼명을 어떻게 사용할지 목적에 따라 명명하는 것이 좋습니다. 이 작업은 개발의 일관성을 위해 꼭 필요한 단계입니다.

     

    또 변수를 제대로 활용하기 위해서는 컬럼명을 한글로 명명하기보다는 영문으로 해야 관리하기  더 좋습니다. 그 다음은 데이터 안에 특수문자와 같은 잘못된 데이터를 제거하는 일을 합니다.

     

    이 두 단계를 거쳐야 데이터로 인한 최소한으로 실수를 막을 수 있습니다. 그렇다면, 어떻게 변수를 명명하면 좋을지, 또 변수 정제는 어떻게 해야 하는지 알아보시죠. 

     

    데이터 정제
    데이터 정제

    컬럼 영문화 및 명명규칙

    1. 속성(attribute, column), 파일명(fime name)

    속성과 파일명은 소문자로 단어 간은 언더바(_)를 사용하여 연결하여 사용합니다. 이런 방식을 '스네이크 케이스'라고 합니다. 예를 들어 Input 파일명이 있을 경우 traffic_data.csv와 같이 영문으로 생성하면 됩니다. 

     

    영문 사용의 장점은 프로그램에 따라 '한글명'은 또 다른 문제가 발생할 수 있습니다. 한글이 깨진다거나 하는 다양한 불편함이 있으니 영문으로 사용하는 것을 권장합니다. 

     

    2. 변수(variable)

    변수도 역시 '스네이크 케이스' 방식으로 명명하면 됩니다. 대신 변수명의 경우 자료 형식을 알아보기 쉽도록 '자료형식 + 단어'로 명명하는 방법도 가능합니다. 예를 들어, df_train으로 명명하면 dataframe 형식의 훈련 데이터라는 의미입니다. 

     

    3. 함수(function), 모듈

    함수와 모듈도 '스네이크 케이스' 방식으로 명명하는 것이 좋습니다. 너무 길 경우 약자로 줄여서 사용하는 것을 추천합니다. 명의 길이가 너무 길 경우 개발 생산성이 낮아집니다.

     

    만약 이미 표준화된 단어가 있으면 표준 단어를 활용하는 것이 가장 좋습니다. 예를 들면, train_test_split 형태로 정의하면 됩니다. 

     

    4. 모듈 상수

    모듈 상수의 경우 모두 대문자를 사용하고 단어마다 언더바(_)로 연결하여 명명합니다. 예를 들어, MAX_VALUE라고 상수명을 정의합니다. 

     

    5. 클래스

    클래스의 이름은 “캐멀 케이스” 방식으로 명명 합니다. 캐멀 클래스는 CoreClass와 같이 단어의 앞 글자만 대문자로 표현하는 방식을 말합니다. 클래스의 명명규칙은 아래와 같습니다. 

     

    1. 클래스의 public attribute는 언더바로 시작하지 말아야 함 (ex, name)

    2. 클래스의 protected instance attribute는 하나의 언더바로 시작 (ex, _initialized)

    3. 클래스의 private instance attribute는 2개의 언더바로 시작 (ex, __private_var)

     

    참고

    protected mothod : 암묵적 규칙에 의해 본 클래스 내부와 하위클래스에서만 호출

    private mothod : 본 클래스 내부에서만 사용하며 하위클래스나 외부에서 호출 불가

     

    변수 정제(특수문자 제거)

    수집 장치 또는 시스템을 통해 텍스트 데이터를 추출할 경우, 컨트롤 문자가 포함되어 있어 파이썬 내에서 오작동을 일으킬 수 있습니다. 그렇게 때문에 전처리 단계에서 특수 문자를 제거해줘야 합니다. 특수 문자가 있는지 확인하는 함수 또는 정규식을 사용하여 포함여부를 검토할 수 있습니다. 

     

    일반적으로 사용하는 방법은 속성의 빈도 확인(group by count)으로 특수 문자의 유무를 검출할 수도 있습니다. 모든 변수(칼럼)를 확인해 주는 패키지, 함수도 제공하고 있으니 참고하시기 바랍니다. 

     

    마무리

    지금까지 변수 명명과 정제의 중요성에 대해 알아보았습니다. 정확하고 체계적인 변수 관리를 통해 데이터 분석의 신뢰성을 높이고, 더욱 효과적인 결과를 얻을 수 있습니다.