저도 처음 코딩을 시작할 때 파이썬이 다른 언어에 비해 쉽다는 말만듣고 시작했던 기억이 나는군요. 그때는 왜 파이썬을 쓰는지도 모르는채 배웠습니다. 훗날 강의를 들으면서 알게됐지만 과거의 저같은 분들을 위해 머신러닝에서 파이썬이 왜 자주 쓰이는지에 대한 게시물을 준비했습니다 짜잔.
파이썬은
- 스크립트 언어 : 컴파일러를 사용하지 않아 수정이 쉽고 간단하며 사용자와 지속적 인터랙션이 가능합니다.
데이터 이해를 위한 수시 확인이 용이합니다. 이러한 특성 때문에, 스크립트 언어는 주로 간단한 작업이나 웹 개발, 데이터 분석 등의 분야에서 사용됩니다.
- 쉬운 언어 : 문법이 간단하고 이해가기 쉽습니다.
- 머신러닝과 딥러닝의 표준언어 : 머신러닝을 지원하기 위한 많은 프레임워크들 대부분이 파이썬을 지원합니다.
• 사이킷런(Scikit-Learn), 구글의 텐서플로(TensorFlow), 페이스북의 파이토치(PyTorch) 가 있습니다.
머신러닝을 접목하기에 적합한 파이썬의 작업환경은 다음과 같습니다.
- Python 인터프리터 : 파이썬 코드를 해석하고 실행시키기 위한 Phython 해석기 프로그램입니다.
- 코드 편집기 : 코드를 하나의 문서처럼 취급하여 수정합니다. Jupyter Notebook, Google Colaboratory, VS Code가 있습니다.
• Google Colaboratory는 google 계정만 있다면 어디에서나 인터넷에 연결된 컴퓨터나 모바일 기기에서 Colaboratory를 사용할 수 있습니다. 이는 다른 로컬 컴퓨터에서 Python 개발 환경을 설정하지 않아도 되어 편리합니다. 또한 구글드라이브에서 제공하는 편집기로 딥러닝 프레임워크인 텐서플로를 작동 시킬 수 있습니다.
• VS Code에 쥬피터 노트북을 적용할 수 있어서 비쥬얼 코드 내에서도 쥬피터 노트북이 가능합니다. 이렇듯 VS code는 다양한 확장 기능을 통해 개발자가 필요로 하는 여러 언어나 기능을 사용할 수 있습니다. 이 확장 기능은 개발자가 개발 환경을 개인화하고 더울 효율적으로 작업 할 수 있습니다. 따라서 개인의 목적 및 의도에 따라서 파이썬 작업 환경으로 비쥬얼코드 혹은 Google Colaboratory을 설정해주시면 됩니다. 저는 두개 다 이용하고 있습니다.
아래그림은 Google Colaboratory와 VS code 예시입니다.

이어서
- 통계 분석 및 전처리 도구
• 넘파이(NumPy - Numerical Python) 일반적으로 과학계산에 많이 사용되는 선형대수의 계산식을 구현할 수 있는 라이브러리 입니다. Pandas나 Scipy의 베이스 객체로도 사용되기에 넘파이의 다양한 코드 표현법을 그대로 사용하는 경우가 많습니다. 그래서 잘익히셔야합니다.
• 판다스(Pandas - Python Data Analysis) 데이터 전처리 및 기본 통계정보 분석에 많이 사용됩니다.
• 사이파이(SciPy - Scientific computing tools for Python) 다양한 과학 계산을 지원하는 도구 입니다. 통계, 미분 연산 등 공업수학 레벨에서 사용하는 수학연산 지원합니다.
- 시각화 도구(데이터 시각화)
• 맷플롯립(Matplotlib) 대중적으로 가장 많이 사용되는 시각화 라이브러리 입니다.
• 시본(Seaborn) 그래프를 생성하는 일종의 래퍼(wrapper) 라이브러리 입니다. 이것은 데이터의 시각화를 위한 다양한 기능을 쉽게 사용할 수 있도록 지원하고 맷플롯립의 모든 기능을 사용하면서 쉽게 이용 가능합니다.
- 머신러닝 프레임워크 : 실제 ML 모델을 생성하고 데이터에 적용할 수 있도록 도와주는 도구입니다.
• 사이킷런(Scikit_Learn) 기본적인 통계기반 라이브러리를 다양하게 제공합니다.
• 파이토치(PyTorch) 페이스북의 딥러닝 지원 라이브러리 입니다.
• 텐서플로(TensorFlow) 구글의 딥러닝 지원 라이브러리 입니다.
특히 앞으로 여기서 가장 많이 활용되는 Scikit-Leearn에 대해서 자세히 살펴보겠습니다.
-기계 학습을 위한 라이브러리
• 다양한 머신러닝 알고리즘을 구현한 Python 라이브러리입니다.
• 심플하고 일관성 있는 API, 유용한 온라인 문서, 풍부한 예제가 있습니다.
• 머신러닝을 위한 쉽고 효율적인 개발 라이브러리 제공합니다.
• 다양한 머신러닝 관련 알고리즘과 개발을 위한 프레임워크와 API제공합니다.
• 많은 사람들이 사용하며 다양한 환경에서 검증된 라이브러리 입니다.
이렇기 때문에 파이썬이 머신러닝에서 자주 쓰이고있습니다. 그래서 앞으로도 게시글은 파이썬을 바탕으로 코드를 수행할것입니다. 이거 이야기 하려고 지금까지 끄적였습니다ㅎㅎ. 다음에는 넘파이와 판다스에 대해 알려드리겠습니다.
'Machine Learning_모델설계_Python' 카테고리의 다른 글
| Pandas_1 개요 (3) | 2023.05.01 |
|---|---|
| Numpy_3 비교연산과 데이터 추출 (0) | 2023.04.30 |
| Numpy_2 배열 연산, 장단점 (1) | 2023.04.28 |
| Numpy_1 개념 및 배열 객체 다루기 (2) | 2023.04.27 |
| 머신러닝(Machine Learning) 기본개념 - 모델 설계 (2) | 2023.04.25 |