앞의 게시물에서 타이타닉 생존자를 찾기 위한 Feature Engineering을 진행했습니다.
데이터 사이언스 입문
더보기 *시작에 앞서 세 가지 프로그램의 설치가 필요합니다.* 1. Anaconda - 파이썬과 데이터 분석에 필요한 각종 도구를 포함하고 있습니다. 2. Chrome - 데이터 분석이 이루어지는 주피터 노트북을 �
273k.tistory.com
특징 선택, 특징 생성, 특징 추출의 단계를 거쳐 데이터를 직접 가공했었는데요. 오늘은 Pandas를 이용한 데이터 처리를 진행해보겠습니다.
1. 특징 선택
판다스로 csv 파일을 불러옵니다.
* 같은 폴더에 넣으면 위치를 표시하지 않아도 됩니다.
* 엑셀파일이면 엑셀에서 다른이름으로 저장, csv 파일 선택해주시고 인코딩 오류 뜰 경우에는 csv 파일을 메모장으로 연 후 다른이름으로 저장, 아래 부분 인코딩 UTF-8 선택해서 저장해주시면 됩니다.
확인하고자 하는 일부 항목들만 추출할 수 있습니다. 이제 다음 단계에서 이 부분들을 채워보도록 하겠습니다.
* 엑셀에서는 빈칸이 Pandas에서는 NaN으로 표현됩니다.
2. 특징 생성
# Age의 Nan을 평균으로 채우기
# Age 구간 나누기
# Fare의 Nan을 평균으로 대체하기
* 코드 끝에 세미 콜론을 붙이면 결과 표시가 생략됩니다.
# 형제 수 + 부모 수 = FamilySize
# 객실 빈칸 채우기
* 객실 뒷 번호는 삭제하고 앞 알파벳만 남깁니다.
* 앞자리 알파벳 통계를 보니 C가 제일 많아 나머지 빈칸들을 C로 채워줍니다.
* 최종 빈칸 통계를 내면 모두 다 0인 것을 확인할 수 있습니다.
결측 값 채우는 기타 함수들 1. 결측 값을 특정 값으로 채우기 : df.fillna(0) fillna(method='pad')앞 fillna(method='backfill')뒤 +) 앞/뒷 값으로 채우는 횟수 제한하기 : fillna(method=' ', limit=number) 3. 결측 값을 평균으로 대체하기 : df.fillna(df.mean()) / df.where(pd.notnull(df), df.mean(), axis='colums') +) 한 colum의 평균으로 나머지 colum 결측 값 채우기 : df.fillna(df.mean()['C1']) ++) 일부 colum만 평균으로 채우기 : df.fillna(df.mean()['C1':'C2']) |
# Embarked의 NaN을 가장 많은 값으로 채우기
# Cabin의 문자값 데이터를 숫자로 변환
# Embarked, Sex의 문자값을 숫자로 변환
# IsAlone(혼자 탑승했는가?) 열 추가하기
3. 특징 추출
# 데이터 통계에 의미 없는 5개의 열을 삭제
Decision Tree :: 의사결정 나무
그 이름처럼 의사를 결정하는데 도움을 주는 나무 형태의 예측 모델입니다. 경영학, 경제학, 컴퓨터 공학 등 여러 학문에서 사용되는 모델이고 일상생활에서도 항상 무의식적으로 사용하고 있습니다.
* 일반적으로 빠르게 정답에 도달할 수록 더 우수한 트리라고 볼 수 있습니다. / 그러나 항상 높은 성공율을 가지는 것은 아닙니다.
'Computer Science > Jupyter notebook' 카테고리의 다른 글
파이썬 기본편 #2 List(시퀀스) (0) | 2024.09.22 |
---|---|
파이썬 기본편 #1 (2) | 2024.09.22 |
맨날 까먹어서 적는 파이썬 기본 문법 (0) | 2020.12.23 |
데이터 시각화(matplotlib, seaborn 입문) (0) | 2020.06.14 |
Jupyter Notebook 입문하기 (0) | 2020.06.13 |