Section2 Project review part1

Gerald·2022년 5월 29일
0

1. 데이터 찾기 및 선정

Section1때는 정해진 데이터로 프로젝트를 진행했었다. 하지만 이번 Section2 프로젝트는 스스로 찾아서 문제점과 가설 등을 설정해서 분석해야 했다. 다른 동기들은 목표가 있는 친구들과 나처럼 아직 뚜렷하게 어느분야로 가고 싶은지 정하지 못한 친구들이 있었다. 목표가 있는 친구들은 데이터를 정할때도 비교적 주제를 쉽게 정했던거 같다. 그리하여 구체적인 계획은 없지만 나중에 창업을 최종 목표로 하고 있기에 창업에 관한 주제로 찾기 시작했다. 개인적으로 데이터를 찾을 수 있는 곳은 많았지만 캐글의 경우 정리가 되어있어 연습하는 데이터를 찾기엔 좋았다고 느꼇다. 따라서 케글(https://www.kaggle.com/datasets/ajitpasayat/startup-success-prediction-dataset)에서 선정했다. 선정한 데이터를 통하여 창업시 미래를 예측하는 것이 목표로 정했다.

2. 데이터 Wrangling, EDA

2.1 데이터 불러오기

불러오기 단계부터 난관이 생겼다. 인코딩 오류였다. 많이 사용했던 'cp949'를 썻지만 역시 한글이 계속 깨져서 공식문서(https://docs.python.org/3/library/codecs.html#standard-encodings)에서 가장 많은 언어를 포함하는 코덱부터 일일이 다 집어넣다가 'latin1'이 오류없이 잘 나왔다.

2.2 데이터 탐색

다음은 내가 불러온 데이터이다.

2.2.1 피처 의미 파악
1. permalink = 링크
2. name = 회사명
3. homepage_url = 홈페이지 주소
4. category_list = 업종
5. funding_total_usd = 총 투자받은금액
6. status = 상태
7. country_code = 국가코드
8. state_code = 지역코드
9. region = 지역
10. city = 도시
11. funding_rounds = 투자받은 횟수
12. founded_at = 설립일
13. first_funding_at = 처음 투자받은날
14. last_funding_at = 마지막 투자받은날
이렇게 이해를 했다.

2.2.2 중복데이터 확인
중복 데이터는 없었으나

<in> 
df['name'].duplicated().sum()

<out> 
267

회사이름이 같은 곳이 267곳이 존재했다. 혹시 폐업을 하고 다시 열게 된걸까?? 이런생각으로 확인 해본결과 이름만 같은 회사여서 신경쓰지 않고 피처를삭제 해버려도 될꺼 같다.

2.2.3 카테고리 리스트 정리

<in> 
df['category_list'].str.count(',').sort_values(ascending=False)

<out> 
24524    43.0
65698    39.0
23248    24.0
25583    22.0
31105    22.0
         ... 
66112     NaN
66115     NaN
66120     NaN
66298     NaN
66365     NaN

사실 데이터 원본은 ','이거 말고 '|'요걸로 구분이 되어있었으나 이상하게 replace함수도 안먹고 숫자가 안맞아서 엑셀파일에서 수정을 했다.(아직도 해결못함)

아무튼 ',' 이걸기준으로 한 회사의 업종이 최대 43개까지 가지고 있고 한곳만 운영한 곳도 있었다. 어떻게 처리를 할까 고민하면서 여러가지 시도를 해봤다. 우선 평균 몇개의 업종을 하나 확인해봤다.

<in>
df['category_list'].str.count(',').mean()+1  (','가 없으면 회사가 업종이 하나임으로 +1)

<out>
2.413748378728924

평균 한 회사당 2.4개의 업종을 한다. 그러면 2~3개로 줄여서 파악을 해볼까? 라는 생각이 문득 들었고 바로 실행했다.

<in>
df['category_list1'],df['category_list2'],df['category_list3'] = df['category_list'].str.split(',',2).str

(여기서 split(',',2) ,를 기준으로 나누고 2는 앞에 적은 컬럼보다 하나적게 적어야 된다.)

이런식으로 정리를 해보니 또 문제가 발생했다. list1에 들어간 업종이 list2에 들어간 곳도 있을 것이고 사용하기엔 부적합해보였다.

여기서 많이 고민하다가 이번에 프로젝트에 관한 고민들을 회의하는 시간을 가지게 되었다. 여기서는 다양한 사람들의 의견을 들어볼 수 있어서 내가 발견못한 문제점이라던지 방식등을 들을 수 있었고 최종결론은 다른 데이터를 사용하는것으로 결정했다. 사실 이 데이터는 처리 전이였고 조금 더 처리가 된 데이터가 있었는데 지금하기엔 내가 지식도 없고 욕심이 많았던거 같았다. 하지만 이런과정을 통해 split을 통해 저런식으로 처리하는걸 알게되어서 즐겁긴 했다.

profile
비전공자로 도전하기 시작입니다!

0개의 댓글