반응형 Python17 [Python] zip 함수 - 길이가 동일한 iterable 연산 길이가 같은 리스트, 튜플 등의 iterable의 요소들을 묶어서 하나의 zip 객체로 리턴해주는 함수 1. 리스트끼리 연산 dummy_list1 = [1, 2, 3, 4, 5] dummy_list2 = [1, 10, 100, 1000, 10000] print("결과:", [i * j for i, j in zip(dummy_list1, dummy_list2)]) dummy_list1 = [1, 2, 3, 4, 5] dummy_list2 = [1, 10, 100, 1000, 10000] dummy_list3 = [-1, -10, -100, -1000, -10000] print("결과:", [i * j + k for i, j, k in zip(dummy_list1, dummy_list2, dummy_list.. 2023. 6. 14. [Python] sum 함수 - sum의 인자 iterable, start에 대하여 sum 함수의 인자 iterable은 리스트, 튜플과 같은 자료형을 의미하며, numeric으로만 구성되어 있어야 한다. 그동안 항상 sum(iterable) 으로만 사용했었는데, start 인자도 활용할 수 있다는 걸 알게 되었다. 😆 1. sum(iterable) dummy_list = [1, 2, 3, 4, 5] print("결과:", sum(dummy_list)) 2. sum(iterable, start) start의 default 값은 0이고, 다른 값을 넣게 되면 덧셈의 시작 값이 변경된다. dummy_list = [1, 2, 3, 4, 5] print("결과:", sum(dummy_list, start=10)) start를 숫자가 아닌, 리스트로 넣을 수도 있다. 물론 iterable이 이중.. 2023. 6. 14. [Python] map 함수 - function, lambda map( )은 function과 리스트, 튜플 등 iterable 을 인자로 받아 map 객체로 리턴 1. function을 사용하는 경우 dummy_list = [1,2,3,4,5] def square(i): return i**2 list(map(square, dummy_list)) 2. python 기본 모듈을 사용하는 경우 dummy_list = [1,2,3,10,11] max(map(min, enumerate(dummy_list))) 3. lambda를 사용하는 경우 dummy_list = [1,2,3,4,5] list(map(lambda x: x**2, dummy_list)) 2023. 6. 13. [Python] Collections - Counter 객체로 key, value 쌍 생성 - collections 모듈의 Counter 클래스는 별도 패키치 설치가 필요 없으므로, import해서 사용 - Counter 클래스는 list, tuple, set 객체를 이용하여 key-value 쌍 생성 import collections dummy_list1 = ["a", "c", "b", "a"] print(collections.Counter(dummy_list1)) 2개의 Counter 객체는 빼고 더하는 것이 가능함 import collections dummy_list1 = ["a", "c", "b","a"] dummy_list2 = ["b", "a", "c", "d"] counter1 = collections.Counter(dummy_list1) counter2 = collections... 2023. 6. 13. [Python] list 정렬 - sort, sorted의 차이 1. sort() list 객체를 정렬하는 함수 dummy_list = ["x", "c", "a", "e", "f"] dummy_list.sort() print("결과:", dummy_list) list 객체에 string과 integer가 섞여있는 경우 sort() 동작하지 않음 dummy_list = ["x", "c", "a", "e", 5, "f", 1] dummy_list.sort() print("결과:", dummy_list) list 객체에 string과 integer가 이중 list 안에 들어있는 경우 아래와 같이 동작 dummy_list = [["x", 1, 3], ["c", 5, 2], ["a", 3, 2]] dummy_list.sort(key=lambda x:[x[2],x[0]]) pr.. 2023. 6. 13. [Course 2] Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization.W1 - Practical Aspects of Deep Learning [Coursera] Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization 1주차 강의 (Practical Aspects of Deep Learning)를 수강하며 작성한 필기 노트입니다. 1. Setting up your Machine Learning Application 2. Regularizing your Neural Network 3. Setting Up your Optimization Problem 2023. 3. 8. [Course 1] Neural Networks and Deep Learning. W3 - Shallow Neural Networks [Coursera] Neural Networks and Deep Learning 3주차 강의 (Shallow Neural Networks)를 수강하며 작성한 필기 노트입니다. 2023. 2. 7. [Python] Visual Studio Code에서 가상환경 만들기 Python 가상환경 및 패키지 설치하는 방법 1. cmd terminal 열기 2. 가상환경 생성 2-1. venv를 사용하는 경우 python -m venv 가상환경이름 2-2. virtualenv를 사용하는 경우 python 버전 지정 가능 virtualenv 가상환경이름 --python=python3.9 3. 가상환경 활성화/비활성화 하는 방법 3-1. cmd terminal에서 활성화 가상환경명\Scripts\activate.bat * 가상환경 디렉토리 안으로 경로 이동한 후에 수행할 것 3-2. Visual Studio Code에서 활성화 Ctrl + Shift + p 입력 > Python: Select Interpreter 선택 > 가상환경 선택 3-3 cmd에서 가상환경 비활성화 deact.. 2022. 3. 2. [Python] Numpy Broadcasting 개념 Numpy 라이브러리에서 브로드캐스팅(Broadcasting)이란: 산술 연산 대상이 되는 배열(array)들의 모양(shape)이 다른 경우에도, 연산이 가능하도록 배열들의 모양을 처리하는 방법을 의미한다. 더 작은 배열이 큰 배열의 모양에 맞춰지는 방식으로 작동하고, 벡터화를 가능하도록 하여, loop가 python이 아닌 C에서 수행되도록 한다. 브로드캐스팅을 활용하면, 불필요한 사본을 생성하지 않아도 되기 때문에 효율적인 코드를 작성할 수 있다. * 종종 큰 배열에 대한 브로드캐스팅 연산으로 메모리를 비효율적으로 사용하거나, 차원이 커져서 코드 해석이 어려운 경우에는 outer loop를 사용하는 것이 더 좋다. Numpy 공식 문서에서 아래와 같이 해당 개념에 대한 설명을 제공하고 있다. 브로드.. 2022. 2. 24. [Simulation] SimPy 패키지로 스타벅스 예제 만들기 (2) 지난 포스팅에서 SimPy를 활용하여, 매우 간단한 Simulator를 만들어보았다. 2021.08.29 - [Python] - [Simulation] SimPy 패키지로 스타벅스 예제 만들기 (1) [Simulation] SimPy 패키지로 스타벅스 예제 만들기 (1) 이번 시간에는 스타벅스 시뮬레이션 예제를 만들어보며 SimPy 패키지 활용법을 알아보고자 한다. * 그냥 카페 시뮬레이션인데, 스타벅스 예제라고 이름 붙였다. (●'◡'●) 1. Python SimPy 패키지 프 studying-haeung.tistory.com 이번에는 카페 상황을 약간 바꾸고, 지난 번에는 Customer 클래스 안에 모든 내용을 다 넣었다면, 이번에는 Customer, Activity, Simulator 클래스를 따.. 2021. 8. 29. [Simulation] SimPy 패키지로 스타벅스 예제 만들기 (1) 이번 시간에는 스타벅스 시뮬레이션 예제를 만들어보며 SimPy 패키지 활용법을 알아보고자 한다. * 그냥 카페 시뮬레이션인데, 스타벅스 예제라고 이름 붙였다. (●'◡'●) 1. Python SimPy 패키지 프로세스 기반의 이산-이벤트 시뮬레이션(discrete-event simulation) 모델을 생성할 수 있는 Python 패키지이며, 기존 다른 패키지처럼 pip로 설치가 가능하다. 시뮬레이션을 위한 가상환경을 구성하고 설치를 해 주는 것이 좋다. 관련 내용은 아래의 SimPy document 페이지를 참고하면 된다. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2. Starbucks-01 시뮬레이션 예.. 2021. 8. 29. [머신러닝] GMM(Gaussian Mixture Model) 군집화 GMM(Gaussian Mixture Model) 군집화 알고리즘 : 데이터가 여러 다른 모양의 가우시안 분포(Gaussian Distribution)로 결합되어 있다는 가정 하에 개별 데이터를 동일한 가우시안 분포별로 묶어주는 비지도 학습 알고리즘이다. 기하학적인 모양의 군집, 서로 겹치는 군집에 대해서도 클러스터링이 잘 수행된다. (K-Means 군집화 알고리즘의 한계점을 보완) 개별 데이터 포인트에 대해 각 정규 분포(가우시안 분포)에 속할 확률을 계산하여 할당하고, 최대 우도 추정법으로 개별 정규 분포의 평균과 분산 추정을 반복하며 학습이 진행된다. 이 시간에는 GMM 알고리즘 수행 단계를 정리해보고자 한다. 👀 GMM 알고리즘 수행 단계 GMM 알고리즘은 '예측(Expectation)'과 '최대.. 2021. 8. 19. [머신러닝] 클러스터링 평가지표 - 실루엣 계수(2) 이전 포스팅에서 실루엣 계수를 구하는 방법과 평가지표로써의 장단점을 알아보았다. 2021.06.15 - [머신러닝] - [머신러닝] 클러스터링 평가지표 - 실루엣 계수 (1) [머신러닝] 클러스터링 평가지표 - 실루엣 계수 (1) 실루엣 계수(Silhouette Coefficient) : 각 데이터 포인트와 주위 데이터 포인트들과의 거리 계산을 통해 값을 구하며, 군집 안에 있는 데이터들은 잘 모여있는지, 군집끼리는 서로 잘 구분되는지 클러 studying-haeung.tistory.com 이 시간에는 Python 코드로 실루엣 계수를 시각화해보고, 그 의미에 대해서 알아볼 것이다. 0. Yellowbrick 라이브러리 실루엣 계수 시각화를 위해 Yellowbrick이라는 python 라이브러리를 활용하.. 2021. 7. 21. [머신러닝] K-Means 군집화 K-Means 알고리즘 : 데이터 포인트들을 비슷한 속성의 그룹으로 묶어주는 비지도학습 알고리즘 중 하나이다. 'Centroid'라는 클러스터(군집)의 중심점 개념이 사용된다. 데이터 포인트들과 Centroid들 간 거리 계산을 통해 Centroid들의 위치가 재설정되며 학습이 진행된다. 이 시간에는 K-Means 알고리즘 수행 단계를 간단히 정리해보고자 한다. K-Means 알고리즘 수행 단계 '초기화', '학습', '새로운 데이터에 적용' 이렇게 크게 3단계로 구분할 수 있다. 1. 초기화 사용자가 처음 정하는 아래 2개 항목은 알고리즘 수행 결과에 큰 영향을 미친다. 클러스터 개수 : 최종적으로 만들고자 하는 클러스터의 개수를 정해준다. 클러스터 중심점(Centroid) 위치 설정 방법 : 중심점의.. 2021. 5. 30. [Python] Jupyter notebook에서 .Rdata파일을 .csv 파일로 변환 Jupyter notebook에서 .Rdata형식의 파일을 읽어와야 하는 경우가 종종있다. 이 시간에는 Jupyter notebook에서 R을 사용할 수 있는 환경을 구성하고, .Rdata파일을 .csv 파일로 변환하는 방법을 알아보려고 한다. Anaconda 환경에서 Jupyter notebook을 사용하고 있다면, 아래와 같이 Anaconda Prompt에서 간단히 R 커널을 설치할 수 있다. Anaconda Prompt 창을 열고, 다음 명령어를 입력해준다. conda install -c r r-irkernel 설치 중간에 Proceed([y]/n)? 가 나오면, 'y' 입력해준다. 설치가 완료되면 아래와 같이 'R' 커널이 새롭게 생긴다. 'R' 커널에서 새로운 notebook을 열고 csv로 변.. 2021. 5. 18. 이전 1 2 다음 반응형