전체 글(116)
-
디자인 패턴 : 파이썬 클래스 꿀팁 및 UML 다이어그램
1. 파이썬 클래스 꿀팁 ㅇ class method (cls) 는 생성자 없이 실행할 때 ㅇ static method는 객체를 생성 안해도 사용 가능 ㅇ __new__는 __init__ 전에 먼저 인스턴스를 생성하고 __init__으로 초기화 ㅇ *args = 여러개의 인자를 받기 위해. 튜플 형태 (arguments) ㅇ **kwargs = 딕셔너리 형태를 받을 때 및 특정 키워드를 받고 싶을 때 (key or keyword) 2. UML 다이어그램 참고) https://docs.staruml.io/working-with-uml-diagrams/class-diagram ㅇ UML 클래스 다이어그램 (화살표 방향은 쉽게 말해 없으면 안되는 존재) ㅇ 일반화 : 상속을 의미 ㅇ 실제화 : 오버라이딩 할 경..
2021.08.17 -
Min-Max Scaler
예시) from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() df['song_count'] = scaler.fit_transform(df[['song_count']]) df.head() 숫자가 너무 불균형 할 시에 min-max scaler를 통해 값을 0~1 사이로 치환한 분포 확인 가능
2021.07.08 -
데이터 분포 (log scale)
import seaborn as sns plt = sns.distplot(df.song_count, kde=False) plt.set_yscale('log')
2021.07.08 -
itertools (순열, 조합)
파이썬으로 코딩할 때, 종종 순열, 조합을 구현할 때가 많다. 이럴 때 일일이 여러 반복문을 사용해서 구현하지 말고 표준 라이브러리인 itertools를 사용하자. ㅇ combinations 조합을 표현할 때 사용되는 메소드이다. 한 리스트에서 중복을 허용하지 않고 모든 경우의 수를 구하는 것이다. 반환되는 항목의 수는 n! / r! / (n - r)!이다. 사용법은 다음과 같다. - 예시) from itertools import combinations _list = [1, 2, 3] combi = list(combinations(_list, 2)) print(combi) # [(1, 2), (1, 3), (2, 3)] # 갯수 별로 조합을 반복할 수 있다. for i in range(1, len(_li..
2021.06.30 -
추천시스템 역사
ㅇ Classic Recommender system 1) 컨텐츠 기반 추천 시스템 (아이템의 특징을 가지고 추천. ex) 봉준호가 만든 영화) 2) 협업 필터링 (유저끼리 같은 아이템에 대해 평가한 것을 토대로 추천 ex) 영화 평점) - 근접이웃기반 추천 시스템 ㄱ. 아이템 기반 협업 필터링 ㄴ. 유저 기반 협업 필터링 - 모델 기반 추천 시스템 ㄱ. matrix factorization 4) 하이브리드 추천 시스템 ㅇ Context-Aware recommender system (날씨, 기온, 위치 등등 추가) (Classic만 하기는 그렇고 딥러닝만하기는 리소스가 부족할 때 추천) ㅇ Deep learning based recommender system 1) Neural collaborative fi..
2021.06.27 -
Pseudo Labeliing (수도 라벨링) (Semi-Supervised Learning)
준 지도학습의 경우 데이터의 수가 부족하거나 Labeled data만으로는 도달 할 수 있는 성능에 한계가 있을 때, Unlabelled data를 사용하여 전반적인 성능을 더 높이기 위해쓴다. 성능을 더 높이는 이유는 Unlabeled Data를 사용하면서 학습을 하면, 경계를 그을 때, 더 많은 Case들을 고려하면서 정교하게 경계를 긋기 시작 이는 자연스럽게, 나중에 모델이 Test set을 만났을 때, 혹은 처음보는 다른 Data를 만났을 때도, ‘당황하지 않고 대응할 수 있는’ 힘을 가지게 해준다고 이해할 수도 있다. 그래서 두 번째 장점에서 말하고 있는 모델의 Robustness(견고함)는 이를 뜻한다. 우리가 잘 알고 있는 Overfitting도 이 Robustness의 정도가 낮아서 발생하..
2021.06.12