본문 바로가기

728x90

SeSAC 금융데이터 분석가

11/29 화 1. 추천 알고리즘(모델) 중 콘텐츠 기반 필터링(Content-based Filtering, CBF) 사용자가 특정 아이템을 선호하는 경우 그 아이템과 비슷한 콘텐츠를 가진 다른 아이템을 추천해주는 방식(콘텐츠의 특성과 사용자의 선호도를 비교). 콘텐츠(아이템)의 특성을 기술하는 메타정보가 필요함 2. 추천 알고리즘(모델) 중 협업 필터링(Collaborative Filtering, CF) 첫 번째는 사용기록(평점, 구매 횟수와 같은 사용자 행동 양식)에 따라 ‘유사한 사용자 집단’을 분류하고 그들이 사용한 아이템들을 공유하는 방식인 ‘사용자 기반 협업 필터링( user-based CF)’, 나랑 비슷한 취향을 가진 사람이 구매한 물건을 추천해주는 방식 두 번째는 사용기록에서 ‘유사한 아이템 집단’을 .. 더보기
11/28 월 1. DB I/O 및 저장 구조 - input: RAM에서 HDD로 접근해서 데이터 값을 입력 - output: HDD에서 RAM으로 데이터를 출력 - 랜덤 액세스: 다른 데이터를 설명해주는 데이터가 있을 때 CPU가 RAM에서 메타데이터(변수)를 이용하여 주소 값을 알아낸 후 RAM이나 HDD로 바로 데이터를 불러오는 방식 - 시퀀셜 액세스: 논리적(인덱스 리프 블록)또는 물리적으로 연결된 순서에 따라 차례대로 블록을 읽는 방식 * 테이블의 경우 서로 논리적인 연결 고리를 가지고 있지 않음, 세그먼트에 할당된 익스텐트 목록을 헤더에 맵(각 익스텐트의 첫 번째 블록 주소 값을 가짐)으로 관리함, 맵에서 목록을 얻고 각 익스텐트의 첫 번째 블록부터 순서대로 읽는 것이 Full Table Scan - 풀 스.. 더보기
11/2 수 1. 유사도 - 자카드 유사도(Jaccard Similarity): 집합 기반 A, B 두 개의 집합이 있다고 할 때, 합집합에서 교집합의 비율을 구하는 것 0~1 사이의 값을 가짐 (두 집합이 동일하면 1, 두 집합의 교집합이 없다면 0 값을 가짐) 값이 1에 가까울수록 두 문장이 유사한 문장, 0에 가까울수록 유사하지 않은 문장으로 분류 각 아이템(단어)들을 Binary값(0,1)으로 변환하여 교집합/합집합을 구함 - 코사인 유사도(Cosine Similarity): 벡터(각도) 기반 두 벡터(방향성)간의 코사인 각도를 이용하여 구하는 두 벡터의 유사도를 의미 -1~1 사이의 값을 가짐 값이 1에 가까울수록(두 벡터의 방향이 같을수록) 유사성이 높음 (두 벡터가 서로 90°의 각을 이루면 코사인 유사.. 더보기
10/28 금 1. SVD(Singular Value Decomposition, 특이값 분해) SVD란 A가 m × n 행렬일 때, 다음과 같이 3개의 행렬의 곱으로 분해(decomposition)하는 것을 말한다. HTML 삽입 미리보기할 수 없는 소스 여기서 각 3개의 행렬은 다음과 같은 조건을 만족한다. HTML 삽입 미리보기할 수 없는 소스 이때 SVD로 나온 대각 행렬의 대각 원소의 값을 행렬 A의 특이값(singular value)이라고 한다. LSA(Latent Semantic Analysis, 잠재 의미 분석)의 경우 풀 SVD에서 나온 3개의 행렬에서 일부 벡터들을 삭제시킨 절단된 SVD(truncated SVD)를 사용하게 된다. 2. 행렬 1) 전치 행렬(Transposed Matrix) : 원래의.. 더보기
10/27 목 1. SoyNLP 지난번 배웠던 koNLPy의 형태소분석기로 토큰화가 잘 되지 않는 신조어를 응집 확률(cohesion probability)과 브랜칭 엔트로피(branching entropy)를 기반으로 단어에 점수를 부여해서 토큰화를 할 수 있도록 지원하는 SoyNLP 패키지를 배웠다! 강사님이 진행하신 코드와 거의 유사하고, 기법과 용어에 대한 설명이 자세하게 나온 페이지가 있어, 역시 참고하였다. - 응집 확률(cohesion probability) : 왼쪽부터 순서대로 문자를 추가하면서 각 문자열이 주어졌을 때 그다음 문자가 나올 확률을 계산하여 누적곱을 한 값. 값이 높을수록 해당 문자열 시퀀스가 하나의 단어로 등장할 가능성이 높아짐 - 브랜칭 엔트로피(branching entropy) : 만.. 더보기
10/17 월 1. RMSLE(Root Mean Square Log Error) 오늘 진행 한 회귀 실습(자전거 대여 수요 예측)에서 캐글은 왜 성능지표 중 RMSE가 아닌 RMSLE(Root Mean Square Log Error) 사용하며, 둘의 차이가 왜 많이 나는지(LinearRegression: RMSLE: 1.165 vs. RMSE: 140.900)에 대해 공룡 책의 권철민 저자님이 인프런에 상세히 설명해주신 내용을 찾았다. 타깃 값 자체가 매우 높은 데이터에 대해서 예측 오류가 발생할 경우, 타깃 값이 작은 데이터에 대해서 예측 오류가 발생할 경우보다 임팩트가 더욱 크게 됨. 이를 상쇄하기 위해 실제값(y)과 예측값(pred)을 먼저 로그(cf. 학교 다닐 때 배운 일종의 둔한 저울) 변환하여 숫자 자체의.. 더보기
10/14 금 1. fbprophet 시계열 데이터를 시각화하고 예측하여 분석에 도움을 주는 fbprophet 라이브러리! 앞으로 나갈 진도를 PDF 참고하여 fbprophet를 기존에 만든 아나콘다 가상 환경에 설치하는데 계속 오류 발생.. 호환성 문제 때문에 골머리를 앓다가 오늘 강사님이 새로운 가상 환경에 python 버전 3.7로 까는 코드를 공유해주셨다ㅎㅎ 가상 환경 새로 팔 생각을 못 했 ^^; conda create -n myenv python=3.7 conda activate myenv conda install libpython m2w64-toolchain -c msys2 conda install numpy cython -c conda-forge conda install matplotlib scipy p.. 더보기
10/12 수 1. LogisticRegression sklearn.linear_model 사이킷런의 ML 알고리즘 모듈 안의 로지스틱 회귀를 사용할 때 모델 최적화를 위해 부여할 수 있는 옵션들이 있다. max_iter는 기본 100으로 설정되어 있는데, 간혹 반복 횟수가 적다는 경고(ConvergenceWarning: lbfgs failed to converge (status=1))가 뜰 때 solver(최적화에 사용할 알고리즘. default='lbfgs')가 충분히 수렴할 수 있도록 반복 횟수를 늘려주면 된다. 보통 작은 데이터 세트의 이진 분류인 경우 liblinear가 성능이 좋고, 데이터 세트가 크고 다중 분류인 경우 lbfgs가 적합하다. 출처 출처 2. 결정 트리 모델의 시각화 Graphviz 패키지 .. 더보기

728x90