본문 바로가기

분류 전체보기

(216)
서울시 구별 CCTV 현황 분석 서울시 구별 CCTV 현황 분석하기 - 서울시 각 구별 CCTV수를 파악해보자. - 인구대비 CCTV비율을 파악해서 순위를 비교해보자. - 인구대비 CCTV의 예측치를 확인하고, CCTV가 부족한 구를 확인해보자. import numpy as np import matplotlib.pyplot as plt from matplotlib import rc rc('font',family='Malgun Gothic') import pandas as pd pd.set_option('display.max_rows',1000) pd.set_option('display.max_columns',1000) pd.set_option('display.max_colwidth',-1) 1. CSV파일 읽기 - 서울시 구별 CCTV..
Matplotlib교통사고데이터실습 import matplotlib.pyplot as plt from matplotlib import font_manager, rc font_name = font_manager.FontProperties(fname = "c:/Windows/Fonts/malgun.ttf").get_name() rc('font', family=font_name) # 차트 한글보이기 import pandas as pd pd.set_option('display.max_rows', 1000) # 생략되는 행 없이 모두 표시 pd.set_option('display.max_columns', 1000) # 생략되는 열 없이 모두 표시 pd.set_option('display.max_colwidth', -1) # 최대 길이에 맞춰 자동 ..
Matplotlib 실습 # 산점도([x값], [y값]) plt.scatter([10,11,14,5,1,8], [4,9,11,13,7,3]) plt.show() # 세로bar차트([x값], [y값]) plt.bar(['서울', "광주","부산"], [10,20,30]) plt.show() # 가로bar차트([y값], [x값]) plt.barh(['서울', "광주","부산"], [10,20,30]) plt.show() # 파이차트 그리기 plt.pie([10, 20, 30], labels = ['서울', "광주", "부산"], autopct = '%1.1f%%') plt.legend() # 범례 plt.show()
DataFrame 실습 import pandas as pd data= pd.read_csv("data/population_number.csv", encoding = "euc-kr") # 한글로 써지면 오류가 생겨 인코딩을 해주어야함 data data[data['2000']
데이터 전처리 1. 결측치 처리 전략 NaN 데이터 모두 삭제 (complete drop) 데이터가 없는 최소의 개수 등의 규칙을 정해 삭제 데이터가 거의 없는 feature는 feature 자체를 삭제 최빈값, 평균값으로 NaN을 보간 KNN 같은 방법을 사용하여 근사 instance의 값으로 보간 # 결측치 확인하기 # nan 값이 얼마나 있는지 column별로 확인 df.isnull().sum() # 전체 data 개수 대비 NaN의 비율 df.isnull().sum() / len(df) # 결측치가 있는 row 삭제 # 튜플에서 데이터가 하나라도 없으면 삭제 df = df.dropna() # 모든 데이터가 NaN일 때만 삭제 df = df.dropna(how='all') # column을 기준으로 nan 값이 ..
파이프라인 Pipeline - 여러 처리 단계를 하나의 scikit-learn 추정기 형태로 묶어주는 파이썬 클래스 - fit, predict, score 메서드르 제공. - 분류기 같은 지도 학습 모델과 (데이터 스케일 조정 같은) 전처리 단계를 연결. import pandas as pd # 데이터셋 가져오기 data = pd.read_csv('경로/파일이름.csv', index_col='인덱스로 사용할 컬럼이름') # 데이터셋, X와 y로 나눠주기 y = pd.DataFrame(data['타겟 컬럼이름']) X = data.drop('타겟 컬럼이름', axis=1) from sklearn.pipeline import make_pipeline # StandardScaling과 LinearRegression을 동시..
이진 분류 용어 - 이진 클래스 : 양성 클래스(관심 클래스), 음성 클래스 - 거짓 양성 ; false positive, type I error : 잘못된 양성 예측 오류 - 거짓 음성 ; false negative, type II error : 잘못된 음성 예측 오류 이진 분류의 오차 행렬 정밀도는 거짓 양성의 수를 줄이는 것이 목표 재현율은 거짓 음성을 피하는 것이 목표 F1 Score는 정밀도와 재현율을 결합한 지표 import pandas as pd # 데이터셋 가져오기 data = pd.read_csv('경로/파일이름.csv', index_col='인덱스로 사용할 컬럼이름') # 데이터셋, X와 y로 나눠주기 y = pd.DataFrame(data['타겟 컬럼이름']) X = data.drop('타겟 컬..
그리드 서치 관심 있는 매개변수들을 대상으로 가능한 모든 조합을 시도. 일반화 성능을 최대로 높여주는 값을 찾는 것. GirdSearchCV는 교차검증을 사용. - 분류 : 기본값 StratifiedKFold - 회귀 : 기본값 KFold 교차 검증은 어떤 데이터셋에 대해 주어진 알고리즘을 평가하는 방법. 하지만 그리드 서치와 같은 매개변수 탐색 방법과 합쳐서 많이 사용. 많은 사람이 교차검증이라는 용어를 교차검증을 사용한 그리드 서치라는 의미로 주로 사용. GridSearchCV는 메타추정기 (meta-estimator, 다른 추정기를 사용해서 만든 추정기)이다. - fit : 최적의 매개변수를 찾아준다. 교차 검증 성능이 가장 좋은 매개변수로 전체 훈련 데이터셋에 대해 새로운 모델을 자동으로 만든다. - pred..