본문 바로가기

전체 글142

Underfitting and Overfitting Underfitting : 지나친 단순화로 인해 에러가 많이 발생하는 현상Overfitting: 너무 정확하게 표현한 나머지 에러가 나는 현상Overfitting의 원인과 해결방법1. Model Capacity모델이 더 복잡한 형상을 나타낼 수 있는 정도를 의미MLP에서 Model Capacity를 늘리려면 layer를 더 deep하게 쌓거나 layer당 hidden unit 개수를 늘린다.Model Capacity를 무한정 늘린다면 overfitting이 발생True Risk: 이상적으로 가져올 수 있는 모든 데이터에 대해 계산한 error, loss. 앞으로 어떤 데이터가 들어올지 모르므로, 실제로 줄여야 하는 것은 True RiskEmpirical Risk: 이상적으로 가져올 수 있는 데이터 중 일.. 2024. 8. 5.
MAE(Mean Absolute Error), 평균절대오차 MAE란?평균 절대 오차인 MAE는 회귀 모델의 성능을 평가하는 데 사용되는 일반적인 메트릭 입니다. 모델의 예측 값과 실제 값 사이의 절대 평균 차이를 측정합니다. MAE는 어떻게 작동?각각의 예측 값과 실제 값 간의 절대 차이를 계산한 다음에 이 차이들의 평균을 구하는 방식. MAE는 오류의 절댓값을 사용하기 때문에 작은 오류에 더 심하게 패널티를 부여데이터 사이언스에서 MAE가 중요한 이유회귀 모델의 정확도를 측정하기에 간단하면서도 직관적인 방법데이터의 극단적인 값에 영향을 받지 않기 때문에 데이터에 이상 값이 있거나 기타 극단적인 값이 포함된 상황에서 유용하게 쓰일 수 있는 메트릭이 됩니다.MAE vs MSEMAE는 예측 값과 실제 값 간의 평균 절대 차이를 측정MSE는 평균 제곱 차이를 측정,(.. 2024. 8. 5.
Decision Tree Regression (의사결정나무), sklearn활용 1. 의사결정나무(Decision Tree)데이터 사이에 존재하는 패턴을 찾아 이 규칙들의 조합으로 예측 모델을 만드는데 쓰이는 알고리즘설명 변수를 '하나씩만' 활용하여 가지뻗기를 진행한다.의사결정나무는 규칙을 조합하여 데이터에 대한 예측 모델을 이룬다.분류(Classification) 문제와 회귀(Regression) 문제 모두 적용가능한데분류문제의 경우 해당 데이터가 최종적으로 속한 최하위 그룹의 최빈값을 예측 값으로 활용회귀문제의 경우 그 그룹 내 데이터의 평균값을 예측값으로 활용한다.2. 의사결정나무의 철학한 가지 질문에 대한 답변에 정답을 추리는데 도움이 된다면 정보획득(Information Gain)이라고 부른다.이렇게 얼마나 도움이 되는지를 순도(homogeneity)라고 한다.이와 반대로 .. 2024. 8. 5.
시계열_2 5. 기간과 기간 연산며칠, 몇 개월, 몇 분기, 몇 해 같은기간은 pandas.Period 클래스로 표현할 수 있으며 클래스를 생성할 때 문자열이나 정수, 빈도가 필요하다.p = pd.Period("2011", frea="A-DEC")1) Period의 빈도 변환Period와 PeriodIndex 객체는 asfreq 메서드를 사용해 다른 빈도로 변환할 수 있다.p = pd.Period("2011", frea="A-DEC")p.asfreq("M", how="start")Period('2011', 'A-DEC')는 전체 기간을 가리키는 일종의 커서로 생각할 수 있고 이를 월간으로 나눌 수 있다. 회계연도 마감이 12월이 아닌 경우에는 월간 빈도가 달라진다.p = pd.Period("2011", freq=".. 2024. 7. 7.
시계열_1 시계열은 금융, 경제, 생태학, 신경 과학, 물리학 등 여러 다양한 분야에서 사용되는 매우 중요한 구조화된 데이터다. 시간상의 여러 지점을 관측하거나 측정할 수 있는 모든 것이 시계열이다. 대부분의 시계열은 고정 빈도로 표현되며 15초마다, 5분마다, 할 달에 한 번 같은 특정 규칙에 따른 일관적인 간격으로 데이터가 존재한다. 하지만 시계열은 고정된 시간 단위나 단위들 간의 간격으로 존재하지 않고 불규칙적으로 표현될 수도 있다. 시계열 데이터를 표시하고 참조하는 방식은 애플리케이션에 따라 다르며 다음 중 한 유형이 될 수 있다.시간 내에서 특정 순간의 타임스탬프2017년 1월이나 2020년 전체 같은 고정된 기간시작과 끝 타임스탬프로 표시되는 시간 간격. 기간은 시간 간격의 특수한 경우로 생각할 수 있다.. 2024. 7. 7.
데이터 집계와 그룹 연산 데이터셋을 분류하고 각 그룹별로 집계나 변형 같이 어떤 함수를 적용하는 작업은 데이터 분석과정에서 무척 중요한 일이다. 데이터를 불러오고 취합해서 하나의 데이터셋을 준비한 후 그룹 통계를 구하거나 가능하다면 피벗 테이블을 구해 보고서를 만들고 시각화한다. 판다스는 데이터셋을 자연스럽게 나누고 요약하는 groupby라는 유연한 방법을 제공한다.1. 그룹 연산에 대한 고찰다수의 인기 있는 R 프로그래밍 패키지 저자인 해들리 위컴은 그룹 연산에 대해 분리-적용-결합(split-apply-combine)이라는 새로운 용어를 만들었다. 그룹 연산의 첫 번째 단계에서는 Series, DataFrame 같은 판다스 객체나 다른 객체에 들어 있는 데이터를 하나 이상의 키 기준으로 분리한다. 객체는 하나의 축을 기준으로.. 2024. 6. 20.
그래프와 시각화 정보 시각화(plot)는 데이터 분석에서 무척 중요한 일이다. 시각화는 특잇값을 찾거나, 데이터 변형이 필요한지 알아보거나, 모델에 대한 아이디어를 찾기 위한 과정의 일부이기도 하다. 혹자에게는 웹에서 구현하는 시각화가 최종 목표일 수도 있다. 시각화에 대한 사용법은 방대하기 때문에 "무엇을 할 수 있는가" 를 간략하게 짚고 넘어가고자 한다.1. matplotlib APIimport matplotlib.pyplot as pltdata = np.arange(10)plt.plot(data)1) 피겨와 서브플롯matplotlib 에서 그래프는 figure 객체 내에 존재한다. 새로운 figure는 plt.figure로 생성한다.figsize로 파일로 저장할 피겨의 크기과 비율을 지정할 수 있다.fig = pl.. 2024. 6. 20.
데이터 준비하기: 조인, 병합, 변형 1. 계층적 색인계층적 색인(hierarchical indexing)은 판다스의 중요한 기능이며 축에 대해 둘 이상의 색인 단계를 지정할 수 있도록 한다.고차원의 데이터를 낮은 차원의 형식으로 다룰 수 있게 해주는 기능이다.data = pd.Series(np.random.uniform(size=9),index=[["a","a","a","b","b","c","c","d","d"],[1,2,3,1,3,1,2,2,3]]data# 출력결과a 1 0.929616 2 0.316376 3 0.183919 b 1 0.204560 3 0.567725 c 1 0.595545 2 0.964515 d 2 0.653177 3 0.748907 위 객체는 MultiIndex를 색인으로 하는 Series이며 색인의 .. 2024. 6. 17.
데이터 정제 및 준비 1. 누락된 데이터(NA) 처리하기dropna(): 누락된 데이터가 있는 축을 제외한다. 어느 정도 누락 데이터까지 용인할 것인지 지정할 수 있다.fillna(): 누락된 데이터를 대신할 값을 채우거나 ffill이나 bfill 같은 보간 메서드를 적용한다.isna(): 누락되거나 NA인 값을 알려주는 불리언 값을 반환한다.notna(): isna와 반대되는 메서드. NA가 아닌 값에는 True를 반환하고, NA 값에는 False를 반환한다.1) 누락된 데이터 골라내기pandas.isna나 불리언 색인을 사용해 직접 골라내는 방법도 있지만, dropna를 사용하면 매우 쉽게 작업할 수 있다.2) 결측치 채우기누락된 값을 제외하지 않고(잠재적으로 다른 데이터도 함께 버려질 가능성이 있다.) 데이터 상의 '구.. 2024. 6. 14.