파이썬 기본 지식 정리1

파이썬 머신러닝 강좌의 맛보기 강의입니다.

강의 대본 보기

파이썬으로 머신러닝을 진행하기 위해서는 파이썬을 개발할 수 있는 환경을 먼저 설정하셔야 되는데요 상황에 따라서 두 가지 중에 하나를 선택하셨으면 좋겠어요 하나는 윈도우 10이 깔린 상태에서 아나콘다를 까셔서 아나콘다에 들어있는 각종 패키지를 이용하는 방법이 하나가 있고요 첫 번째 방법입니다 두 번째 방법은 아나콘다가 너무 좀 무겁기 때문에 시스템 사양이 좋지 않다면 윈도우에 파이썬을 까시고 그리고 편집기인 주피터만 깔고요 필요한 모듈들은 그때그때 pip install로 설치해 주시면 되거든요 그런 환경으로 진행하시면 되겠습니다 저는 두 번째 환경으로 맞춰서 진행하겠습니다 그래서 저희는 윈도우 10 환경에 파이썬 저희가 3.7대 버전을 제가 쓸 거고요 그리고 주피터라는 파이썬 코딩을 할 수 있는 편집기를 사용하도록 하겠습니다 파이썬 개발 환경을 설치하고 나서요 필요한 모듈을 임포트 해 보도록 하겠습니다 필요한 모듈을 임포트하고 그 버전도 확인해 보도록 하겠습니다 먼저 sys라는 내부 모듈 코어 모듈을 먼저 임포트를 먼저 할 건데요 별다르게 pip install로 깔지 않아도 sys는 내부 코어 모듈이기 때문에 저희가 임포트만 써도 상관이 없고요 파이썬의 시스템 모듈이에요 import sys라고 해서 임포트 sys를 가져와 보겠습니다 그리고 버전을 한번 보면 버전을 보는 방법은 sys.version 언더스코어와 임포트 라고 하시면 기본 지식 정리2 기본 지식 정리3 기본 지식 정리4 데이터 분석을 하거나 또는 시각화를 하거나 이럴 때 또는 머신러닝을 쓸 때 사이킷런을 쓰거든요 그래서 각각 필요한 모듈들이 많기 때문에 먼저 CMD 창에 가셔서 pip install을 다 깔아주시면 되겠습니다 일단 저는 하나만 해볼까요 판다스를 CMD 창에서 한번 깔아볼게요 그래서 CMD라고 하시고요 윈도우 R 버튼하고 똑같습니다 윈도우 버튼하고 R 버튼을 같이 눌러도 똑같이 명령 프롬프트 창이 뜨고요 여기서 설치하는 방법은 pip install pandas 이렇게 설치해 보겠습니다 필요한 모듈도 이렇게 설치를 하시면 되고요 쭉 설치가 이제 다 끝나시면 하나만 더 해볼까요 pip install sklearn은 우리가 하고자 하는 머신러닝이고요 머신러닝에 해당되는 sklearn도 역시 모듈을 깔아 주시기 바랍니다 모듈 설치가 다 끝나면 각각의 그 모듈들을 임포트 시키고 버전들을 확인해 보겠습니다 먼저 numpy인데요 numpy는 import numpy란 모듈을 저희가 불러올 건데 앞으로 쓸 때 이 numpy라는 글자를 다 쓰지 말고 as np, np라는 별칭으로 불러주라는 뜻이고요 조금 간략하게 쓰고 싶을 때 이렇게 import as를 쓰시면 되겠습니다 한 다음에 버전 확인하는 방법은 언더스코어를 앞뒤로 2개 붙이시고 version으로 쓰시면 되는데요 이게 언더스코어 2개로 시작해서 2개로 끝나는 것을 저희가 파이썬에서 시스템 변수라고 그래요 그래서 시스템에서 미리 쓰겠다고 예약한 변수라고 생각하시면 좋겠고요 그 버전을 알려준 정보를 봤더니 저는 이렇게 버전이 나왔습니다 판다스도 한번 해보도록 하겠습니다 판다스를 이제 임포트를 시켰기 때문에 이렇게 판다스에 대한 버전도 봤는데 판다스가 1.0.1 버전을 저는 갖고 있고요 Matplotlib도 한번 해보도록 하겠습니다 Matplotlib도 MPL이라고 해서 간단하게 봤고요 버전을 보시면 해당되는 버전이 깔린 버전을 확인할 수가 있습니다 Seaborn도 역시 똑같이 한번 보도록 하겠습니다 Seaborn도 임포트를 시켰고요. Seaborn의 임포트 버전을 봤더니 이렇게 0.10.0이 됐습니다. 그래서 버전들을 확인해 봤고요. 그 다음에 scikit-learn에서 주로 쓰고 있는 모듈이죠. sklearn도 sk라고 부르고요. 그리고 나서 버전을 확인해 봤더니 이런 버전이 지금 뜨고 있습니다. 그래서 각각 여러분이 설치가 되고 있는 기본적인 파이썬이 버전이 얼마인지 확인해 보시고요. 파이썬 기초문법에 대한 설명을 간단히 해드리겠습니다 파이썬은 프로그램 언어이기 때문에 변수와 데이터 타입이 굉장히 많이 중요하고요 변수가 갖고 있는 각각의 데이터 타입을 이해하고 또 변수끼리 데이터 타입을 맞추는 작업들이 굉장히 중요하고요. 초보자 입장에서는 그게 모든 에러가 좀 많이 나기 때문에 데이터 타입을 맞추는 캐스팅 함수에 관한 얘기도 반드시 숙지하고 계셔야 됩니다. 먼저 a라는 이름으로 100의 값을 줬어요. a라는 변수를 잡고요. 거기에 100이라는 값을 할당해줬어요. 이렇게 equal은 할당 연산자입니다. 그래서 a에 100을 집어넣는 형태가 되는 거고요. 그 값을 화면에 출력해줘 라고 하는 게 바로 프린트 명령이었기 때문에 a의 값을 메모리에서 찾아와서 100의 값을 출력하는 형태를 가지고 있습니다. 그래서 출력을 먼저 한번 해보면요. a에 100이 들어가 있기 때문에 당연히 a는 프린트를 찍으면 100이 나오게 되겠습니다. 두 번째는 앞으로 쓸 수 있는 이 변수 이름, 다시 말하면 식별자를 얘기하는데요. 이 식별자를 저희가 마음대로 쓸 수 있냐 그건 아니고요 반드시 변수 이름 식별자 이름을 붙일 때는 첫자가 반드시 영문자 거나 아니면 한글이어도 괜찮아요 다시 말하면 첫 글자는 반드시 문자여야 돼요 다시 말하면 숫자로 시작하면 에러가 나거든요 그래서 그것만 좀 유의해 주시면 되고요 또 하나 파이썬에서 기본적으로 갖고 있는 시스템이 쓰고 있는 식별자를 미리 예약해 놨기 때문에 그거는 변수 이름으로 사용하는 게 사실은 불가합니다 그래서 그것만 좀 주의하시면 될 것 같아서 키워드로 혹시 쓰실까봐 키워드로 사용되는 것을 식별자로 사용하지 않도록 조심해야 하기 때문에 키워드를 한번 보도록 하겠습니다. 그래서 import 모듈을 통해서 keyword 모듈을 하고요. 그리고 프린트를 조금 깔끔하게 하기 위해서 pprint라는 모듈을 import를 시켰습니다. 그리고 pprint의 pprint를 통해서 저희가 키워드를 한번 보시면요. 키워드 형태가 이렇게 보여지고요. 그래서 이런 키워드는 이제 못 쓰는 거죠. 그래서 이거를 저희가 전체 키워드의 키워드 리스트를 가지고 와서 제가 5개씩 끊어서 출력을 해본 거거든요. 그래서 5개씩 끊으면 False, None, True, and 이런 키워드는 시스템 내부적으로 쓰는 키워드이기 때문에 쓰지 마세요. 변수명이나 식별자로 쓰지 마세요. 이런 거거든요. 그래서 이런 것만 아니라면 상관없습니다. 그래서 반드시 첫 문자만 영문자 아니면 한글이어도 상관없는데 한글이 이제 자주 깨지다 보니까 되도록이면 변수 이름은 영문자로 사용하시는 게 바람직하고요. 첫 번째는 반드시 영문자가 오셔야 돼요. 숫자가 오시면 안됩니다. 그래서 식별자를 쓰는 원칙에 대해서도 말씀을 드렸어요. 또 이렇게 만들어진 변수를 삭제하고 싶을 때가 저희가 있거든요. 그래서 삭제하는 방법에 대해서도 얘기를 한번 해보겠습니다. 먼저 a에 1을 할당하고 b에 1을 할당할게요. 그래서 각각 찍으시면 id라는 함수가 있어요. id 함수는 뭐냐면 1이 저장되어 있는 메모리 주소인데요. 파이썬은 특이하게도 이 1의 값을 같이 공용으로 쓰고 있어요. 같은 주소로 가리키고 있거든요. 주소의 값이 똑같죠. 그래서 어쨌든 a, b가 지금 1로 할당되어 있고요. 그걸 지우는 명령이 바로 del이에요. del이 delete의 약자고요. a를 지울 겁니다. a를 지우면 에러가 나겠죠. 다시 한번 셀을 제가 추가를 해서 위에다가 del을 먼저 쓰고요. 한번 설명해 보겠습니다. del을 쓰고요. a를 지웠어요. a를 분명히 잘 지웠고요. 그리고 나서 a를 한번 찾아보죠. a를 출력을 해주세요 내지는 a를 찾아서 한번 화면에 보시면 a를 저희가 선언했지만 다시 a를 지웠거든요 그럼 메모리 a가 없거든요 그래서 name a가 is not defined라고 해서 찾을 수 없어요 당연히 지웠으니까 찾을 수 없겠죠 이런 걸 저희가 시스템 에러라고 그러는데 이렇게 보이는 에러들은 name 에러라는 키워드로 찾아서 만들어진 거잖아요 여기 보시면 이런 에러가 시스템적인 에러가 시스템에서 보여주는 메시지가 아니고 사용자가 이 에러를 대체해서 뭔가 막아줄 수 있는 구문이 있어요 그게 바로 try-except 문이고요 제가 try-except 문을 활용해 본 거죠 그래서 일단은 a를 지웠어요 a를 지우고 나면 a가 사라지겠죠 그러면 프린트 a를 하시면 분명히 에러가 날 거란 말이에요 이런 에러가 생길 거예요 그래서 이런 에러를 저희가 방지하기 위해서 저희가 이렇게 얘기를 해주는 거죠 여기 보시면 name a is not defined 이란 이 메시지만 간단히 출력할 수 있게 exception을 건 거예요 예외 처리를 진행하는 try except 문은요 try 하고 콜론을 주시고 그 다음에 try를 말 그대로 해보는 거예요 에러가 있을 법한 문법을 또는 에러가 있을 수도 있는 그런 문법을 주는 거죠 프린트는 a를 지웠기 때문에 분명히 에러가 날 거라고 저희가 각오를 하고 있는 거죠 a를 먼저 시도해보고 만약 에러가 걸리면 그 에러 메시지만 받아다가 출력해 보겠다라는 뜻이라고 생각하시면 되겠습니다 다시 한번 실행을 해보면 a를 한번 다시 만들어 볼게요 a에 1을 주고요 그리고 똑같이 여기 있는 del a를 지워서 진행해 보도록 하겠습니다 a를 지우고 난 다음에 그리고 프린트 a를 지우고 나서 진행했을 때 어떻게 나오는지 한번 확인해 보시죠 그러시면 아까 이렇게 에러가 뜬 것보다 에러 메시지만 받아다가 try except 문으로 조금 더 제어를 한 거죠 조금 더 간결하게 에러문을 저희가 조금 더 명시적으로 볼 수 있는 그런 문법이라고 생각하시면 되겠습니다 당연히 b는 살아있겠죠 b는 지운 적이 없으니까 똑같은 주소에 1의 값이 할당이 되어 있는 걸 확인할 수가 있습니다 이렇게 해서 저희가 변수를 생성해 보고 정의를 해보고 두 번째는 변수의 이름을 주는 식별자 이름을 어떻게 써야 되는지 키워드의 이름은 주지 마라 라고 말씀을 드렸고요 그래서 키워드 이름을 조심하셔야 하니까 한번 키워드 이름을 봤고요. 또 변수를 저희가 메모리에서 삭제할 때가 있어요. 그래서 삭제를 해야 될 때는 del이라는 명령으로 삭제를 하는데 삭제를 할 때 저희가 try, except문을 좀 이용하게 되면 훨씬 더 간편하게 사용자를 위한 에러 메시지만 골라서 좀 보낼 수가 있는 그런 기능을 갖고 있다라고 생각을 하시면 되겠습니다.

이 강좌의 맛보기 강의

파이썬 머신러닝
파이썬 머신러닝강좌 자세히 보기