Closed glistering96 closed 1 year ago
Cramers Correlation 구한 결과인데, fraudulent (label)이랑 연관이 크게 없어 보이는 항목만 존재한다.
Cramer correlation이 선형임 아니면 비선형임?
@pwc701
데이터 분석 어떻게 할지 정해야 할 필요가 있음.
범주형 데이터는 우찬이가 이미 했기 때문에 크게 두가지 1) anomaly와 normal의 차이점 위주로 분석 2) text 칼럼 데이터 그 자체를 분석
또 다른 분석 방법이 있으면 알려주면 좋을 것 같음
추가로 텍스트 분석은 우찬이가 이 issues 아래에 코멘트로 자료를 공유해주거나 내가 Preprocessing-&-EDA 브렌치에 docs 폴더를 만들테니까 해당 폴더 아래에 저번에 보여준 자료를 commit하고 push 해주면 좋을 것 같음. @pwc701
To Do List (05.09) 1.missing ratio plot 다시 그리기 2.commpany profile text를 missing(None) 제외하고 plot해보기 3.comany profile missing value (Fake의 비율이 높은 3개 컬럼이 의미가 있는지 확인) 4.industry function (안찍어본 컬럼) count 찍어보고 적은 혹은 의미없는 카테고리들 병합 - Required educational 컬럼도 동일하게 적용.
작업 assignment.
번호는 상기 이슈 코멘트에 정리한 작업 번호들입니다.
모든 작업은 Preprocessing-&-EDA 브랜치 아래에 커밋된 0509_EDA jupyter notebook 파일을 사용하되,
노트북 파일 같은 경우에는 굳이 합칠 필요가 없다고 판단되기 때문에 각자의 이름으로 (i.e., EDA_김원준.notebook) 원본 notebook을 복사한 후
해당 파일에서 작업을 해주시기 바랍니다.
작업 중간에 의논을 해야하는 사항이 생기면 (i.e., column의 데이터 병합할 때 데이터를 보고 어떤 병합 하는 것이 좋을지)
현재 issue에 comment를 올려주기 바랍니다. comment를 올릴 때, 부여된 task의 번호를 같이 적어주기 바랍니다 (i.e., Task 5)
공통 13
@pwc701 1, 2, 3, 6
@glistering96 (4, 5), 7, 8, 12
@ie-jun 9, 10, 11
작업 중에 fraudulent == 0인 항목이 real job posting, fraudulent == 1인 항목이 fake job posting임을 고려해서 plot의 legend를 찍어 주시기 바랍니다
참고)
https://www.kaggle.com/datasets/shivamb/real-or-fake-fake-jobposting-prediction
Task 4.
industry None 4903 Information Technology and Services 1734 Computer Software 1376 Internet 1062 Marketing and Advertising 828 ... Shipbuilding 1 Sporting Goods 1 Museums and Institutions 1 Wine and Spirits 1 Ranching 1
이게 지금 industry에 들어있는 값과 count를 찍어본 것인데, Information Technology and Services와 Computer software는 매우 유사한 industry임에도 불구하고 따로 떨어져 있음. 전체 고유값이 132개로 나오는데 전부 다 보고서 grouping 작업을 하기에는 어려울거 같은데 이에 대해서 좋은 방법이 있을지?
Text clustering 방법이 무엇이 있는지 아이디어가 필요할 것 같군요
Task 4.
Text clustering에 대한 벤치마크 페이퍼가
https://paperswithcode.com/paper/mteb-massive-text-embedding-benchmark
그리고 그 중에서 쓸만해 보이는 모델
https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2
을 참고하도록 하기 바랍니다
@ie-jun @pwc701 Task 7이 뭐였는지 기억하는 사람?
난 내꺼 다 하고 푸시함. 읽어보셈.
Google bard로 클러스터링까지 전부 완료해 두었음
Task 4 (industry, function)
Industry:
--- Fake job인 항목만 추렸을 때, 빈도수가 가장 높게 나오는 상위 10개의 industry에 대하여 Real/Fake job의 비율
한눈에 보기에는 Real 대비 Fake의 비율이 매우 높은 industry가 존재함 - Oil & Energy, marketing, health-care, accounting, telecommunications
인코딩을 fake의 비율에 따라서 ordinal 하게 하는 방법?
Function:
--- Fake job인 항목만 추렸을 때, 빈도수가 가장 높게 나오는 상위 10개의 function에 대하여 Real/Fake job의 비율
Engineering, CS, administrative 같은 function에서 비율이 높게 나타남
--- 조금 더 많은 칼럼을 기준으로 plot을 해보았는데 왜 None이 상위 N개의 필터에 잡히지 않았는지는 잘 모르겠음.
Task 5
Required education 등이 ordinal하게 표현이 될 수도 있지만, 애초에 그 가짓수가 그렇게 많지는 않기 때문에 그냥 categorical encoding 해도 괜찮을 수도? 특히, 구글 Bard가 분류한 항목을 보면 알겠지만
애초에 대분류로 가져가면 그렇게 많지 않음
이외에도 여러가지 대분류로 처리해본 결과 노트북에 적어 두었고 적당히 갯수가 추려질 수 있을 듯. 적당히 보고서 약간 수정을 가하여 사용하면 좋을 듯
Task 7 - Fake랑 Real 데이터를 기준으로 각 칼럼 별로 plot을 찍어보자 하여 해당 작업을 수행함
몇몇 칼럼에서는 Fake와 Real의 분포가 다르게 나타나는 것을 확인할 수 있음 (company_logo, has_questions, etc)
다만,
Task 8 - answ
title_length | company_profile_length | description_length | requirements_length | benefits_length -- | -- | -- | -- | -- 1.001255 | 1.005888 | 1.006306 | 1.005098 | 1.004241 1.001594 | 1.002285 | 1.008094 | 1.006423 | 1.004356딱히 유의미한 차이가 보여지는 것 같지는 않음.
Task 12 - 텍스트 cleansing 전 n_gram 분석
아까 industry 분석할 때 보았던 oil/gas 관련한 이야기가 fake job의 경우에 상단에 위치하는 것을 볼 수 있고
당연한 이야기겠지만 industry 같은 내용에 따라서 description들도 같이 가는 경향이 보임.
다른 task 확인하고 comment 추가하였습니다.
1. 결측치 중에서 real/fake 비율 구함 해당 비율이 data unbalance 때문에 직접 비교하기 힘들다고 판단하여 전체 real/fake 비율로 scaling 진행 결측치 아닌 데이터에 대해서도 같은 방법으로 진행 ㄴ> scaling 한 missing ratio ㄴ> scaling 하지 않은 missing ratio
2. task 9와 동일
3. 결측치 없거나 너무 많은(department, salary_range)를 제외한 column에 대해 결측 여부가 유의미 한지 분석 missing = 1, not missing = 0으로 대체 카이제곱 독립성 검정에서는 company_profile, requirement, employment_type, required_experience, required_education, industry가 유의미 로지스틱 회귀분석에서는 benefits, employment_type, required_education, required_experience, industry, function이 유의미
5. ordinal 안해도 될 것 같다는 의견에 동의 나중에 할 수 있으면 추가해서 해봐도 좋을듯
6. 기존 0509_EDA 파일 사용하지 않아서 legend 수정 없음
7. real/fake에서 범주형 분포 유사한지 카이제곱으로 검정하면 될듯
8. 문장 개수는 적고 길이가 길어서 그런가 결과대로 의미가 있어보이지는 않음
9. 결측치 많았던 company_profile은 좀 차이가 생기긴 했는데 나머지는 크게 차이는 없어보임 분포 비교할 수 있는 방법이 있는지 알아봐야 할듯
11. task 9랑 마찬가지로 분포 비교할 수 있는 방법 알아봐야 할듯
12. 4-grams 까지는 불용어 처리 하기 전에는 큰 의미 없어보임
첫번째 마일스톤, 전처리 및 범주형 데이터 분류 어떻게 할 것인지에 대해서 이야기 해보도록 합시다.