로운's 기술노트

Chapter 3. 데이터 분석 입문 (10주차_1/5) 본문

내배캠_데이터분석가_'24.04~08/회고

Chapter 3. 데이터 분석 입문 (10주차_1/5)

로운's 2024. 6. 18. 02:51

심화 프로젝트가 시작되었다.

일정은 24.06.17(월) 09:00 ~24.06.24(월) 21:00까지 제출로 총 8일간 진행된다.

데이터셋은 meta-data의 '트위터 사용자 성별 분류 프로젝트'이다.

컬럼 예시(변동중)

 

무엇보다 팀 프로젝트인 만큼 팀원들과 방향성을 맞추어 가는 것이 중요하다고 생각한다.

때문에 사전에 프로젝트 목표뿐 아니라 회의방식, 프로젝트 방향, 업무 role, 세부일정 등 많은 것을 정해두었다.

그러면 막연히 진행하는 것보다 프로젝트 흐름을 알기도 쉽고, 계획이 일부 틀어져도 대응이 수월하다.

스트레스도 안받는걸보니 p화가 되어가나-

 

4명으로 시작하는 만큼 더욱 똘똘 뭉쳐서 최선의 결과를 도출하는 것이 최우선 과제라고 볼 수 있겠다.

많은 회의와 튜터님들 조언을 참고하여 3가지 분야로 나누어 전처리를 진행했다.

하나는 수치 범주화. 특히 tweet_count컬럼은 max치 260만을 포함하여 200만이 넘는 경우가 더러 있었다.

 

두 번째는 시간 표준화. 날짜를 한국형식으로 변경하고, user_timezone컬럼을 각 유저들의 시간에 맞게 컬럼을 생성하여 적용해 주었다.

 

마지막은 색상 컬럼(2종)의 범주화.

이건 내가 맡았는데, 시각적 대비를 고려하여 기존 RGB 16진수값을 HLS로 변환하고 다시 Hue 30 간격으로 분할하여 총 12가지 범주로 나누었다.

Hue

# 범주Part
    hue = h * 360
    if 0 <= hue < 30:
        return 'Red'
    elif 30 <= hue < 60:
        return 'Orange'
    elif 60 <= hue < 90:
        return 'Yellow'
    elif 90 <= hue < 120:
        return 'Chartreuse'
    elif 120 <= hue < 150:
        return 'Green'
    elif 150 <= hue < 180:  # 춘록색
        return 'Spring Green'
    elif 180 <= hue < 210:  # 청록색
        return 'Cyan'
    elif 210 <= hue < 240:  # 담청색
        return 'Azure'
    elif 240 <= hue < 270:
        return 'Blue'
    elif 270 <= hue < 300:
        return 'Violet'
    elif 300 <= hue < 330:  # 자홍색
        return 'Magenta'
    elif 330 <= hue < 360:  # 담홍색
        return 'Rose'
    else:
        return 'Unknown'

 

이때 한 가지 의문이 들었는데, 

이렇게 분류하였음에도 잘못된 수치값으로 Unknown 처리된 4,086건 중에 "0"이 4,037건임을 알게 되었다.

사실 "0"은 검은색을 의미하는 "000000"을 엑셀 등에서 작성 시 "0"으로만 표기되기 때문에 이것을 검은색으로 처리해도 될지 의문이 들었다. 전체 20,050건 중 4,037건은 적지 않은 수치이기 때문에 따로 확인해 보아야겠다.

 

그리고 구글링을 하다 알게 된 사실인데,

그건 연령이나 성별에 따라 선호하는 색상이 있다는 것이다.

색상 분석 시 참고하도록 해야겠다.

 

성별, 연령에 따라 선호하는 컬러 (tistory.com)

Comments