전체 글
-
[PyTorch] squeeze, unsqueeze 알아보기AI-ML 2024. 5. 21. 06:22
- 목차 들어가며.PyTorch 는 Tensor 의 차원을 늘리거나 줄일 수 있는 함수를 제공합니다.이러한 함수의 이름은 squeeze 와 unsqueeze 함수인데요.squeeze 라는 영단어의 뜻이 "(특히 손가락으로 꼭) 짜다[쥐다]", "(무엇에서 액체를) 짜내다[짜다]" 라고 하는데요.이런 의미처럼 squeeze 함수를 통해서 Tensor 의 차원을 줄이고, unsqueeze 함수를 활용하여 차원을 늘릴 수 있습니다. squeeze 함수와 unsqueeze 함수는 무턱대로 차원을 변형하지는 않습니다.차원의 Length 가 1 인 경우가 늘리거나 줄어드는 대상이 됩니다.예를 들어, 흑백의 이미지와 RGB 컬러의 이미지가 존재한다고 가정하겠습니다.일반적인 이미지는 Width 와 Height 인 크기..
-
[ scikit-surprise ] SVD Regularization Terms 알아보기AI-ML 2024. 5. 18. 17:55
- 목차 키워드.- scikit-surprise- SVD- Lasso Regularization 함께 보면 좋은 글. https://westlife0615.tistory.com/844 [scikit-surprise] SVD Model 알아보기 ( Singular Value Decomposition )- 목차 키워드.scikit-surpriseMatrix FactorizationSVDLatent Space 함께 보면 좋은 글.https://westlife0615.tistory.com/851 [scikit-surprise] Dataset 이해하기- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmovielewestlife0615.tistory..
-
[scikit-surprise] SVD 모델 생성하기AI-ML 2024. 5. 18. 07:45
- 목차 키워드.scikit-surpriseSVDMatrix Factorization 들어가며.SVD 에 대해서 설명하는 이전 글과 이어지는 내용입니다. https://westlife0615.tistory.com/844 [scikit-surprise] SVD Model 알아보기 ( Singular Value Decomposition )- 목차 키워드.scikit-surpriseMatrix FactorizationSVDLatent Space 함께 보면 좋은 글.https://westlife0615.tistory.com/851 [scikit-surprise] Dataset 이해하기- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmoviel..
-
[Spark] Spark Cluster 를 구축하기 ( Docker )Spark 2024. 5. 17. 22:31
- 목차 들어가며.이번 글에서는 Spark Cluster 를 구현하는 방법에 대해서 알아보려고 합니다.기본적으로 Docker Container 를 활용하여 Spark Cluster 를 구현하며,Spark Cluster 를 실행하기 위한 Dockerfile 과 Docker Compose 등의 상세한 내용들을 다룰 예정입니다. Spark Cluster 구축하기.Dockerfile 구성하기.가능한 Docker Hub 에 존재하는 Spark Docker Image 를 활용하려고 검색해보았지만, 개인적으로 마음에 드는 이미지가 존재하지 않아서 아래와 같이 ubuntu Base Image 로부터 Docker Image 를 생성합니다.아래 Dockerfile 의 내용은 Ubuntu Base Image 와 Hadoo..
-
[pandas] DataFrame melt 알아보기Python 2024. 5. 17. 22:31
- 목차 키워드.- Pivot Table 들어가며.이번 글에서는 Pandas DataFrame 의 melt 함수에 대해서 알아보도록 하겠습니다.melt 는 Pivot Table 을 row-by-row 형식으로 변경할 수 있습니다.예를 들어, 아래 이미지와 같이 user 와 item 에 해당하는 DataFrame 이 존재한다고 가정하겠습니다. 위 DataFrame 은 row-by-row 형식으로 user 와 item 의 관계를 보여줍니다.이는 user 와 item 각각의 Column 으로 설정하죠. 위 DataFrame 의 Pivot Table 형식은 아래와 같습니다.Pivot Table 의 index 는 user, column 은 item 이 됩니다. 이 상황에서 melt 함수를 사용하면 Pivot Ta..
-
[Spark] Window 알아보기 ( lag, lead, sum )Spark 2024. 5. 15. 07:51
- 목차 들어가며.Spark 의 Window 기능을 통해서 부분적인 Aggregation 연산을 수행할 수 있습니다.일반적인 Aggregation 연산은 전체 데이터셋을 대상으로 수행됩니다.일반적으로 사용하는 sum, avg, var, min/max 등은 모든 데이터들을 대상으로 합계, 평균, 분산, 최소/최대값을 계산합니다.그래서 N 개의 데이터를 대상으로 N 개보다 작은 수의 결과가 출력됩니다.예를 들어, 아래의 연산처럼 100 개의 데이터를 1개의 결과로 출력됩니다.spark = SparkSession.builder.config(conf=conf).getOrCreate()df = spark.range(100)print(f"""sum : {df.select(F.sum(F.col("id"))).coll..
-
[scikit-surprise] Dataset 이해하기AI-ML 2024. 5. 14. 07:23
- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmovielens 들어가며.이번 글에서는 "scikit-surprise" 라이브러리가 제공하는 "Trainset" 모듈에 대해서 알아보려고 합니다.surprise 라이브러리는 Recommender System 의 구축을 도와주는 라이브러리이구요.구체적으로 "Collaborative Filtering" 의 기능을 손쉽게 구현하기 위한 모듈들을 내장합니다.특히 Matrix Factorization 기반의 상품 추천 기능을 효과적으로 구현할 수 있는데,이 과정에서 사용되는 Trainset 모듈의 특징과 사용법에 대해서 알아보도록 하겠습니다. 참고로 surprise 라이브러리의 Github 주소를..
-
[Kafka] Partition 알아보기Kafka 2024. 5. 12. 11:30
- 목차 키워드.TopicPartitionReplication 들어가며.이번 글에서는 Kafka Topic 의 Partition 에 대해서 상세히 알아보는 시간을 가지려고 합니다.Partition 이 가지는 여러가지 중요 특징들에 대해서 최대한 많이 나열해보려고 합니다. Topic 과 Partition.Kafka 는 Topic 이라는 메시지 저장소가 존재합니다.Kafka CLI 를 통해서 최초로 Topic 을 생성하게 되는데요.Kafka Cluster 가 생성된 이후에 아래와 같은 형식의 CLI 명령어를 통해서 Topic 의 생성이 가능합니다.kafka-topics.sh --bootstrap-server localhost:9092 \--topic test_topic --create --partition..
-
[seaborn] Violin Plot 알아보기AI-ML 2024. 5. 7. 05:37
- 목차 키워드.seabornviolin plot 들어가며.이번 글에서는 seaborn 라이브러리를 활용하여 Violin Plot 을 시각화하는 방법에 대해서 알아보려고 합니다.Violin Plot 은 데이터의 밀집도를 시각화시켜줍니다.예를 들어, 연령별 인구분포를 시각화한다고 가정해보겠습니다.저연령층과 고령층의 인구는 적으며, 청년과 중장년층의 인구과 많을텐데요.이를 Violin Plot 으로 표현하면 아래와 같이 표현됩니다.아래의 Violin Plot 을 해석해보면, X 축은 age 데이터를 의미하며, Y 축은 age 변수에 해당하는 밀도를 의미합니다.즉, 70 ~ 80세의 인구가 가장 많음을 알 수 있습니다.그리고 붉은색으로 표현되는 Violin Plot 내부에 검정색의 Box Plot 이 그려집니..
-
[scikit-surprise] SVD Model 알아보기 ( Singular Value Decomposition )AI-ML 2024. 5. 7. 05:37
- 목차 키워드.scikit-surpriseMatrix FactorizationSVDLatent Space 함께 보면 좋은 글.https://westlife0615.tistory.com/851 [scikit-surprise] Dataset 이해하기- 목차 키워드.scikit-surpriseCollaborative FilteringRecommender Systemmovielens 들어가며.이번 글에서는 "scikit-surprise" 라이브러리가 제공하는 "Trainset" 모듈에 대해서 알아보려고 합니다.surprise 라이브러리는 Rwestlife0615.tistory.com 들어가며.이번 글에서는 scikit-surprise 의 SVD 모델에 대해서 살펴보려고 합니다.SVD 는 Singular Va..