파이썬 공식 홈페이지의 맥 인스톨러를 사용해서 이미 설치한 파이썬 minor 버전의 다른 micro 버전을 다운받으면 새로운 minor 버전을 설치할 때와는 다르게 작동합니다. 예를 들어 파이썬3.7.5 버전을 설치하고 다시 3.7.11 버전을 설치하는 경우를 얘기하는 거죠. 일단 맥 인스톨러를 사용해서 파이썬을 다운받으면 각 마이너 버전마다 하나의 인터프리터만 설치할 수 있습니다. 3.7.5 버전을 쓰고 있다가 3.7.11 버전을 다운받으면 인터프리터 파일만 덮어쓰기 됩니다. 일단 맥 인스톨러를 사용해서 파이썬을 다운받으면 각 마이너 버전마다 하나의 인터프리터만 설치할 수 있습니다. 3.7.5 버전을 쓰고 있다가 3.7.11 버전을 다운받으면 인터프리터 파일만 덮어쓰기 됩니다. 또 다른 점은 PATH ..
vi ~/.zprofile 맨 아래로 python 3.8 인터프리터를 옮깁니다(파이썬 3.8을 기본으로 사용하기 위함입니다) 인터프리터가 바뀌면, 따로 설정을 하지 않는 이상 다른 인터프리터를 사용할 때 다운로드 받은 패키지를 사용할 수 없습니다. 전 포스팅에서 다룬 numpy 패키지를 사용할 수 없습니다. 이처럼 인터프리터에 따라 다른 pip3을 사용하고, 패키지 관리도 다른 폴더에서 관리되는 것을 볼 수 있습니다. 버전 디렉토리 별로 각각 하나의 환경을 가집니다.
1. 파이썬 패키지와 pip 실제 개발에 있어서는 다른 개발자들이 미리 작성해둔 코드를 가져와서 씁니다. 파이썬 standard library가 아닌 외부 패키지는 pip을 통해서 다운로드합니다. pip3 --version pip의 버전을 확인합니다. pip은 항상 최신 버전을 사용하는게 좋습니다. 최신 버전을 쓰지 않으면, 패키지를 다운로드 받을 때 매번 경고 메세지가 출력됩니다. pip3 install --upgrade pip 예시로 넘파이를 설치해보겠습니다. # 원하는 버전의 numpy 설치 pip3 install numpy==1.20.1 # 삭제 pip3 uninstall numpy==1.20.1 # 다운로드된 패키지 확인 pip3 list 2. 파이썬 인터프리터와 pip 기본 디렉토리를 PATH..
python3 hello_world.py PATH : 컴퓨터가 커맨드에 해당하는 프로그램을 검색하는 경로들 PATH 안에 있는 경로를 왼쪽부터 오른쪽 까지 탐색하고, 앞에서 python3라는 걸 찾으면 바로 적용한다. $echo PATH bin은 binary의 약자로, unix 기반 시스템에서는 인터프리터와 같이 커맨드로 실행 가능한 프로그램들이 저장되는 디렉토리의 이름으로 많이 사용됩니다. PATH에 bin 디렉토리들이 추가 됐기 때문에 커맨드로 인터프리터를 찾을 수 있었습니다. 여기서 가장 왼쪽에 있는 것이 3.8이기 때문에 이 버전을 사용했고, bin에 있는 인터프리터로 찾아 실행된 것. python3.8로 실행시키면 이 프로그램이 이 디렉토리에 있기 때문에 컴퓨터가 찾아서 실행할 수 있었습니다.
1. 파이썬 버전이란? 파이썬 언어와 인터프리터는 한 종류만 있는게 아닙니다. 일단 기본적으로는 python1, python2, python3이 있습니다. 그리고 세부적으로는 아래 버전이 있고, 도 아래 버전이 있습니다. 이렇게 서로 다른 종류를 버전이라고 합니다. 이런 것들을 바꿀 때마다 새로운 버전을 출시합니다. 파이썬 버전에서 현재 어떤 것이 문제고, 어떤 걸 고쳐나가는게 좋은 것들은 PEP(Python Enhancement Proposal)에서 제안하고, 파이썬 코어 개발자들이 이를 받아드리거나, 거절합니다. https://www.python.org/dev/peps/ PEP 0 – Index of Python Enhancement Proposals (PEPs) | peps.python.org pe..
파이썬 인터프리터 컴퓨터는 0과 1로만 된 코드만 이해합니다. 인간이 0과 1만을 사용해서 코드를 짜기 어렵습니다. 이를 위해 사람들은 프로그래밍 언어를 개발했습니다. 이 프로그래밍 언어 중 하나가 파이썬입니다. 이 파이썬은 코드 자체를 머신 코드로 통역해줍니다. 파이썬 언어로 쓴 문법을 머신 코드로 통역해주면 됩니다. 저희가 파이썬을 사용하는 경우 파이썬 인터프리터를 사용하는 것입니다. 파이썬 언어와 인터프리터를 각각, 그리고 합쳐서 그냥 파이썬이라고 부릅니다. 중요한 건 머신 코드로 바꿔주는 인터프리터가 중요합니다. 아무 문서 편집 도구에서도 파이썬 코드는 쓸 수 있습니다. 파이썬은 코드가 두 줄이 있으면, 위에서 한 줄 씩 머신 코드를 해석하고 실행하고, 그 다음 머신 코드를 해석하고 실행합니다. ..
python3 해당 명령어 입력을 통해 터미널에서 파이썬을 실행시킬 수 있습니다. 이렇게 터미널로 코딩을 할 수도 있습니다. 터미널에 보여진 텍스트를 지우기 위해서는 control + L을 활용합니다. 그저 텍스트만 지울 뿐 변수가 지워진건 아닙니다. 인터랙티브 모드에서 for문 같은 것들을 쓰면 앞이 ...으로 바뀝니다. 이 때 ... 에 원하는 코드들을 쓰고, 엔터를 치면 다음과 같이 실행됩니다. 파이썬 인터랙티브 모드에서는 문법을 틀리는 것을 두려워할 필요 없습니다. 오류가 나오기만 하고, 인터랙티브 모드가 종료되진 않습니다. 프로그램 자체가 종료되진 않고, 정의 해놓은 변수들을 그대로 사용할 수 있습니다. 종료하려면 다음과 같이 합니다. quit() 다시 실행한다고 해도, 전에 저장해둔 변수를 쓸..
커맨드 라인을 활용해서 파이썬 파일을 실행해보겠습니다. 이번 토픽에서는 IDE를 사용하지 않고, 여러 기능들이 동작하는 원리를 파악하기 위해서, CLI를 활용해보겠습니다. 1. 파이썬 파일 실행 터미널을 키면 항상 홈 디렉토리에서 시작합니다. 현재 디렉토리를 확인하는 명령어는 pwd입니다. pwd 여기서 cd 커맨드를 이용해서 Desktop으로 이동합니다. cd Desktop 여기서 하나의 파일을 만들겁니다. touch hello.py hello.py 파일을 수정하고, 해당 명령어로 파이썬 파일을 실행합니다. python3를 꼭 붙여주는 이유는, 2로 실행될 수도 있기 때문입니다. python2가 맥북의 내장으로 남아있는 이유는, 일부 코드가 python2로 돌아가고 있기 때문입니다. python3 he..
좋은 모델이란? 현재 데이터를 잘 설명하고 미래 데이터를 잘 예측하는 모델 복잡한 모델의 문제점 분산이 높고(고분산, 과대적합) 노이즈가 심하다 모델 규제 : 각 도립변수(특성)의 계수를 작게 만들어 과대적합을 감소시키는 것 다항식의 차수를 감소시키는 것 선형회귀인 경우 : 모델의 가중치를 제한 릿지, 라쏘, 엘라스틱넷 회귀 모델 규제(regularization) 규제의 정의 손실함수(비용함수)에 임의의(alpha) 값으로 페널티를 부여해 회귀 계수 값의 크기를 감소시켜 과적합을 개선하는 방식 규제(정규화)의 목표 회귀 계수의 크기(가중치)를 제어해 과적합을 개선 규제의 효과 및 해석 과적합(고분산)된 파라미터 값에 대해 규제(페널티)를 부여하게 됨(계수를 작게하거나 높임) 규제를 추가하게 되면 규제가 ..
다중선형회귀 단순 선형 회귀에서 독립변수의 개수만 늘어난 것이다. 따라서 단순 선형 회귀와 동일한 절차를 이용하여 분석을 수행할 수 있다. 단, 독립 변수의 수가 많아지므로 이로 인해 발생할 수 있는 경우들을(과적합) 고려해서 적절한 조치를 취해야한다 독립변수들의 최초 선택(feature_engineering > feature_selection) 회귀분석의 목적: 종속 변수를 가장 잘 설명하는 독립변수들의 성향/특징들을 찾아내어 이를 기반으로 기존의 자료를 설명하거나 새로운 결과를 예측하는 것 독립변수를 임의로 누락시키는 것은 해당 모델의 설명력이 낮아지는 문제 회귀 분석을 수행하는 경우, 관련 있는 독립변수는 일단 가급적 모두 고려 탐색적 데이터 분석(Exploratory Data Analysis) 수..
folium folum은 파이썬 라이브러리로 지도 데이터를 시각화하는데 아주 쉽게 도와줍니다 leaflet.js를 기반으로 만들어졌습니다. 지도에 마커를 표현하거나 범위를 나타내는 다양한 도형을 입력할 수 있습니다. conda에 folium 설치하기 아나콘다 프롬프트를 켜고 다음의 명령을 입력합니다. conda install -c conda-forge foloium folium 간단한 예제 우리가 현재 위치한 곳의 위도와 경도 정보입니다. 위도와 경도 각각을 latitude, longitude에 저장해봅시다. # 플레이데이터 독산 위도, 경도 latitude, longitude = (37.468251, 126.886212)해당 위도, 경도 정보를 바탕으로 지도에 표시해봅시다. 또 Marker를 달아 위치..
바 차트(bar chart) x 데이터가 카테고리 값인 경우에는 bar 명령과 barh 명령으로 바 차트(bar chart) 시각화를 할 수 있습니다. 가로 방향으로 바 차트를 그리려면 barh 명령을 사용합니다. 바 차트 작성시 주의점은 첫번째 인수인 left 가 x축에서 바(bar)의 왼쪽 변의 위치를 나타낸다는 점입니다. import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np y = [2,3,1] x = ['가','나','다'] plt.title("Bar Chart") plt.bar(x,y) plt.xlabel('가나다') plt.ylabel('빈도 수') plt.show() 각 bar 마다 색상을 적용할 수 있습니다...