기초 노트 53

데이콘 submission제출 오류 해결 케이스 공유 - 기타 제출값 Error가 발생하였습니다., CSV 파일의 Row Error가 발생하였습니다.

데이콘의 지난 대회에 submission을 제출하며 테스트하던 중에 '기타 제출값 Error가 발생하였습니다.'를 마주하였다.원인은 제출하려고 하는 submission.csv 파일에 예측치로 Null값이 포함되어 있었기 때문이었다.  # DataFrame의 index와 칼럼인 'label'이 모두 '가'라는 값(value)로 설정됨submit[~cond]['label'] = '가' # loc를 사용하여 조건에 해당하는 행을 인덱싱하여야 한다.submit.loc[~cond, 'label'] = '가' 따라서 Null이 포함된 행에는 Null값 대신 임의의 예측값인 '가'를 채워넣어주는 방식으로 submission파일을 수정하려고 하였다. 그런데 첫번째 코드를 보면, DataFrame의 index와 칼럼인..

marginalize (적분)의 의미

Marginalize란?Bayesian Inference관련 논문을 읽다 보면 marginalize라는 표현을 자주 마주하게 되는데, 가끔가다 헷갈리는 경우가 있어 정확한 의미를 정리해보고자 한다.Marginalize는 통계학과 확률론에서 주로 사용되는 개념으로, 다변수 확률 분포에서 특정 변수(또는 변수들)에 대한 영향을 '통합(integrate out)'하거나 '합산(summing out)'하여 다른 변수(또는 변수들)의 단독 확률 분포만을 얻는 과정을 말한다. 즉, 다변수 시스템에서 특정 변수에만 집중하기 위해 다른 변수들의 영향을 제거(또는 흡수)하는 기법이다.  결합 확률 분포와 주변 확률 분포다변수 시스템을 구성하는 확률분포는 결합 확률 분포(joint probability distributi..

신뢰수준 95%의 의미

신뢰수준(confidence level)은 아마도 고교 통계 시간에서부터 접하는 개념으로, 데이터 사이언스 분야에서는 파라미터의 추정치에 관하여 신뢰할 수 있는 정도를 알고자 할때 사용되곤 하는 것 같다. 그런데 여기서 신뢰(confidence)라는 것은 사실은 묘한 뉘앙스인 것이 정확(precise)과 믿을 수 있는(reliable)것의 중간적인 성격이다. 신뢰수준이라는 개념을 배울때 처음에 반드시 헷갈리는것이 "신뢰수준 95%의 의미는 신뢰구간에 95%의 확률로 모평균이 포함될것이다." 라는 해석을 내놓는 것이다. 이 말의 의미를 조금 더 살펴보면, 95%확률이라는 것은 대게 100번중 95번은 모평균이 저 신뢰구간에 포함될 수 있다는 말인데, 어떻게 결정된 값인 모평균이 확률적으로 저 구간에 포함될..

파이썬 클래스 메서드(classmethod)와 정적 메서드(staticmethod)

기본적으로 파이썬 클래스의 메서드들은 첫번째 인자로 'self' 매개변수를 포함시키는게 일반적이다. 'self'는 메서드가 호출될 때 해당 인스턴스 자체를 자동으로 참조하는 역할을 한다. 이를 통해 메서드 내에서 해당 인스턴스의 속성(attribute)이나 다른 메서드에 대해 접근할 수 있다. 그런데 이와는 달리, 첫번째 인자로 'self'가 아닌 'cls'를 받는 메서드가 존재한다. 바로 클래스 메서드(clasmethod)이다. 클래스 메서드의 경우, 'self'가 아닌 'cls'를 필수적으로 포함해야 한다. 1. 클래스 메서드 - 클래스 메서드는 메서드 선언시에 @classmethod의 데코레이터를 달아주어 정의하게 된다. - 클래스에서 직접 호출하는 점 때문에 인스턴스 객체를 수정할 수 없다. 클래..

%cd와 !pip install 명령어의 '%'와 '!'는 무엇일까?

'%cd'와 '!pip'에서 사용되는 '%'와 '!'는 IPython(주피터 노트북에서 주로 사용되는 Python 인터랙티브 쉘)의 특수 명령어 접두사다. 각각은 다른 목적과 기능을 가지고 있다. 1. '%' (매직명령어)'%'는 IPython의 매직 명령어를 나타내며, IPython 자체에 의해 처리된다. 이러한 명령어들은 일반적인 Python 코드와는 다르게 IPython환경을 위해 특별히 제작되었다. 예를 들어, '%cd'명령어는 현재 작업 디렉토리를 변경하는 IPython 매직 명령어이다. 매직 명령어는 IPython에 의해서만 인식되고 실행되며, Python 스크립트상에서는 사용할 수 없다. 2. '!' (시스템명령어)'!'는 주피터 노트북에서 시스템 쉘 명령어를 실행할 때 사용된다. 예를들어,..