본문 바로가기

SMALL

머신러닝 공부

(16)
numpy(3) ndarray의 데이터 세트 선택하기 - 인덱싱(Indexing) 우리가 ndarray의 특정위치에서 데이터를 가져올 수 있는데 이런 방법을 통틀어서 인덱싱이라고 합니다. 인덱싱 유형 설명 특정 위치의 단일값 추출 원하는 위치의 인덱스 값을 지정하면 해당 위치의 데이터가 반환됩니다. 슬라이싱(Slicing) 슬라이싱은 연속된 인덱스상의 ndarray를 추출하는 방식입니다. ' : ' 기호 사이에 시작 인덱스와 종료 인덱스를 표시하면 시작 인덱스에서 종료 인덱스-1 위치에 있는 ndarray를 반환합니다. 팬시 인덱싱 (Fancy Indexing) 일정한 인덱싱 집합을리스트 또는 ndarray 형태로 지정해 해당 위치에 있는 ndarray를 반환합니다. 불린 인덱싱 (Boolean Indexing) 특정 ..
numpy(2) 넘파이 ndarray의 axis 축 ndarray의 shape는 행, 열, 높이 단위로 부여되는 것이 아니라 axis0, axis1, axis2 와 같이 axis 단위로 붙게 됩니다. 그림에서 보듯이 axis 기준이 차원에 따라서 계속 변하는 것을 볼 수 있습니다. 이런 이유로 혼란을 많이 겪게 됩니다. 우선 2차원 배열에서 보겠습니다. 2차원 배열에서 [1, 2, 3, 4]와 같은 개별 원소가 여러개 있는게 2차원 배열입니다. 이렇듯 단일 원소로 표현될 수 있는 가장 작은 단위는 맨 마지막 axis입니다. (따라서 axis 1이 되는 것입니다.) 결과적으로 단일 원소 즉, 가장 작은 원소로부터 axis 기준을 거꾸로 잡아서 나아가는게 이해하는데 도움이 될 것 입니다. 이후 shape를 나타낼 때 2차원..
NumPy (넘파이) 넘파이에 대해서 공부해보겠습니다. 먼저 넘파이의 뼈대를 이루고 있는 ndarray에 대해서 알아보겠습니다. 여기서 nd가 각각 의미하는 것은 N 차원 (Dimension) 으로 ndarray는 N차원 배열 객체라는 의미입니다. 한 차원이 높아질때마다 한차원 밑에 있는 요소들을 원소로 가지는 형태의 배열입니다. 넘파이에는 array라는 함수가 있는데 이 안에 우리가 변환하고자하는 데이어 타입을 넣어주면 됩니다. Numpy 모듈의 array() 함수로 생성하여 인자로 주로 파이썬 list 또는 ndarray를 입력하여 줍니다. import numpy as np array1 = np.array([1,2,3]) array2 = np.array([1,2,3],[2,3,4]) 원래 list로 대용량 데이터 처리는 ..
주피터 노트북 그리고 넘파이/판다스(jupyter, numpy, pandas) Jupyter Notebook 주피터 노트북은 대표적인 대화형 파이썬 툴입니다. 대화형 툴이란 것이 프로그래밍과 이에 대한 설명적인 요소를 결합했다는 의미입니다. 전체 프로그램에서 특정 코드 영역별로 개별 수행을 지원하여 영역별로 코드 이해가 명확하게 설명할 수 있는 장점이 있습니다. 셀이라고 불리는 주피터 노트북 요소 안에 실행할려는 코드를 집어 넣게 된다면 개별 셀별로 수행이 가능하게 됩니다. 전통적인 에디터 컴파일러들에서 디버깅할 때 브레이크 포인트를 정하는 것처럼 개별 코드별로 영역 수행이 됨에 따라서 코드 각각의 이해의 편리성이 돋보입니다. 이때 노트북(Notebook)은 중요 코드 단위로 설명을 적고 코드를 수행해 그 결과를 볼 수 있게 만들어서 직관적으로 어떤 코드가 어떤 역할을 하는지 매우..
파이썬 머신러닝을 위한 SW 설치(2)-XGBoost, LightGBM 패키지들 중에서 최선 버전으로 release를 시키고 싶다면 pip를 통해서 다운로드를 진행해보겠습니다. 이때 유의해야할게 하나 있는데 [시작]메뉴로 들어가서 anaconda3파일안에 Anaconda Prompt (anaconda3)가 있어 이를 바로 실행시키지말고 마우스 오른쪽버튼을 통해서 관리자 권한으로 들어갑니다. 안그러면 pip를 쓰거나 anaconda를 하거나 제대로 파일에 저장이 안될 우려가 있습니다. 따라서 반드시 관리자 권한으로 들어가서 download를 진행해주시면 됩니다. 만약 scikit-Learn을 설치를 하고싶다면 웹브라우저를 하나 열고 scikitlearn install을 검색을합니다. 여기서 pip install -U scikit-learn이 부분이 최신버전으로 설치를 해주는 ..
파이썬 머신러닝을 위한 sw 설치 이번에는 파이썬 머신러닝을 사용하기 위해서 소프트웨어를 설치해보도록 하겠습니다. 보통은 파이썬 머신러닝을 위해 패키지 설치보다는 쉬운 방법인 anaconda를 이용합니다. 파이썬 패키지를 설치하는 방법인 pip는 ML과 SW를 각각 설치를 해야하는 번거로움이 있습니다. 반면, anaconda는 Scikit-Learn,pandas, jupyter notebook 등 전부 일괄적으로 설치를 해줍니다. 이 패키지를 로컬 pc에 설치를 안해도 되는 이유는 Colab에서 소스코드가 돌아갑니다. 다만, 감안해야할 부분은 pandas와 Scikit-Learn의 버전이 SW버전과 차이가 있어 출력결과가 달라질 수 있습니다. 설치는 글작성기준으로 설치를 하겠습니다. 웹브라우저 하나를 열어서 python anaconda ..
머신러닝(Machine Learning) 머신러닝은 일반적으로 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 이야기합니다. 기존의 소프트웨어 코드로만은 해결하기 힘든 문제들을 머신러닝을 이용해서 해결하고 있습니다. 머신러닝 알고리즘은 데이터를 기반으로 통계적인 신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출하도록 합니다. 데이터마이닝, 영상 인식, 음성 인식, 자연어 처리 등과 같이 개발자가 데이터나 업무 로직의 특성을 직접 감안한 프로그램을 만들 경우 난이도와 개발 복잡도가 높을 수 밖에 없는 분야에 머신러닝은 계속해서 발전하고 있습니다. 머신러닝 분류 머신러닝은 일반적으로 Supervised Lear..
머신러닝 공부 시작 이번년도에 데이터 분석하고 인공지능 공부를 시작하고 싶었습니다. 아마 책으로만 공부하는게 아니라 따로 동영상 강의를 병행해서 듣거나 기회가 되면 오프라인 과정을 들을 염두도 하고 있습니다. 저는 파이썬 머신러닝 완벽 가이드라는 책으로 공부할 예정입니다. 물론 XGBoost, LightGBM, 스태킹 키법 등 캐글의 많은 데이터 사이언스에서 사용하는 알고리즘 기법에 대해 아는 것이 아는 것도 중요하지만 머신러닝의 핵심 개념을잡으면서 공부하는 것을 목표로 할 것입니다. 파이썬도 배운적도 없이 어깨너머로 보기마한 것이라 중간중간 파이썬 공부도 하고 판다스공부도 하면서 뒤죽박죽이 될 공부를 해보겠습니다.