
ML - Ensemble Learning
2021. 11. 22. 15:33
💡 AI/ML
Ensemble Learning Ensemble Learning : 여러 개의 Classifier를 생성하고, 예측을 결합해서, 단일 Classifier보다 정확한 예측 결과를 도출하는 기법 Voting, Bagging, Boosting 으로 구분할 수 있다. + Stacking Bagging : Random forest Boosting : 에이다 부스팅, 그래디언트 부스팅, XGBoost, LightGBM 특징 단일 Classifier의 약점을 다수의 모델들을 결합하여 보완 뛰어난 성능의 모델로만 구성하는 것보단 성능이 떨어지더라도, 서로 다른 유형의 모델을 섞는 것이 나을 수 있다. Voting & Bagging Voting과 Bagging은 여러개의 Classifier가 투표를 통해 최종 예측 결과..

ML - Decision Tree
2021. 11. 21. 15:12
💡 AI/ML
목차 Decision Tree 구조 Decision Tree의 규칙 - 균일도 기반 Information Gain Gini Coefficient (지니 계수) Decision Node 생성 프로세스 Decision Tree의 특징 Decision Tree 주요 하이퍼 파라미터 Graphviz를 통한 시각화 Decision Tree의 Feature 선택 중요도 Classification 나이브 베이즈(Naive Bayes) : 베이즈 통게와 생성 모델에 기반한 나이브 베이즈 로지스틱 회귀(Logistic Regression) : 독립변수와 종속변수의 선형 관계성에 기반한 로지스틱 회귀 결정 트리(Decision Tree) : 데이터 균일도에 따른 규칙 기반의 결정 트리 서포트 벡터 머신(Support Ve..

ML - F1 score, ROC-AUC
2021. 11. 19. 19:35
💡 AI/ML
F1 score F1 score는 정밀도와 재현율을 결합한 지표이다. F1 score는 정밀도와 재현율 중 한쪽으로 치우치지 않았을 때 높은 값을 가진다. 사이킷 런은 f1_score() 함수를 제공한다. ROC 곡선, AUC 머신러닝 이진 분류 모델의 예측 성능을 판단하는 지표가 된다. ROC (Receiver Operating Charateristic curve) : FPR을 x축, TPR(재현율)을 y축으로 놓고 그린 그래프 AUC (Area Under Curve) : ROC 곡선의 아래쪽 영역의 면접 = 분류 성능의 지표로 사용된다. p = prediction(predictions, labels) roc = performance(p, measure='tpr', 'x,measure='fpr') au..

ML - Confusion Matrix, Precision, Recall
2021. 11. 18. 15:45
💡 AI/ML
1. Confusion Matrix (오차 행렬) 오차행렬은 이진 분류의 예측 오류가 얼마인지, 어떤 유형의 예측 오류가 발생하고 있는지를 나타내는 지표이다. 예측결과, 예측 True Positive : 참으로 예측했는데, 실제로도 참일 때 = 맞음 False Positive : 참으로 예측했는데, 실제로는 거짓일 때 = 틀림 False Negative : 거짓으로 예측했는데, 실제로는 참일 때 = 틀림 True Negative : 거짓으로 예측했는데, 실제로도 거짓일 때 = 맞음 오차행렬로 예측 결과를 살펴보자. from sklearn.metrics import confusion_matrix # 앞절의 예측 결과인 fakepred와 실제 결과인 y_test의 Confusion Matrix출력 confu..

ML - 평가(evaluation)
2021. 11. 12. 15:25
💡 AI/ML
머신러닝 모델 성능 평가 지표 Accuracy(정확도) 직관적으로 모델 예측 성능을 나타낼 수 있지만, 이진분류의 경우 숫자 놀음이 될 수 있다. (예측 결과랑 동일한 데이터 수) / (전체 예측 데이터 수) Confusion Matrix(오차 행렬) Precision(정밀도) Recall(재현율) F1 score : 정밀도와 재현율이 얼마나 균형 잡혀 있는 지 확인한다. ROC AUC : 이진분류에서 굉장히 많이 사용된다. import numpy as np from sklearn.base import BaseEstimator class MyDummyClassifier(BaseEstimator): # BaseEstimator를 상속받는다. # fit( ) 메소드는 아무것도 학습하지 않음. 원래라면 학습하..
Surprise
2021. 11. 10. 16:39
💡 AI/RecSys
데이터로딩 Reader : 데이터 컬럼 format, rating, scaling Dataset : Built-in, OS, DataFrame에서 데이터 로딩 모델 선정 및 학습 추천 알고리즘 설정 : SVD, KNNBasic 등 Train 데이터로 학습 : train() 예측 및 평가 예측 : test(), predict() 평가 : accuracy, rmse 등 교차검증 : cross_validate 하이퍼 파라미터 GridSearchCV 이런 데이터 포멧으로 고정이 되어 있다. userid, itemid, rating(평점) 1. 필요한 라이브러리 로딩 from surprise import SVD, Dataset, accuracy from surprise.model_selection import t..

Cell culture
2021. 11. 7. 16:11
🧬 Bio/생명공학
Cell culture 목차 1. Cell culture 1) Cell culture 란? 2) Cell culture의 종류 3) Subculture 4) Cell culture 방식 2. CHO cell 1) CHO cell 이란? 2) CHO-k1 cell 3. 실험 재료 및 방법 1) Trypsin-EDTA 2) Centrifuge에서 RCF, RPM의 차이 3) 실험 방법 Cell culture Cell culture 란? 생물체의 조직편이나 조직에서 분리된 세포들을 생물체내의 환경과 동일한 배양 시스템에서 유지시켜 줌으로써 조직이나 세포의 원래 기능을 보유하도록 하는 기술의 한 방법 활용 방법 1) 세포의 Morphology 관찰 2) 치료 목적의 유용한 물질 생산 3) 유전자 삽입 및 유전자..

