ALLYES
[2022 청년친화형 기업 ESG지원 사업 - 1] 본문
일시 : 2022.09.05
시간 : 14 : 00 ~ 18 :00
- BigData TitanicExcel
- 액셀을 사용하여 데이터 분석 - 캐글경진대회
- 타이타닉
- 실제 유람선의 이름 - 타이타닉호
- 영화의 전반적인 내용 - 배가 빙산에 부딪혀 침몰하는 와중에서 벌어지는 로맨스를 풀어내는 내용
- 실제 타이타닉에 탑승했던 사람들의 정보를 가지고 데이터분석
- 위 정보를 가지고 생존여부의 자료가 없는 사람들의 생존을 예측
- Google - 타이타닉호

- kaggle 접속

- kaggle - 세계적인 "데이터 예측 분석 경연 대회"

- kaggle - titanic 검색
- Machine Learning from Disaster 클릭

- csv 파일 3개 다운 - titanic.zip



- 컬럼
- PassengerId - 승객 고유 번호
- Survived - 생존여부 (1과 0으로 표기)
- Pclass - 티켓 등급(1,2,3으로 표기)
- Name - 이름
- Sex - 성별
- Age - 나이
- SibSp - 형제/자매/배우자(같이 탑승한 승객)
- Parch - 부모/자녀(같이 탑승한 승객)
- Ticket - 티켓 넘버
- Fare - 요금
- Cabin - 객실 번호
- Embarked - 출항지(3곳 - 위 그림1 참고)
- train / test 파일에서 중복되는 데이터가 없음 => 생존여부 정보의 유무 차이
- 생존 여부를 예측하여 kaggle에 업로드
- 데이터분석
- 액셀 - 피벗테이블 생성

- survived - 열, 값
- sex - 행
- 각 필드값 설정 - 합계 -> 개수



- 달라진 결과 값

- 피벗테이블 클릭 >> 피벗 테이블 분석 - 피벗 차트
- 성별 생존여부

- 티켓 클래스 생존여부

- 티켓 클래스/성별 생존여부

- 나이 생존여부
- Age >> 범주형 데이터로 변경
- 그룹 - 그룹화(시작 : 0)

- 전체 결과 테이블 및 차트

- 데이터 예측
- test 파일 - survived 셀 추가
- 새로운 시트 추가 - 아래 +버튼 클릭
- 조건 - 남자 : 사망(0), 여자 : 생존(1)
- 함수 생성 방법 : 셀 클릭 - f(x) - if 변경

- 조건 설정

- 다른 셀에도 함수를 적용 하고 싶다면( 함수 드래그 및 더블클릭)
- IF 사용법
- if(조건식, true 였을때 실행, false였을때 실행)
- =IF(B2>=90, "A",IF(B2>=80,"B",IF(B2>=70,"C","F")))
- =IF(E2="male",0,1)

함수를 제외하고 값만 붙여넣기 하고싶을 때 - 붙여놓기 옵션(123)클릭
- 캐글 업로드
- submit predictions
- 파일 업로드
- make submission

- and 함수
- =IF(and(E2="male",F2>=70),0,1)
- or 함수
- =IF(or(E2="male",F2>=70),0,1)
- 실습
- 첫번째 설정 조건 : 티켓 클래스/성별/나이 생존여부
- =IF(OR(E2="male",F2>=70,C2=3),0,1)

- 기존 실습 : 0.76555
- 첫번째 실습 : 0.77272
- 아주 조금 정확률이 올라감
- =IF(OR(E2="male",F2>=70,C2=3),0,1)

조건 : 여자/아이 만 태운다. 주로 티켓 클래스 3은 주로 사망, 15달러 이하면 사망률이 높다
- Fare=J2
- =IF(OR(E2="male",F2>=70,C2=3,J2<15),0,1)
- 정확률 낮아짐

- J2<30으로 해봄
- 더욱 확률이 떨어짐 => 요금으로 하는 것은 아닌듯

- parch = 0, fare <30 이하 등의 조건은 확률이 더 낮아짐
- 최종적으로 첫실습이 제일 조건이 높게 나옴
- 분반 중 높은 확률로 나온 조건
- =IF(OR(AND(E2="female", C2<3, G2 < 4), AND(E2="female", C2=3, G2<4, F2 <= 20), AND(E2="male", C2 < 3, AND(F2 > 0, F2 <= 10), G2 < 4), AND(E2="female", C2=3, G2 < 4, AND(F2>60,F2<=70))), 1, 0)
- 각 조건 나열
- AND(E2="female", C2<3, G2 < 4)
- 성별/티켓/SibSp
- AND(E2="female", C2=3, G2<4, F2 <= 20)
- 성별/티켓/SibSp/나이
- AND(E2="male", C2 < 3, AND(F2 > 0, F2 <= 10), G2 < 4)
- 성별/티켓/나이/Sibsp
- AND(E2="female", C2=3, G2 < 4, AND(F2>60,F2<=70))
- 성별/티켓/Sibsp/나이
- AND(E2="female", C2<3, G2 < 4)
- 각 조건 나열
- =IF(OR(AND(E2="female", C2<3, G2 < 4), AND(E2="female", C2=3, G2<4, F2 <= 20), AND(E2="male", C2 < 3, AND(F2 > 0, F2 <= 10), G2 < 4), AND(E2="female", C2=3, G2 < 4, AND(F2>60,F2<=70))), 1, 0)
조건을 너무 train만 맞추다 보면 test에 정확도가 낮아질 수 있다.
후에 과적합 등 배울 예정
'ESG' 카테고리의 다른 글
| [2022년 청년친화형 기업 ESG지원 사업 - 6] (0) | 2022.09.14 |
|---|---|
| [2022년 청년친화형 기업 ESG지원 사업 - 5] (0) | 2022.09.13 |
| [2022년 청년친화형 기업 ESG지원 사업 - 4] (0) | 2022.09.08 |
| [2022년 청년친화형 기업 ESG지원 사업 - 3] (0) | 2022.09.07 |
| [2022년 청년친화형 기업 ESG지원 사업 - 2] (0) | 2022.09.06 |