반응형

빅데이터분석기사 28

[빅데이터분석기사] 09 데이터 정규화

이전에 데이터 정규화 간단히 진행했던거랑 내용 거의 비슷하다. 복습하는 느낌으로 기록해본다. 1) 데이터 불러오기 및 확인 import pandas as pd data=pd.read_csv('Fvote.csv', encoding='utf-8') data.head() 역시나 이전에 만들어놨던 선거행동 Fvote.csv 데이터 불러온다. head()로 기술통계 살펴보면 평균, 편차 수준이 다르기 때문에 데이터 정규화가 필요하다. data.hist(figsize=(20,10)) 히스토그램을 봐도 변수들 분포가 연속성이 떨어지는 것을 볼 수 있다. 2) 특성(x)과 레이블(y) 나누기 #특성(x)과 레이블(y) 나누기 X=data.loc[:, 'gender_female':'score_intention'] y=d..

자기계발/Python 2022.06.19

[빅데이터분석기사] 08 데이터셋 분할과 모델검증

일반적으로 train 데이터셋과 test 데이터셋으로 구분하여 분석하지만, 모델 성능을 일반화하기 위해 교차검증과 검증데이터(valid data)를 추가로 두기도 한다. 1) 특성치(x), 레이블(y) 나누기 import warnings warnings.filterwarnings("ignore") import pandas as pd data=pd.read_csv('Fvote.csv', encoding='utf-8') data.head() 이전에 원핫인코딩을 했던 Fvote.csv 데이터셋을 불러와 데이터를 확인하는 작업이다. #특성변수(X) 데이터셋 따로 분리 X=data[data.columns[0:13]] #레이블(y) 변수 따로 분리 y=data[["vote"]] 특성변수(X)를 편한 방법으로 나눠주..

자기계발/Python 2022.06.18

[빅데이터분석기사] 07 범주변수의 변환(원핫인코딩)

단순히 식별자 역할만 하는 범주형 변수로 데이터 분석을 하면, 숫자의 크기에 의미가 있는 것으로 잘못 해석될 수 있다. 따라서 각 케이스에 해당될 때 '1', 아니면 '0'을 입력해주는 원핫인코딩을 해줘야 한다. 가장 주의해야 할 점은 '데이터셋을 훈련-테스트로 나누기 전' 원핫인코딩을 수행해야 한다는 것이다. 1) 데이터 범주-연속-레이블로 나누기 #vote.csv 데이터셋 불러오기 import pandas as pd data=pd.read_csv('vote.csv', encoding = 'utf-8') data.head() 범주형 변수가 있는 vote.csv 데이터셋을 불러왔다. #범주형 변수와 다른 변수들을 분리시키기 X1 = data[['gender', 'region']] XY = data[['e..

자기계발/Python 2022.06.17

[빅데이터분석기사] 06 회귀문제

from sklearn.model_selection import train_test_split #모델셀렉션 / 트레인 테스트 스플릿 X_train, X_test, y_train, y_test = train_test_split(X1, y, random_state_42) 1) 분석 데이터 검토 주택가격 파일(house_price.csv)을 불러와 데이터를 확인하는 과정 import pandas as pd data = pd.read_csv('house_price.csv', encoding='utf-8') data.head() print(data.shape) data.describe() data.hist(bins=50, figsize=(20,15)) shape으로 행(케이스 수)와 열(컬럼 수) 구조를 확인, ..

자기계발/Python 2022.06.16

[빅데이터분석기사] 05 분류문제

데이터캠퍼스 교재 내용 토대로 타이핑하면서 실습한 내용 정리했습니다. 분류문제에서 2건의 에러 확인했습니다. 1) 분석 데이터 검토 유방암 데이터를 불러와서 세 가지 방법으로 확인한다. head() .value_counts( print(data.shape) import pandas as pd data=pd.read_csv('breast-cancer-wisconsin.csv', encoding='utf-8') #전부 영어라 encoding은 안해도 무방 #head()로 데이터셋 상위 수치 확인 data.head() #레이블 변수(유방암) 비율 확인을 위해 빈도 확인 data['Class'].value_counts(sort=False) #행과 열 구조 확인을 위해 shape 해보기 print(data.sha..

자기계발/Python 2022.06.16

[빅데이터분석기사] 03 결측치 처리(제거, 대체)

결측치 확인 import pandas as pd data=pd.read_csv('Ex_Missing.csv') data 결측치가 있는 csv 파일을 읽어서 데이터를 확인해보면 결측치가 'NaN'으로 표기되는 걸 확인할 수 있다. 결측치 확인 결측치를 세부적으로 파악하는 방법으로는 pandas의 isnull() 혹은notnull()를 이용할 수 있다. (실제 분석에서는 많이 사용하는 방법은 아니라고 함) #isnull() : 결측이면 True, 아니면 False값 반환 pd.isnull(data) data.isnull() #notnull() : 결측이면 False, 아니면 True값 반환 pd.notnull(data) data.notnull() 변수(컬럼)별 결측값 개수 확인 이때 변수(컬럼)별 결측값 개..

자기계발/Python 2022.06.14

[빅데이터분석기사] 02 이상치 처리(log변환, 제곱근변환)

이상치 파악 이상치를 판단하는 명확한 기준은 없기 때문에 분석자의 주관적인 판단에 따라서 제거한다. 이상치를 시각적으로 판단하는 방법에는 상자수염도표가 있다. 상자수염도표 data.boxplot(column='salary', return_type='both') #column의 변수를 다르게 하여 변수별로 파악하기 ● boxplot의 return_type은 axes, dict, both 세 가지가 있다. IQR 기준으로 이상치 제거 IQR보다 크거나 작은 값을 제거 Q1_salary = data['salary'].quantile(q=0.25) Q3_salary = data['salary'].quantile(q=0.75) IQR_salary = Q3_salary-Q1_salary IQR_salary IQR을..

자기계발/Python 2022.06.13

[빅데이터분석기사] 01 단변량 데이터, 이변량 데이터 탐색

단변량 데이터 탐색 판다스로 데이터 기본 정보 확인 import pandas as pd data=pd.read_csv('Ex_CEOSalary.csv', encoding='utf-8') data.info() data.head() csv 파일 읽기 : pd.read_csv('파일명') 데이터 기본 정보(케이스수, 컬럼 수, 자료 개수 형태 등) : data.info() 데이터 상위 5개 구조 : data.head() 1.1 범주형 자료의 탐색 #변수의 범주별 빈도수 data['industry'].value_counts() #replace 함수로 라벨링 data['industry'] = data['industry'].replace([1,2,3,4], ['Service', 'IT', 'Finance', 'Ot..

자기계발/Python 2022.06.12
반응형