전체 글
-
JPA 엔티티 매니저 팩토리와 엔티티 매니저, 영속성 컨텍스트Java/JPA 2022. 7. 31. 00:48
엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저는 엔티티를 저장, 수정, 삭제, 조회등 엔티티와 관련된 모든 일을 처리. 엔티티 매니저 팩토리를 생성하는 코드. EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); 생성한 엔티티 매니저 팩토리를 통해 EntityManager em = emf.createEntityManager(); 엔티티 매니저를 생성한다. 엔티티 매니저 팩토리 엔티티 매니저 팩토리는 말그대로 엔티티 매니저를 만드는 공장임 생성 비용이 큼 한개만 만들어 어플리케이션 전체에서 공유하도록 설계 되어있음. 여러 스레드가 동시에 접근해도 안전하게 설계 커넥션 풀 J2SE -> 하이버네이트를 포함한 jpa 구..
-
[Python으로 하는 Quant 투자] 1.API로 Upbit 상장 코인 가격 가져와 DataBase에 저장하기 (1부 - Python에서 Sqlite3 사용하기)Data Science/Quant Lab 2022. 2. 10. 22:21
Jay가 현재 푹 빠져있는 '퀀트 투자' ( 전략 만들고 백테스트해보는 재미에 시간 가는 줄 모른다 ) 이 퀀트 투자를 공부하며 알게 된 점, 전략, 방법론적인 내용들을 앞으로 연재해보려 한다. 그 첫 번째 시간 "API로 Upbit 상장 코인 가격 가져와 DataBase에 저장하기 (1부 Python에서 Sqlite3 사용하기)" 퀀트 전략을 세우는 데에 있어 백테스트는 필수 요소이다. 여기서 백테스트란 과거로 시간을 돌려 내가 세운 투자 전략대로 투자했다면 수익, 손실, 손익비 등등이 얼마나 될지 시뮬레이션을 해보는 과정이라 할 수 있다. 백테스트를 할 수 있는 방법은 여러 가지가 있을 수 있겠지만 지금 막 생각나는 방법은 아래 3가지 정도이다. 1. 세운 전략대로 과거 차트로 돌아가 손으로 직접 한..
-
[인프런 - 파이썬 머신러닝 완벽 가이드] 분류(Classification) 결정트리 Decision TreeData Science 2020. 6. 10. 06:29
결정트리 Decision Tree 결정트리 알고리즘은 데이터에 있는 규칙을 학습을 통해 자동으로 찾아내는 tree 기반의 분류 규칙을 만든다 ( If Else 기반 규칙 ) 즉 어떠한 기준으로 규칙을 만들어야 가장 효율적인 분류가 될것인가가 결정트리의 성능을 크게 좌우한다. 정보이득 ( Information Gain) 정보이득은 엔트로피라는 개념을 기반으로 한다. 엔트로피는 주어진 데이터 집합의 혼잡도를 의미. 서로 다른 값이 섞여있으면 엔트로피가 높고 같은 값이 섞여있으면 엔트로피가 낮다. 정보 이즉 지수는 1에서 엔트로피 지수를 뺸 값이다. 정보 이득이 높은 속성을 기준으로 분할한다. 지니 계수 지니계수는 원래 경제학에서 불평등 지수를 나타낼때 사용하는 계수 0이 가장 평등 1로 갈수록 불평등 ML에..
-
[인프런 - 파이썬 머신러닝 완벽 가이드]머신러닝 classification(분류) 성능 지표 F1 Score , ROC 곡선과 AUCData Science 2020. 6. 9. 21:47
F1 Score F1 스코어(Score)는 정밀도와 재현율을 결합한 지표이다. F1 스코어는 정밀도와 재현율이 어느 한쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가진다. ROC 곡선 AUC ROC곡선 (Receiver Operation Characteristic Curve)과 이에 기반한 AUC 스코어는 이진 분류의 예측 성늘 측정에서 중요하게 사용되는 지표이다. ROC 곡선은 FPR(False Positive Rate)이 변할때 TPR(True Positive Rate)이 어떻게 변하는지를 나타내는 곡선입니다. 분류의 성능 지표로 사용되는 것은 ROC 곡선 면적에 기반한 AUC값으로 결정한다. AUC(Area Under Curve)값은 ROC 곡선 밑의 면적을 구한것으로서 일반적으로 ..
-
[인프런 - 파이썬 머신러닝 완벽 가이드]머신러닝 classification(분류) 성능 지표 - 정밀도(Precision)과 재현율(Recall)Data Science 2020. 6. 9. 07:10
정밀도 = TP/(FP + TP) 정밀도는 예측을 Positive로 한 대상 중 예측과 실제 값이 Positive로 일치한 데이터의 비율 재현율 = TP/(FN + TP) 재현율은 실제 값이 Positive인 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율 모든 예측을 0으로만 하는 MyFakeClassifier라는 Classifier를 만들어 precision과 recall을 확인해보자. from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split from sklearn.base import BaseEstimator from sklearn.metrics import accura..
-
[인프런 - 파이썬 머신러닝 완벽 가이드] 머신러닝 classification(분류) 성능 지표 - 정확도 Accuracy , 오차 행렬 (Confusion Matrix)Data Science 2020. 6. 9. 06:05
1. Accuracy 정확도 Accuracy는 직관적으로 모델의 예측 성능을 나타내는 평가지표다. 하지만 class가 불균일한 데이터셋에서의 이진 분류 정확도는 양날의 검이 될 수 있다. DummyClassifier를 만들어서 테스트를 해보자 다음 테스트는 케글에 있는 타이타닉 데이터를 활용한다. https://www.kaggle.com/c/titanic/data Titanic: Machine Learning from Disaster Start here! Predict survival on the Titanic and get familiar with ML basics www.kaggle.com 우리는 통상적으로 위험한 상황에서 어린이나 여성 노약자를 먼저 구한다. 이는 위 타이타닉 데이터를 통해서도 확인..
-
[인프런 - 파이썬 머신러닝 완벽 가이드] 데이터 전처리 (데이터 인코딩과 스케일링)Data Science 2020. 6. 8. 00:35
데이터 전처리 (Preprocessing) - 데이터 클린징 - 결손값 처리(Null/NaN 처리) - 데이터 인코딩 (레이블, 원-핫 인코딩) - 데이터 스케일링 - 이상치 제거 - feature 선택 추출 및 가공 1. 데이터 인코딩 머신러닝 알고리즘에 사용되는 데이터는 모두 숫자형으로 표현되어야 한다. 즉 카테고리컬한 값이나 문자형 값은 모두 숫자값으로 변환,인코딩 되어야한다. 레이블 인코딩 (label encoding) from sklearn.preprocessing import LabelEncoder items = ["TV", "냉장고", "전자렌지", "컴퓨터", "선풍기", "선풍기", "믹서", "믹서"] #Label Encoder를 객체로 생성한후 fit()과 transform() 으로 ..
-
[인프런 - 파이썬 머신러닝 완벽 가이드] 교차 검증Data Science 2020. 6. 8. 00:19
교차검증 train dataset을 다시 분할하여 학습 데이터와 학습된 모델의 성능을 일차 평가하는 검증 데이터로 나눔 1. KFold from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn.model_selection import KFold import numpy as np iris = load_iris() features = iris.data label = iris.target dt_clf = DecisionTreeClassifier(random_state=156) # 5개의 폴드 세트로 분리하는 KFold객체와 폴드 세트별 정확도를 담을 리스트 객체 생성 kfold = ..