전체 글
-
[ML] 주요 Metric : Confusion matrix, Accuracy, Precision, RecallData miner/Information Retrieval 2021. 12. 15. 17:42
- Confusion Matrix (혼동 행렬) : 샘플 데이터의 실제값과 모델의 예측값을 한 눈에 볼 수 있는 표이다. 많은 매트릭이 Confusion matrix의 기반으로 구해진다고 보면 된다. 이진 분류를 기반으로 생각해 보았을 때 실제 클래스 - 예측 클래스 구분은 다음의 네 가지 경우로 나뉠 수 있다. 앞 부분은 모델이 예측한 클래스가 맞는지 틀리는지 여부를 나타내며 (T: True 옳게 분류한 경우, F: False 틀리게 분류한 경우) 뒷 부분은 모델이 예측한 클래스의 레이블을 뜻한다(P: positive 모델이 중점으로 맞추고자 하는 클래스, N: negative 그 외의 클래스)고 생각하면 편리하다. TP (True Positive) : 모델이 Positive class에 해당하는 경우..
-
[논문리뷰] [Information discovery] [CF] KRED : Knowledge-Aware Document Representation for News RecommendationsData miner/Information Retrieval 2021. 4. 9. 22:00
논문 출처; Liu, D., Lian, J., Wang, S., Qiao, Y., Chen, J. H., Sun, G., & Xie, X. (2020, September). KRED: Knowledge-Aware Document Representation for News Recommendations. In Fourteenth ACM Conference on Recommender Systems (pp. 200-209). 뉴스 추천 시스템에는 개인화 추천, 아이템 끼리의 추천(item-to-item recommendation), 뉴스 카테고리 추천, 뉴스 인기성 예측 등의 과제가 있다. 특히 본 논문에서는 Knowledge entities를 활용하는 것이 뉴스의 문서를 이해하는데 있어서 유용하다는 점을 발견..
-
[colab 환경] colab환경에서 돌리고자 할 때, argparse에 포함된 인자들을 편하게 처리하는 방법Data miner/Developer 2021. 4. 8. 17:55
Github의 많은 소스 코드는 다음과 같이 명령창 또는 콘솔에서 실행할 수 있도록 짜여있다. python train.py --epochs 50 --batch-size 64 로컬의 자원이 특정 모델을 돌리기에 충분하지 않을 경우, Colab을 활용하게 된다. 이 때, argparse에 정의된 인자들을 어떻게 처리해야 할까? 직접 코드를 하드 코딩으로 인자 입력 칸에 넣는 방법도 있다. 하지만, arparse로 정의된 인자들을 일일이 찾아서 변경하는 것은 여간 귀찮은 일이 아니다. 파이썬의 easydict 라이브러리를 사용하여, dict자료형에 argparse에 정의된 인자들을 넣어준다. easydict라이브러리는 딕셔너리의 키값을 dic.certain_key라는 식으로 '.'으로 접근할 수 있게 한다. ..
-
[정렬] 기수 정렬 알고리즘Data miner/Algorithm & Data structure 2021. 3. 21. 14:11
버킷 정렬(Bucket Sort)의 단점을 해소하기 위한 알고리즘이 기수 정렬 알고리즘(Radix Sort)이다. 각 자리 수에 해당하는 숫자에 정렬하고자 하는 숫자들을 차례대로 저장하는 방식이다. 이미지 출처; www.btechsmartclass.com/data_structures/radix-sort.html Data Structures Tutorials - Radix Sort Algorithm with an example Radix sort is one of the sorting algorithms used to sort a list of integer numbers in order. In radix sort algorithm, a list of integer numbers will be sorted..
-
[mac환경 ]Konlpy_kkma(꼬꼬마) 형태소 분석기에 분석 단어 추가 하기Data miner/Developer 2021. 3. 15. 17:38
윈도우 사용자는 다음의 블로그를 참고하길 바란다. cromboltz.tistory.com/18 1. 문제 상황 발생 Kkma().pos("고성과자 구성원") 기존의 분석기에서는 '고성과자'를 한 단어로 인식하지 못하였다. '고'와'성과자' 개별적으로 인식하고 있었다. '고성과자' 한 단어로 보고, 이 단어에 대한 빈도수를 계산해야 했다. 즉, 사전에 구축된 꼬꼬마 사전기에 사용자가 추가하고 싶은 단어가 있는 경우다. 2. Mac command에서 site-packages/konlpy/java의 경로로 수정한다 사용자$ cd /Users/user-id/opt/anaconda3/lib/python3.7/site-packages/konlpy/java 3. kkma-2.0.jar 압축을 풀어준다 java 사용자..
-
[논문리뷰] Relational Collaborative Filtering_Modeling Multiple Item Relations for RecommendationData miner/Information Retrieval 2021. 3. 15. 06:54
논문 출처; Xin, X., He, X., Zhang, Y., Zhang, Y., & Jose, J. (2019, July). Relational collaborative filtering: Modeling multiple item relations for recommendation. In Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval (pp. 125-134) 본 논문은 두 레벨의 구조를 통해서 좀 더 정교하게 유저의 선호도를 모델링하고자 한다. 1) 먼저, 두 가지 아이템의 특성/속성 정보를 모델링 하는데 포함시킨다. 이를 논문에서는 관계성 유형은(R..
-
[Spark] [python] Spark ApplicationData miner/Development log 2021. 3. 5. 16:04
Spark Application SparkSession Spark Application 을 가동하기 위해서 가장 먼저 생성해야 하는 것 builder 메서드를 사용하면 안전하게 생성 가능 SparkSession 실행 후 스파크 코드 실행 가능/ 저수준 API 실행 가능 SparkContext 스파크 클러스터에 대한 연결을 나타냄 SparkSession 생성시 getOrCreate를 통해 직접 초기화 from os.path import join, abspath import collections from pyspark import StorageLevel from pyspark.sql import Row from pyspark.sql import SparkSession from pyspark.sql.funct..
-
[Spark] [python] 구조적 API 기본 연산Data miner/Development log 2021. 3. 1. 17:32
구조적 API 기본 연산 1) 스키마 DataFrame의 컬럼명과 데이터 타입을 결정 DataFrame의 컬럼명과 데이터 타입을 정의. 데이터를 추출(Extract), 변환(Transform), 적재(Load)를 수행하는 작업에 스파크를 사용한다면, 스파크를 정의해야 한다. 정의하지 않을 경우, 스키마 추론 과정에서 스키마를 임의로 결정할 수 있다. 스키마는 여러 개의 StructField 타입 필드로 구성된 StructType 객체 StructType(컬럼의 이름, 데이터 타입, 컬럼의 값이 null값일 수 있는지 지정 True/False 및 메타데이터 지정) example_of_Schema = StructType([StructType(StructField("Specific_Column_name", S..