프로그래머스 2단계 - 트럭
2021. 10. 31. 17:22
⏰ 코딩테스트/프로그래머스
코드 from collections import deque def solution(bridge_length, weight, truck_weights): answer = 0 dq = deque([0]*bridge_length) while len(truck_weights)!=0: # truck_weights 가 없어질 때까지 반복 dq.popleft() # 한칸 이동 # weight 보다 (deque의 합 + 다음 버스 무게)가 더 작으면, 한칸이동하고 다음 트럭 append if weight >= sum(dq) + truck_weights[0]: dq.append(truck_weights.pop(0)) # 다음 트럭 in answer += 1 else :# 그렇지 않으면 한칸 이동 dq.append(0) ..

HTTPS
2021. 10. 31. 13:25
📱 Full-Stack/테코톡
목차 HTTP vs HTTPS SSL/TLS SSL 통신 과정 1. HTTP vs HTTPS 1.1. HTTP Hyper Text Transfer Protocol 서로 다른 시스템들 사이에서 통신을 주고 받게 하는 가장 기본적인 프로토콜이다. 서버에서 브라우저로 데이터를 전송하는 용도로 가장 많이 사용한다. 한편, HTTP는 서버에서 브라우저로 전송되는 정보가 암호화되지 않는다는 문제점을 가지고 있다. 그래서 데이터가 쉽게 도난 당할 수 있다. 1.2. HTTPS HTTPS는 HTTP에 SSL을 사용한 프로토콜이다. HTTP는 전송되는 정보가 암호회되지 않는 문제점이 있었는데, HTTPS는 이 문제를 SSL을 활용해서 해결한다. SSL은 서버와 브라우저 사이에서 안전하게 암호화된 연결을 만들 수 있게 도..

ORM으로 DB 작업하기
2021. 10. 31. 12:57
🚦 Server/Node.js
1. ORM으로 하는 DB 작업 mysql2 를 이용해서 DB에서 리소스를 가져오는 방법이 있다. sql문을 잘 다루지 못하는 경우 ORM 패키지 사용해서 JS로 작성한 DB 관련 코드를 자동으로 SQL문으로 변환시켜서 클라이언트 객체를 통해 DBMS로 전송시키는 방법이 있다. ORM (Object Relational Mapping) 이란? 데이터베이스에 있는 데이터를 하나의 객체에 매핑시키는 기술이다. 그니까 sql문을 작성하지 않고 JS 코드만으로 데이터를 가져오고 보낼 수 있다는 것이다. $ npm install mysql2 DB를 다룰때에 ORM을 쓰든 안쓰든 이 패키지가 필요하다. $ npm install sequelize sequelize-cli $ npx sequelize init init ..

Item-Item Collaborative Filtering (Movie Dataset)
2021. 10. 29. 14:48
💡 AI/RecSys
협업필터링 유형 최근접 이웃 기반 (Nearlist Neighbor) 사용자 기반 (User-user CF) 아이템 기반 (Item-item CF) 잠재요인 기반 (Latent Factor) 행렬 분해 기반 (Matrix Factorization) 특징 User behavior(item 구매 이력, 영화 평점 이력)에만 기반하여 추천 알고리즘들을 전반적으로 지칭한다. 상품, 영화 등 사용자가 아직 평가하지 않은 item에 대한 평가(rating)을 예측하는 것이 주요 역할이다. row 레벨 형태의 User-Item 평점 데이터 User ID Item ID Rating user1 item1 3 user1 item3 3 user2 item1 4 user2 item2 1 user3 item4 5 ↓ 위의 데이..

프로그래머스 - 2단계 - MySQL
2021. 10. 28. 17:01
⏰ 코딩테스트/MySQL
IS NULL select animal_type, ifnull(name, 'No name'), sex_upon_intake from animal_ins order by animal_id 없어진 기록 찾기 select o.animal_id, o.name from animal_outs o left join animal_ins i on i.animal_id=o.animal_id where i.datetime is null order by o.animal_id 입양 간 기록은 있고 : outs 테이블은 다 입양 간 애들 보호소에 들어온 기록은 없으므로 : ins 테이블에는 datetime이 없는 애들이므로 outs ← left join ins 해주고 outs 테이블에서 동물들을 조회해주면 된다. 있었는데요 없었..