분류 전체보기
-
[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..
-
[seaborn] Count Plot 그리기 ( sns.countplot, sns.catplot )AI-ML 2024. 5. 6. 16:09
- 목차 키워드.count plotCategorical Datahuehistogram 들어가며.이번 글에서는 seaborn 라이브러리를 활용하여 Count Plot 을 그리는 방법에 대해서 알아보도록 하겠습니다.Count Plot 은 범주형 데이터의 각각의 범주가 차지하는 데이터 갯수를 표현하는데에 사용됩니다.하나의 DataFrame 이 존재하고, DataFrame 은 범주형 데이터를 표현하는 칼럼을 가집니다.전체 데이터셋에서 개별적인 Category 가 몇 개가 존재하는지 그 구성을 파악하고 싶을 때에 Count Plot 이 사용됩니다. 아래 예시는 "gender" 라는 이름의 칼럼을 가지는 DataFrame 의 Count Plot 을 시각화하는 예시입니다.DataFrame 은 단 하나의 "gender..
-
[scikit-learn] KFold 알아보기 ( cross validation )AI-ML 2024. 4. 28. 09:11
- 목차 들어가며.이번 글에서는 sckit-learn 의 KFold Class 의 사용법에 대해서 알아보려고 합니다.데이터 학습을 수행하는 경우에 Cross Validation 기법 중의 하나로써 KFold 기법을 수행하곤 합니다. Training Dataset 을 고정된 비율로 Sub-Training Dataset 과 Sub-Validation Dataset 으로 나누는 방식이죠.즉, 하나의 데이터셋이 Training Dataset 과 Test Dataset 으로 나뉘고,이 Training Dataset 은 또다시 Sub-Training Dataset 과 Sub-Validation Dataset 로 나뉩니다.그림으로 표현하면 아래와 같습니다. KFold 는 이러한 "Sub Training Datas..
-
[torchvision] datasets.MNIST 데이터 내려받기AI-ML 2024. 4. 24. 07:42
- 목차 키워드.- torchvision- MNIST 들어가며. 이번 글에서는 "torchvision.datasets" 의 MNIST 모듈에 대해서 알아보려고 합니다."torchvision.datasets" 의 "MNIST" 모듈은 이미지 데이터들을 손쉽게 제공하는 기능이 존재합니다. CNN 모델의 테스팅을 위해서 MNIST 이미지 데이터를 내려받을 경우를 위해서 관련 기능들을 정리합니다. 먼저 간단한 코드 예시는 아래와 같습니다.torchvistion 의 datasets 모듈 내부에 MNIST Class 가 존재하구요.이는 각종 Vision 과 관련된 Train/Test 데이터셋을 다루기 위해서 사용됩니다.from torchvision import datasetsfrom torchvision.trans..
-
[Kubernetes] last-applied-configuration annotation 알아보기Kubernetes 2024. 4. 20. 17:18
- 목차 키워드.annotations last-applied-configuration ?이번 글에서는 k8s 리소스의 Annotation 중의 하나인 "kubectl.kubernetes.io/last-applied-configuration" 에 대해서 알아보려고 합니다.last-applied-configuration 어노테이션은 "kubectl apply" 명령어로 생성된 k8s 리소스의 어노테이션 중의 하나이구요.가장 최근의 kubectl apply 명령어를 통해서 생성 또는 수정된 Configuration 정보가 들어있습니다.간단한 예시를 들어보도록 하겠습니다. cat /tmp/pod.yamlapiVersion: v1kind: Podmetadata: name: nginxspec: containe..
-
[Pandas] DataFrame loc, iloc 알아보기Python 2024. 4. 19. 06:16
- 목차 키워드.Locataion by Label or by Integer. 들어가며.Pandas 의 DataFrame 은 loc, iloc 을 활용한 Selection 방식이 존재합니다.loc 와 iloc 는 Location by Label, Location by Integer 의 약자인데요.loc 와 iloc 는 통해서 Series 나 Sub DataFrame 를 생성할 수 있습니다.이번 글에서는 loc 와 iloc 를 활용하는 예시들과 함께 설명을 이어가도록 하겠습니다. loc.loc 는 Label 을 활용하여 DataFrame 을 Selection 할 수 있습니다.Label 이란 Index 또는 Column 의 실제 이름을 의미합니다.간단히 아래의 예시를 살펴보겠습니다.아래 예시는 3개의 Row ..