Python/문법(25)
-
[python] 리스트 축약 (데이터 중 특정 값이 포함된 데이터만 추출)
Ver. Jupyter Notebook (Anaconda3) ▶ A데이터 중 'C'가 포함된 값을 B에 저장 A = ['A', 'AB', 'B', 'CD', 'ABCD'] B = [x for x in A if 'C' in x] Out : ['CD', 'ABCD'] # 해석 A값을 하나씩 for의 x에 넣고 ( for x in A ) 'C'가 포함된 글자만 ( if 'C' in x ) 추출하여 B에 저장 ( B = [x ] )
2021.05.20 -
[python] 추천 시스템
Ver. Jupyter Notebook (Anaconda3) ▶ 추천 시스템 종류 ● CBF (Content-based Filtering) ex) 영화 : 장르, 감독, 출연배우, 키워드 # 넷프릭스 ● CF (Collaborative Filtering) - KNN (K-nearest Neighbors) · 아이템 기반 # 아마존 (사용자 기반보다 좀더 정확하다고 함) · 사용자 기반 # 왓챠 - MF (Matrix Factorization) # 넷플릭스 ▶ 유사도를 측정하는 방법 ● 거리 기반 ● 각도 기반 - 코사인 유사도 (가장 많이 사용) - 자카드 유사도 - 피어슨 유사도
2021.05.18 -
[python] 선형 회귀
▶ 분석 ● 분류(Classification): Category값(이산값) - ex) 0, 1, 2 분류 ● 회귀(Regression): 숫자값(연속값) - ex) 몸무게, 성적 ▶ 회귀 개요 Y = W1*X1 + W2*X2 + Wn*Xn Y = 종속 변수 (교통사고 건수) X = 독립 변수 (과속, 음주...) W = 회귀 계수 (가중치) ▶ 회귀 구분 - 선형 회귀 : Y = w0 + w1*x1 + w2*x2 + w3*x1*x2 + w4*x1^2 + w5*x2^2 (w는 1차 방적식) - 비선형 회귀 : Y = w1*cos(X+w4) + w2*cos(2*X+w4) + w3 / Y = w1*X^w2 (w가 cos 또는 2차방정식) ▶ 선형 회귀의 종류 ● 일반 선형 회귀: 예측, 실제 RSS(오차) 최..
2021.05.14 -
[python] 자연어처리, NLP (한글)
▶KoNLPy(코엔엘파이) ● 알고리즘 종류 (상황에 따라서 선택) - Kkma: 트위터 보다 약간더 자름 - Hannanum: 글 많이 안자름 - Komoran: 글 많이 자름 - Mecab: 최근에 뜨는것 - Twitter: 기본적으로 가장 많이 사용 ▶문서 유사도 ● 문서 유사도 측정 지표 - Cosine - Jaccard - Manhattan - Euclidean
2021.05.13 -
[python] filter, lambda (데이터 중 특정 단어가 포함된 위치 값)
Ver. Jupyter Notebook (Anaconda3) ▶ A데이터 중 'B'가 포함된 데이터의 위치 값을 B_list에 저장 A = ['A', 'AB', 'B', 'CD', 'ABCD'] B_list = list(filter(lambda x: ('B' in A[x]), range(len(A)))) Out : [1, 2, 4] # 해석 0~5를 반복수행 ( range(len(A)) ) 각각 x값에 넣고 ( lambda x: ) A리스트의 순서대로 B값이 들어있는지 비교 ( 'B' in A[x] ) 'B'가 들어있으면 필터를 거쳐 list화 ( (list(filter( )) ) B_list에 저장 ( B_list = )
2021.05.12 -
[python] 텍스트 분석
▶ 텍스트 분석 패키지 ● NLTK: 자연어처리의 조상, 대량 데이터 기반에서는 사용x ● Gensim: 토픽 모델링 분야에서 가장 많이 사용 ● SpaCy: 최근 뜨는 패키지 ▶ 텍스트 전처리 ● 클렌징: 불필요한 문자, 기호, 태그 등 제거 ● 토큰화: 형태소 분석, 단어 토큰화, n-gram n-gram: bi-gram 경우 i am a boy = i am / am a / a boy 식으로 분리 1개씩: uni-gram / 2개씩: bi-gram / 3개씩: tri-gram ● 필터링 / 스톱워드 제거 / 철자 수정 ● Stemming/Lemmatization: running → run 처럼 어근 추출 ▶ BOW 텍스트 피처 벡터화 ● Bag of Words: 단어의 빈도 값을 부여하여 값을 추출하..
2021.05.11