반응형

분류 전체보기 505

[Sklearn] 파이썬 t-SNE 차원 축소 시각화 예제

Python tsne 이용 2차원, 3차원 시각화 안녕하세요. 이번 글에서는 파이썬 사이킷런 라이브러리를 이용하여 t-SNE로 2차원 혹은 3차원으로 데이터 차원을 축소한 상태의 시각화를 진행하는 방법에 대해서 살펴보겠습니다. t-SNE 시각화 사용 이유, 장점 데이터의 분포를 살펴보는 과정에서 처음에 각 class의 분포를 시각화를 통하여 개략적으로 살피는 것이 도움이 많이 됩니다. 그러나, feature가 4종류 이상인 경우, 4차원 이상의 데이터는 직접 시각화가 어렵습니다. 따라서, 보통 시각화가 편리한 2차원이나 3차원으로 차원 축소를 진행 후, 실제 feature가 아닌 축소된 주성분을 기준으로 분포를 간접적으로 시각화하게 됩니다. 이 과정에서, 차원 축소 방법으로는 PCA, t-SNE 등 방법..

Python/Sklearn 2022.02.10

파이썬 while문 예제와 사용법 정리

파이썬 while 반복문 예시, 원리, 탈출 방법 안녕하세요. 이번 시간에는 파이썬의 대표 반복문 패턴 중 하나인 while 구문을 작성하는 기본 방법, 사용 케이스와 원리 그리고 탈출 방법 등에 대한 내용들을 정리해보도록 하겠습니다. while문을 사용하는 경우, for문과의 차이 먼저, 다른 반복문 패턴인 for문 대신에 while문을 사용하는 것이 좋은 경우에 대해서 말씀드려보도록 하겠습니다. for문과 while문의 차이는 반복 횟수를 정해 놓느냐와 종료 조건을 정해 놓느냐의 차이입니다. 예를 들어, 당첨 확률이 1%인 복권을 200장 사서 몇 번 당첨되었는지를 알고 싶을 때는 반복 횟수가 정해져있는 것이므로 for문을 사용하는 것이 좋고, 당첨이 될 때까지 복권을 몇 장 샀는지를 알고 싶을 때는..

[Pytorch] 파이토치 설치 방법 정리

torch install 방법 요약 안녕하세요. 이번 시간에는 매우 간단하게 사용 환경에 맞는 파이토치를 설치하는 방법을 말씀드리도록 하겠습니다. 1단계. 파이토치 사이트 접속 및 커맨드 입력 먼저, 파이토치 공식 사이트인 https://pytorch.org/에 접속해줍니다. 위와 같은 설정에서 각 항목을 아래 기준으로 선택해줍니다. PyTorch Build : 현재 가장 안정 버전 / 최신 베타 버전 / 장기 지원 예전 버전 중 선택 Your OS : 리눅스 / 맥 / 윈도우 중 사용 운영체제 선택 Package : 가상환경이라면 Conda, 로컬환경이라면 Conda / Pip 중 선택 권장 Language : 사용할 언어 환경 선택 Compute Platform : GPU가 있다면 CUDA 버전에 맞..

Python/Pytorch 2022.02.09

[Pytorch] 파이토치 텐서 자료형 확인, 타입 변환(casting) 방법

torch tensor type check & casting 이번 글에서는 파이토치 라이브러리에서 텐서의 타입을 확인하고, 다른 자료형으로 캐스팅(변경)하는 방법에 대해서 간단하게 정리해보겠습니다. 파이토치 텐서 타입 확인 : dtype 속성 파이토치에서 자료형을 확인하는 방법은 텐서의 dtype 속성을 확인해주시면 간단히 해결됩니다. import torch a = torch.randn(2, 2, 2) b = torch.IntTensor([1, 3, 5]) print(a.dtype) # torch.float32 print(b.dtype) # torch.int32 참고로, 텐서의 자료형은 float, int, complex 등 실수, 정수, 복소수 등 속성 표현부와 8, 16, 32, 64 등 할당 메모리..

Python/Pytorch 2022.02.08

[Pytorch] contiguous 원리와 의미

torch의 contiguous에 대해서 안녕하세요. 이번 시간에는 파이토치에서 메모리 내에서의 자료형 저장 상태로 등장하는 contiguous의 원리와 의미에 대해서 간단히 살펴보도록 하겠습니다. contiguous 여부와 stride 의미 간단한 예시를 들어 설명하기 위해서 shape이 (4, 3)으로 동일한 두 tensor a, b를 다음과 같이 선언해보겠습니다. import torch a = torch.randn(3, 4) a.transpose_(0, 1) b = torch.randn(4, 3) # 두 tensor는 모두 (4, 3) shape print(a) ''' tensor([[-0.7290, 0.7509, 1.1666], [-0.9321, -0.4360, -0.2715], [ 0.1232,..

Python/Pytorch 2022.02.08

