전체 글 96

[머신러닝] Random Forest, XGBoost, LightGBM 비교

1.Random Forest - 알고리즘 여러 개의 의사결정나무(Decision Tree) 모델을 배깅(bagging) 앙상블한 모델 bagging : training data로부터 랜덤하게 추출하여 동일한 사이즈의 데이터셋을 여러개 만들어 독립적인 트리를 구성 각 트리마다 변수들이 랜덤하게 사용(subsampling) > 개별 트리들의 상관성을 줄여 일반화 성능 확보 - 장점 일반화 및 성능 우수 파라미터 조정 쉬움 데이터 scaling 불필요 - 단점 샘플을 계속 추출하다 보면 비슷한 데이터가 만들어질 확률이 증가 해석이 어려움(앙상블 모형의 특징) 변수가 너무 적은 경우 랜덤성이 부족하여 성능 떨어짐 훈련시 메모리 소모 큼 2.XGBoost - 알고리즘 여러 개의 의사결정나무(Decision Tre..

[영어표현] Just because + 문장, doesn't mean + 문장

"- 라고 해서 - 인건 아니다." Just because it worked for you, doesn' mean it's gonna work for everybody. - 누군가에게 효과가 있었다고 해서 모두에게 효과가 있는건 아니야 Just because you don't like it, doesn' mean it isn't helping you. - 좋아하지 않는다고 해서 도움이 되지 않는건 아니다. Just because you do something bad, doesn' mean you are a bad person. - 나쁜 행동 한다고 당신이 나쁜 사람인건 아니야. Just because I look so kind, doen't mean I accept every situation. - 내가..

기타/영어공부 2023.01.02

[빅데이터를 지탱하는 기술] Ch2.빅데이터 탐색

2-1 크로스 집계의 기본 크로스 테이블(cross table): 행, 열 교차 부분에 데이터 보기엔 편하지만 DB에서 다루긴 어려운 형식 DB에서 행 추가는 간단, 열 추가는 어려움 트랜잭션 테이블(transaction table): 행 방향으로만 증가하는 테이블 크로스 집계(cross tabulation): 트랜잭션 테이블 → 크로스 테이블 소량의 데이터로 크로스 집계하는 건 구글 스프레드시트, 엑셀!! 소량 데이터 시각적으로 보기엔 엑셀 굳! 활용 많이 해보자 룩업 테이블(lookup table): 참조 테이블 엑셀 vlookup으로 참조 테이블 구성, 트랜잭션 테이블과 독립적으로 구성 자주 데이터를 볼때는 엑셀보다 BI(Tableau 등) 사용하는게 좋다네 안 써봐서 모르겠지만 룩업 테이블이랑 트..

[빅데이터를 지탱하는 기술] Ch1.빅데이터 기초 지식

1-1 [배경] 빅데이터의 정착 데이터 분석 방법을 모르고 → 책에선 다루지 않음 데이터 처리에 수고와 시간이 걸림 → 알고 싶은 정보가 있다는 가정하 어떻게 효율적으로 처리할지 Hadoop: 다수의 컴퓨터에서 대량의 데이터를 처리하기 위한 시스템 구글에서 개발된 MapReduce(분산 처리 시스템)를 참고하여 제작됨 초반 데이터 처리 위해 자바 언어로 프로그래밍 → 어려움, SQL쿼리 언어를 Hadoop에서 실행하기 위한 Hive(2009년) 출시 프로그래밍 없이 데이터 집계 가능, 분산 시스템의 간단화로 사용자 확대 NoSQL: 전통적인 관계형 데이터 베이스(RDB) 제약 제거한 데이터 베이스 다양한 조합: ‘키 - 밸류 스토어(key-value store, KVS)’, ‘도큐먼트 스토어(docume..

[빅데이터를 지탱하는 기술] Ch0

2023년은 데이터 엔지니어링에 관련된 공부를 계획하고 있다. 현업 엔지니어로 계신 분들에게 빅.지.기를 추천받아 필요한 개념들은 블로그에 정리 하려고 한다. 목차 ch1. 빅데이터의 기초 지식 ch2. 빅데이터의 탐색 ch3. 빅데이터의 분산 처리 ch4. 빅데이터 축적 ch5. 빅데이터 파이프라인 ch6. 빅데이터 분석 기반의 구축 한 3개월 예상하고 있는데 너무나 많은 일들을 계획하고 있어 더 오래 걸릴수도 있지만 꾸준하게 하려고 한다. 그리고 회사에서도 하둡서버에서 Pyspark로 데이터를 분석하고 있는데 조각된 지식들로 지금 회사에서 데이터를 축적하고 모델링을 하여 고객에게 서비스를 제공하는 시스템이 한 눈에 안들어 오는 상황이다. 아는 만큼 보인다고.. 전혀 모르는 상태임 ㅇㅅㅇ... 그래서 ..

[머신러닝] Kernel/Kernel trick(커널, 커널트릭)

0.개요 앞서, Support Vector Machine은 다음과 같은 제약식이 있는 최적화 문제를 라그랑주 문제로 풀었다. $$\text {max}\quad L_D(\alpha_i)=\sum^n_{i=1}\alpha_i - \frac {1}{2}\sum^n_{i=1}\sum^n_{j=1}\alpha_{i}\alpha_{j} y_i y_j x^{T}_ix_j$$ $$\text {subject to} \quad \sum^n_{i=1}\alpha_i y_i = 0, \ 0 \leq \alpha_i \leq C, \quad i = 1, \dots , n $$ 그러나 분류모델로 선형 SVM을 가정했을 때 soft margin을 사용해 어느 정도 오분류를 허용하더라도 다음과 같은 input space에서 데이터를..

2022년 하반기 - 새로운 시작!!

2022년은 나에게 많은 변화가 있던 한 해였다. 항상 현재에 충실하자는 마음과 '몸이 있는 곳에 마음이'라는 모토를 가지고 2022년을 보냈는데 돌이켜 보면 뭐.. 많이 하긴 했다. 많이 했는데 스스로 부족함도 많이 느껴 아쉬운 부분도 많았다. 앞으로 상반기, 하반기 회고록을 쓰면서 스스로를 돌아보고 피드백하는 시간을 가지고자 한다. 회고록의 목적은 과거에 대한 집착과 반성으로 스스로를 괴롭히기보다는 건강하고 행복하게 살자는 삶의 가치관과 전문적인 커리어 역량을 체계적으로 쌓아가자는 미래지향적인 의미로 작성하려고 한다. 2022년에 자잘한 일들은 빼고 굵직한 일들만 보자면 커리어 측면과 결혼이라는 큼직한 일로 요약할 수 있을 것 같다. 1. 데이터 분석가 vs 데이터 엔지니어 vs 데이터 사이언티스트?..

기타/회고록 2022.12.20

[프로그래머스] SQL 고득점 Kit - String, Date

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 이름에 el이 들어가는 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE ANIMAL_TYPE = "Dog" and NAME like '%el%' ORDER BY NAME; 중성화 여부 파악하기 SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE '%NE%' OR SEX_UPON_INTAKE LIKE '%SPA%', 'O', 'X') AS '중성화' FROM ANIMAL_INS; DATETIME에서 D..

프로그래밍/SQL 2022.11.27

[프로그래머스] SQL 고득점 Kit - JOIN

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 보호소에서 중성화한 동물 SELECT a.ANIMAL_ID, a.ANIMAL_TYPE, a.NAME FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID WHERE a.SEX_UPON_INTAKE != b.SEX_UPON_OUTCOME;

프로그래밍/SQL 2022.11.27

[프로그래머스] SQL 고득점 Kit - IS NULL

프로그래머스에 있는 SQL 고득점 Kit MySql 문제풀이 입니다. 코딩 테스트 연습겸 풀고있는 문제 풀이 공유합니다. 혹시 더 좋은 풀이 있으신 분은 공유해주시면 감사하겠습니다~~ https://programmers.co.kr/ 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL; 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL; NULL 처리하기 SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS;

프로그래밍/SQL 2022.11.27