일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오블완
- Python
- 해외주식
- 코스피
- 미국주식
- esp32
- 티스토리챌린지
- RS-485
- raspberry pi
- SK텔레콤
- Apple
- 홈네트워크
- matter
- Bestin
- 파이썬
- ConnectedHomeIP
- 애플
- 국내주식
- cluster
- MQTT
- 매터
- 월패드
- Espressif
- 힐스테이트 광교산
- 공모주
- 현대통신
- 배당
- 나스닥
- homebridge
- Home Assistant
- Today
- Total
목록분류 전체보기 (688)
YOGYUI
작년(2020년) 10월 17일에 LG전자 물걸레 로봇청소기(코드제로 M9, M970I.AKOR) 하나 장만해서 9개월째 사용 중이다 매주 (적어도 격주)에 한번 바닥에 놓인 짐을 다 치우고 진공청소기로 먼지 싹 턴 뒤 물걸레질 해주면 바닥이 반들반들 깔끔해져서 굉장히 만족도가 높은 제품이다(일반 로봇청소기는 구매하지 않았다... 다이슨 청소기 비싼 돈주고 샀는데 계속 써야지... ㅋㅋ) 일반 청소기로는 청소하기 힘든 침대 밑, 소파 아래, 장식장 아래까지 로봇이 침투(?)해서 닦아주기 때문에 1주일에 한번 정도만 주기적으로 돌려줘도 먼지날릴 일이 없어진다 냥이들이 타고 다니는 걸 기대했는데 겁쟁이들이라 그런지 올라타지는 않는다 ㅋㅋ 그래도 장난감삼아 졸졸 따라다니면서 툭툭 쳐보기는 한다 충전기에서 주무..
오랜만에 서울 간 김에 하루 찐하게 놀다가 이제서야 부랴부랴 후기를 작성해본다 시험은 서울시 금천구 가산동에 위치한 한국소프트웨어인재개발원에서 치렀다 14 고사실이었나? 기억이 벌써 가물가물 (ADP 실기도 동일 고사장에서 쳤었는데, 신기하게 ADP 실기때랑 같은 교실에서 쳤다... 인연인가) 응시자가 생각했던 것보다 많아 꽤 놀랐다 데이터 분석이라는 직업군이 여전히 HOT하다는 걸 방증하는게 아닐려나? (물론 이 자격증 땄다고 해당 직업군에 종사한다는 말은 아니지만...) 9시 40분쯤에 입실해서 남는 시간동안 크롬 방문 히스토리를 살펴보니 ADP 실기로 구름(goorm) IDE로 치른 이력이 남아있었다... ADP도 이제 클라우드 환경에서 치르나? 내가 칠 땐 R Studio Server로 했었는데 ..
탐색적 데이터 분석 (Exploratory Data Analysis, EDA) 단계에서 이상치(outlier) 감지를 위한 방법은 여러가지가 있다 사분범위 (interquartile range, IQR) 백분위수 (percentile) Hampel filter Grubbs’s test Dixon’s test Rosner’s test 이 글에서는 직관적으로 이해하기 쉬운 방법 중 하나인 IQR Criterion 기법을 알아보도록 한다 1. 이론 다음 범위(Interval) $I$를 벗어나는 값을 이상치라고 정의한다 \(I=[Q_{1}-1.5\cdot IQR, Q_{3}+1.5\cdot IQR]\) \(IQR = Q_{3}-Q_{1}\) \(Q_{3}\): 중앙값 위 데이터들의 중앙값, 제 3사분위 수 \(..
산점도 행렬(Scatter Plot Matrix)은 탐색적 데이터 분석(Exploratory Data Analysis, EDA) 단계에서 변수간 상관관계를 한눈에 파악하기 위해 사용하는 시각화 방법이다 R에서 산점도 행렬 시각화는 pairs 함수 1줄을 호출해 간단히 구현할 수 있다 iris 데이터의 수치형(numeric) 데이터 간 산점도 행렬을 그려보자 library(dplyr) iris_numeric % select_if(function(x) any(is.numeric(x))) pairs(iris_numeric) Petal.Length와 Petal.Width는 강한 양의 상관관계를 가지며, Petal.Length는 Sepal.Width를 제외한 나머지 변수들과 양의 상관관계를 갖고 있음을 한눈에 파..
랜덤포레스트 분석모델을 구현했을 때, 모델의 특성을 파악하는데 사용되는 방법 중 하나가 '변수 중요도(variable importance)'이다 변수중요도를 측정하는 지표는 Mean Decrease Gini (평균 지니불순도 감소량)이며, 랜덤포레스트 구축 시 노드를 늘려감에 따라 데이터의 변수(속성)가 지니불순도 감소량에 얼마나 영향을 미치는 지를 계산하게 되며, 감소량이 클수록 학습 시 중요한 변수로 작용했다고 할 수 있다 지니불순도와 관련된 자세한 내용은 다음 글을 참고하도록 한다 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sungmk86&logNo=221204932461 Mean Decrease Gini 결론 : Ran..
iWork Pages에서 작업하다보면 따옴표가 자동으로 변경될 때가 있다ex) "를 입력했는데 자동으로 “로 바뀜 옵션이 켜져있을 때 이런 현상이 발생한다 Pages 환경설정에서 바로 변경 가능하다스마트 인용 부호 및 대시 사용 체크박스를 해제하면 끝~
분류분석 시 혼동행렬(Confusion Matrix)은 모델의 Accuracy, Sensitivity, Specificity 등 성능 지표를 계산하기 위해 기본적으로 작성하는 테이블이다 (참고: 링크) 표를 통해 정확도, 민감도, 특이도, 재현율, F1-Score 등을 계산할 수 있는데, 이를 한번에 해결해줄 수 있는 툴이 바로 caret 패키지의 confusionMatrix 함수다 confusionMatrix {caret} Create a confusion matrix Description Calculates a cross-tabulation of observed and predicted classes with associated statistics. Usage confusionMatrix(data, ..
caret 패키지의 preProcess 함수를 활용하면 수치형 데이터 정규화 (normalization) 및 표준화 (standardization)을 쉽게 수행할 수 있으며, 특정 데이터셋에 적용된 min, max, average 등 파라미터를 다른 데이터셋에 적용하는 것도 가능하다 (ex: 머신러닝 훈련용 데이터셋에 정규화 적용 후, 계산시 사용된 값을 테스트용 데이터셋에 그대로 적용) iris 데이터를 두 세트로 나눈뒤 실습해보도록 한다 set.seed(210617) library(caret) df
분류분석(Classification)은 모델의 분류 성능을 판단할 때 모델의 class 분류 결과에 따라 Confusion Matrix를 작성하고 ROC, AUC 등을 metric을 활용한다 반면 회귀분석(Regression)은 출력이 수치형 데이터이므로 실제 학습 대상값과의 '차이'를 기반으로 모델의 성능을 판단하는게 일반적인데, 이 때 많이 쓰이는 metric이 RMSE, MAE, R squared (결정계수) 값이다 - 결정계수는 모델이 학습 데이터에 얼마나 잘 fitting 되었는지를 판별하는 용도로 사용 \(RMSE = \sqrt{{1 \over N}\sum_{i=1}^{N}{(y_i-\hat{y_i})^2}}\) \(MAE={1 \over N}\sum_{i=1}^{N}{|y_i - \hat{y..
해외주식은 투자금액이 작다보니 민망해서 따로 글로 작성하지 않으려 했는데, 블로그 포스트 개수도 늘릴겸 투자일지도 남길겸 올려보기로 결심했다 (사실 불과 얼마전에 해외주식 배당금 입금 카톡 알림 서비스가 시작된 바람에... ㅎㅎ) 배당락일 2021년 5월 19일 기준 잔고: 11주 주당 배당금: $0.56 (수익률 0.87%) MS는 매년 분기마다 배당을 실시해왔고 해마다 배당금이 늘어나는 좋은 종목이다 배당금 상승률에 비해 주가 상승률이 워낙에 높아 배당 수익률은 갈수록 떨어지고 있는 점도 눈여겨볼만하다 정말 가파르게 성장하고 있다 (오늘 차트 처음 봤는데 엄청 놀랬다 ㅇ_ㅇ) 우리나라 대부분 기업들이 오피스 제품을 사용하니 굉장히 친숙한 기업이기도 하다 주가는 코로나 초기에 잠깐 주춤하더니 언택트 기..
빅데이터 분석기사 실기시험 R 개발환경에 ROCR 패키지가 제공되지 않아 대안을 찾아야했다 다행히 pROC 패키지가 제공되어서 간단한 사용법을 공부해봤다 (사실 AUC 구하는 수식 자체가 어려운게 아니라서 직접 구현해도 되긴 하지만... 패키지가 있다면 쓰는게 인지상정) 이진분류, 다중분류 모두 지원하니 케이스별로 테스트코드를 작성해보자 (함수명이 다르다) 유명한 공개 데이터셋 두 종류를 불러와 Train-Validation-Test 로 홀드아웃한 뒤, 랜덤포레스트 분류 모델 학습 후 검증 데이터, 테스트 데이터의 분류 결과를 살펴보자 (홀드아웃 비율은 8:1:1) 1. Binary Class Classfication 위스콘신 유방암 데이터로 이진분류 (메타데이터는 링크 참조) 분류대상 속성: Breas..
오늘 오전에 실기시험 관련해서 문자메시지가 날아왔다 (공지사항 확인) 원문은 링크에서 확인 가능 공지사항은 저번주 금요일에 올라왔구먼... 중요한 내용만 짚어보자 1. 일시 및 장소 일시: 2021년 6월 19일(토) 10:00 ~ 13:00 (180분) 입실시간: 08:50 ~ 09:30, 10:00 이후 입실 불가 (09:30까지 입실 권장) 10:30부터 화장실 이용 가능, 11:30부터 퇴실 가능 신분증 지참 필수 2. 응시환경 클라우드를 이용한 환경으로 시험 진행 시험은 오픈북이 아니며, 응시환경 및 제공되는 응시안내 자료 외 접속 불가 제공언어: R(3.6), Python(3.6) 시험 중 책상 위에는 신분증과 수험표만 허용 3. 제한사항 라인별 실행, 그래프 기능, 단축키, 자동완성 기능 미..
R에서는 데이터셋의 NA를 대체(Imputation)하는 여러가지 방법을 제공한다 (ex: DMwR 패키지의 centralImputation) 본 포스트에서는 dplyr 패키지를 활용해서 데이터셋에 NA가 있는지 파악하고, NA값들을 대체하는 방법에 대해 알아보도록 한다 1. 데이터 준비 mtcars 데이터셋의 일부 속성을 임의로 NA로 만들어보자 set.seed(1234) # load dataset df [1] "drat" "qsec" complete.cases 함수를 활용한 다음 구문과 동일한 동작 (complete.cases: NA인 속성이 모두 없는 레코드에 대해서만 TRUE 반환) df_na % summarise_each(funs(sum(is.na(.)))) > drat qsec 1 4 6 ※ ..
공부 정리하면서 쓰다보니 어느새 예시 문제 하나가지고 4번째 글을 쓰게 됐다 (개꿀...?) 앞서 문제가 발생했던거 별다른 해결책은 떠오르지 않아서 그냥 훈련용 데이터에 주구매속성 및 주구매지점의 모든 도메인의 레코드가 적어도 1개 이상씩 포함되도록 시드값을 변경했다 시험장에서 시간이 충분하다면 레코드를 옮기는 작업을 하면 될텐데, R-Studio 환경도 아니니 이래저래 힘들것 같다 (아마 시험 당일에는 train-validation 홀드아웃도 진행못할 가능성이 높다) set.seed(1234) X_train