[Tensorflow] 텐서플로우 GPU 확인, 특정 GPU 사용 방법

텐서플로우 GPU 사용 가능 여부 체크, 원하는 GPU 지정 하기 안녕하세요. 이번 글에서는 tensorflow 2 버전에서 gpu가 연결되었는지를 점검하고, 원하는 gpu를 사용할 수 있도록 하는 방법에 대해서 간단히 설명해보도록 하겠습니다. Tensorflow gpu 연결 확인 방법 아래의 코드를 작성해서 손쉽게 gpu 사용 가능 여부를 확인할 수 있습니다. from tensorflow.python.client import device_lib device_lib.list_local_devices() 만일, CPU만 연결된 경우는 아래와 같이 메시지가 출력됩니다. 반면, GPU가 1개 이상 연결된 경우는 아래쪽에 GPU:0, GPU:1, ... 식으로 번호가 할당된 디바이스가 추가로 탐색됩니다. 텐서플..

Python/Tensorflow 2022.02.07

크롬 영상 배속 확장 프로그램 : 넷플릭스에서 2배속 하기

Chrome 배속 확장 프로그램 Video Speed Controller 안녕하세요. 이번 시간에는 넷플릭스, 유튜브 등 영상을 크롬 환경에서 제공하는 확장 프로그램인 Video Speed Controller을 사용하여 1.1배속처럼 원하는 속도로 시청할 수 있는 방법을 살펴보도록 하겠습니다. 그렇다면 크롬 브라우저를 준비해주시고 아래 스텝을 하나씩 따라해주세요! Step 1. Video Speed Controller 설치 먼저, 아래에 첨부한 사이트에 접속하여 확장 프로그램을 설치하러 가보겠습니다. 구글에 Video Speed Controller라고 검색해주신 뒤 설치 페이지로 이동해주셔도 좋습니다. Video Speed Controller Speed up, slow down, advance and r..

2022.02.06

[Numpy] 파이썬 상삼각행렬 생성 함수 : np.triu 사용법

넘파이 상삼각성분만 남기기 : np.triu() 이번 글에서는 파이썬 넘파이 라이브러리에서 행렬을 다룰 때, 상삼각행렬에 해당하는 원소만 남길 수 있는 np.triu() 함수의 사용법을 간단히 살펴보도록 하겠습니다. 정방행렬 예시 np.triu 함수의 사용법은 array와 k값을 차례대로 인자로 적어주면 되며, k를 생략할 경우 기본 값은 0으로 지정됩니다. k의 의미는 가장 윗줄부터 0의 개수가 k개부터 시작한다는 의미로 보시면 되며, 아래로 1줄씩 내려갈 때 마다 0의 개수가 1개씩 많아지는 원리입니다. 먼저, 4 x 4 정방행렬에 np.triu 함수를 적용한 예시를 살펴보겠습니다. import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 1..

Python/Numpy 2022.02.05

Locality-Sensitive Hashing : LSH란?

Min-Hashing 기반 LSH 기법 설명 안녕하세요. 이번 시간에는 지난 번에 다룬 MinHash를 기반으로 유사한 문서 쌍을 빠르게 근사하여 찾을 수 있는 알고리즘인 LSH(Locality-Sensitive Hashing)에 대해서 다루어보도록 하겠습니다. 참고로, 이 글은 MinHash의 원리를 알고있음을 가정하고 설명할 예정이므로 해당 알고리즘에 대한 설명이 필요하신 분들은 아래 링크의 이전 글을 참고해주세요. Min-Hashing이란? MinHash 알고리즘 설명 안녕하세요. 이번 시간에는 데이터 마이닝 분야에서 문서 등 자료형 간의 유사도를 빠른 시간 내에 쉽게 근사하여 비교할 수 있는 Min-Hashing 알고리즘에 대해서 이해해보도 jimmy-ai.tistory.com LSH 기본 가정 ..

Min-Hashing이란?

MinHash 알고리즘 설명 안녕하세요. 이번 시간에는 데이터 마이닝 분야에서 문서 등 자료형 간의 유사도를 빠른 시간 내에 쉽게 근사하여 비교할 수 있는 Min-Hashing 알고리즘에 대해서 이해해보도록 하겠습니다. 일반적으로 N개의 연속된 단어 집합인 N-gram을 토큰으로 사용하지만, 여기서는 쉬운 이해를 위하여 단어 단위를 토큰으로 가정해보겠습니다. 아래처럼 3개의 문서에서 각각 4개의 단어씩을 포함하고 있는 상황이라고 해보겠습니다. 아래처럼 문서 내 토큰(단어)의 포함 여부를 나타내는 TF 행렬을 생각해볼 수 있습니다. 이제, 이 예시를 기반으로 MinHash 알고리즘을 설명해보겠습니다. 유사도 예시 : Jaccard Similarity 문서 간의 유사도는 어떻게 측정할까요? 여러가지 방법이 ..

반응형