ggplot2에서 geom_rect의 투명도(alpha)가 적용되지 않는 이유와 해결법
·
Data Science/Visualization
데이터 시각화에서는 특정 부분을 강조하기 위해 사각형, 라벨, 선 등을 추가하는 경우가 많습니다. 특히 geom_rect()는 그래프 위에 사각형을 그릴 때 유용하게 사용되는데요.  그런데 alpha 값을 설정해도 투명도가 적용되지 않는 경우가 있습니다. 왜 이런 일이 발생하는지, 어떻게 해결할 수 있을지에 대해 알아보겠습니다.  geom_rect의 alpha(투명도) 값이 적용안됨먼저, 베이스라인 코드는 다음과 같습니다.mpg |> ggplot(aes(x=displ, y=hwy)) + geom_point() + geom_text_repel(data = potential_outliers, aes(label=model)) + geom_point(data = pot..
[R] rlang으로 하는 동적 변수 참조와 환경(Environment)
·
Data Science/Manipulation
다른 블로그에도 관련된 내용이 없거나 적고 스스로 rlang과 관련된 내용 정리가 필요한 것 같아 포스팅을 올리게 되었습니다. mpg라는 데이터프레임에서 "model"이라는 열을 기준으로 그룹화를 한다면 아래와 같이 작성할 수 있습니다.mpg |> group_by(model) 그렇다면 아래 코드와 같이 그룹화 변수를 따로 선언하고, 그 객체를 전달하면 어떨까요?group_vars group_by(group_vars)오류가 발생하네요? 도대체 무슨 차이가 있어서 이런 차이를 만드는 것일까요?group_by 함수는 인자로 받는 값을 변수명이라고 생각하고, 데이터 프레임에서 인자로 받은 값과 받은 열을 찾습니다.그래서 첫번째 코드에서는 mpg에 존재하는 "model"이라는 열을 기준으로 그룹화를 진행하는 것..
[R] 사용자 정의 함수 관련 잡기술
·
Data Science/Manipulation
1. match.call간혹 함수를 짜다보면 입력한 인수를 사용했는지 확인이 필요 할 때가 있습니다.예를 들어, 데이터 프레임에서 특정 열의 Five-Number Summary($\min$, $q_1$, $m$, $q_3$, $\max$)를 해당 데이터 프레임의 이름과 함께 출력하는 함수를 아래와 같이 작성해보았습니다.fivenum_col  결과는 에러가 발생하는데요!왜냐하면, df를 출력하면 iris의 데이터프레임을 출력하기 때문에 문자열 출력 함수와 호환되지 않기 때문입니다.이런 에러를 방지하기 위해서 match.call 함수를 사용하는데 인자와 입력된 글자를 호출하는 함수입니다.fivenum_col   2. 익명함수(anonymous functions)파이썬의 람다 함수처럼 익명 함수를 지원합니다...
[EDA] 상관계수 시각화 (Visualization of Correlation Coefficient) with R
·
Data Science/Manipulation
예전 포스팅(https://moogie.tistory.com/145)에서 여러 종류의 상관계수에 대해 알아봤었는데, 이번에는 상관계수 시각화에 대해 포스팅합니다. [EDA] Correlation (상관계수) - Pearson, Spearman, Kendall, XI안녕하세요! 이번 포스팅에서는 상관계수에 대해 좋은 논문이 있어서 간단하게 소개드립니다. 캐글이나 데이콘에서 데이터 탐색 파트를 살펴보면 Pearson 상관계수나, Spearman 상관계수를 많이 사moogie.tistory.com 1. 히트맵 형식의 시각화기본적으로 데이터로부터 상관계수 시각화를 하려면 각 변수간의 상관계수를 구해야합니다.R에서는 cor함수를 사용하여 상관행렬을 구할 수 있지만 matrix 클래스의 객체이므로 시각화를 위해 적..
[Tidymodels] Bagging Model with IBM Churn data
·
Data Science/Modeling
1. 라이브러리 로드 및 데이터 준비아래와 같이 코드 실행에 필요한 라이브러리를 로드합니다.### 라이브러리 로드library(tidymodels)library(tidyverse)library(tidy.outliers)library(baguette)library(embed)library(earth)library(liver) 이번 모델링에는 하이퍼파라미터가 다수 존재하기 때문에, Train/Test set으로 분리한 후에 Train Data에 K=5인 k-fold CV를 적용하였습니다.### 데이터 로드 및 분리data(churn)churn_data % mutate_if(is.ordered, factor, ordered = FALSE)churn_split % vfold_cv(v = 5)churn_tes..
[Tidy Modeling with R] 16. 차원 축소(Dimensionality Reduction)
·
Data Science/Modeling
안녕하세요. 이번 포스팅에서는 PCA, PLS, ICA, UMAP와 같은 차원 축소 기법을 어떻게 적용하는지 알아보려고 합니다. 사실 기본적인 Tidy Modeling의 개념은 15에서 마무리 된 것으로 보이고요. 나머지 챕터는 모델링에 있어서 필요한 기법들을 깊게 살펴보는 느낌에 가깝더라고요. 17~19 챕터랑 21 챕터는 요약에서 생략할지 고민이 되긴하네요... 16 Dimensionality Reduction | Tidy Modeling with R The tidymodels framework is a collection of R packages for modeling and machine learning using tidyverse principles. This book provides a tho..
[Tidy Modeling with R] 15. Many Models with Workflow sets
·
Data Science/Modeling
책에서 4장부터 14장까지 모델링의 기초를 전부 다루었기에 15장에서는 이전에서 배운 것을 바탕으로 모델링의 과정에 대해 리마인드 겸 전체적으로 설명하는 것 처럼 보입니다. 간단하게 각 챕터마다 배운 것을 요약하면 아래와 같습니다. [4장] 모델링에 사용될 데이터(Ames Housing) EDA [5장] 데이터 풀을 Training data와 Testing data로 나눠야 하는 이유와 rsample 함수 소개 [6장] 패키지마다 모델링 인터페이스가 다른 것을 통일한 parsnip 패키지 설명과 함께 모델 구축, 적합, 예측 함수 소개 [7장] Model Workflow 소개 (workflow, workflow_set) [8장] Recipes 패키지를 이용한 Feature Engineering [9장] ..
[Tidy Modeling With R] 14. Iterative Search with XGBoost
·
Data Science/Modeling
0. 개요챕터 12에서부터 다루고 있는 하이퍼파라미터는 일반적인 파라미터와 다르게 학습데이터에서 직접적으로 추정할 수 없습니다. 챕터 13에서는 그리드서치(Grid Search)라는 방법을 통해 사전에 지정해놓은 여러개의 후보들을 평가하는 내용을 다루었습니다.챕터 14에서는 Iterative Search이라는 방법을 소개하는데, 현재 주어진 하이퍼파라미터의 값들을 통해 스스로 성능이 좋을 것으로 기대되는 하이퍼파라미터 값을 예측하고 평가하는 방식으로 최적의 값을 찾아냅니다.  14 Iterative Search | Tidy Modeling with RThe tidymodels framework is a collection of R packages for modeling and machine learnin..