반응형
지금까지 수십 여번 AI/Data Analysis 환경을 구축하면서 들었던 의문이 하나 있습니다. “대체 Anaconda는 뭐하러 깔아야 하는 건가” 에 대해서 말이죠. 이번 포스트에서는 굳이 Anaconda 없이도 pytorch나 tensorflow 개발 환경을 구축하고 GPU 활용이 가능하다는 것을 알려드리고자 합니다. Anaconda는 필수가 아니다 가상환경을 만드려면 반드시 Anaconda가 필요한가? Anaconda를 사용하는 첫번째 이유가 여러 개발 환경간의 상호 충돌을 방지하기 위함인 건 맞으나, 가상환경은 애시당초 파이썬 자체에서도 제공하고 있는 기능입니다. python venv를 이용하면 Anaconda 때와 별반 차이 없이 가상환경을 생성하고 pip으로 필요한 패키지만 골라 설치하면 됩..
1. 정보 이론(Information Theory)에서 말하는 ‘정보’ 응용 수학 학문의 갈래에는 수없이 많은 해괴한 이론들이 도사리고 있습니다. 정보 이론(Information Theory)는 그 중에서도 공대생들에게 상당히 귀에 낯익는 용어임에도, 여기서 말하는 ‘정보’라는게 일상적으로 쓰는 그 개념 그 자체인지 항상 모호할 때가 있었습니다. 위키를 비롯한 여러 자료들에서는 정보 이론을 다음과 같이 요약하고 있습니다. 정보, 데이터의 가치를 수학적으로 정량화하는 이론 일상대화에 사용되는 “이건 유익한 정보다”, 또는 “별로 의미없는 정보였네”와 같은 표현처럼, 정보나 특정 사건, 관측치의 중요도를 수치화하여 나타내는 접근법으로 이해해도 될 것 같습니다. 그럼, 정보의 유익함을 산출하는 기준은 무엇이냐..
이전 포스트(https://citizen.tistory.com/59)와 이어지는 내용입니다. 통계 산출 describe() 각 필드 정보들의 통계치(평균, 최소/최대, 상위 n%) 등을 나타냅니다. 필드 항목 중 NaN 값이 포함되는 경우 count에서 집계되지 않기도 합니다. df.describe() 특정 필드를 지정하여 통계 산출이 가능합니다. df['Fuel'].describe() value_counts() 카테고리별 데이터 개수를 반환합니다. df['Drive'].value_counts() min(), max(), mean() 필드 항목에서의 최소, 최대, 그리고 평균값을 반환합니다. print(df['Price'].min(), df['Price'].max(), df['Price'].mean())..
데이터 사이언스, 특히 Python에서 데이터를 담고 가공 및 분석하기 위한 자료구조로 pandas 패키지의 Dataframe을, 연산작업을 위한 자료구조로 numpy 패키지의 ndarray를 많이 사용합니다. 소스 데이터가 csv, json 또는 기타 다른 형태로 제공되든 간에, pandas는 이를 정형화된 테이블 구조로 변환하여 데이터 삽입, 수정, 필터링, 각 줄 또는 열에 대한 operation 등을 매우 손쉽게 처리해줍니다. 패키지 설치는 간단하니 길게 설명하지 않겠습니다. $ pip install pandas 1. 데이터 읽어오기 예제가 있어야 할 것 같아 Kaggle에서 활용할 수 있는 데이터셋을 링크로 걸어둡니다. 가볍게 pandas 함수 정도만 알아보실 분들은 건너뛰셔도 됩니다. 아래 주..
기존에 이미 만들어둔 conda 가상환경을 분리해서 사용하거나, 또는 다른 Linux 계정의 사용자에게도 동일한 가상 환경 설정을 제공하고 싶을 때가 있습니다. 그전에 작업하기 위해서 conda 가상환경에 상당히 많은 패키지들이 설치하였을텐데, 아래 방법을 이용하면 손쉽게 conda 가상 환경 카피본을 따 여기저기서 자유롭게 활용할 수 있습니다. 1. 복제하고자 하는 conda 가상환경 활성화 conda 가상환경이 설치된 계정('guest')으로 접속하여 복사하고자 하는 가상환경('venv')을 활성화시킵니다. conda env list conda activate [복사하고자 하는 가상환경 이름] 2. 가상환경 Export 가상환경의 configuration을 'yaml' 이라는 형태의 파일로 저장합니다..
1. 푸아송 분포의 정의 푸아송 분포, 또는 포아송이라고도 하는 이 특이한 이름의 분포 함수는 주어진 시간 동안 특정 사건이 벌어지는 횟수를 모델링하는 확률 모형입니다. 여기 랜덤한 타이밍에 발생하는 이벤트가 있습니다. 우리는 그 이벤트가 어떤 조건에 맞춰 일어나는지는 모르지만, 주어진 시간동안 평균적으로 $\lambda$ 만큼의 횟수만큼 벌어진다는 사실을 알고 있습니다. 평균은 그렇다치고, 이번에는 특별히 같은 시간동안 동일한 이벤트가 '$x$'번 발생할 확률은 어떻게 될까요? 푸아송 분포는 이를 다음과 같이 수식화합니다. $$P(x\text{;}\ \lambda) = \frac{e^{-\lambda}{\lambda}^x}{x!}\qquad \text{for}\; x = 0,\ 1,\ 2, ... \t..