본문 바로가기

Data Science/Analysis Study31

파이썬 자연어 처리(NLP) - 코사인 유사도를 활용해 유사한 문장 찾기 & 책 마무리 안녕하세요, Everly입니다 :) 오늘은 [파이썬 데이터 분석 실무 테크닉 100] 책의 가장 마지막 부분입니다. 저번 포스팅에서 원핫 인코딩을 활용해 문장을 숫자로 수치화했습니다. 이렇게 수치화한 데이터를 활용하여 유사한 문장을 찾아보겠습니다. ✔Table of Contents Tech 100. 비슷한 설문응답을 찾아보자. (코사인 유사도, cosine similarity) 마지막 100번째 테크닉입니다! 거의 다 왔습니다 😉 바로 직전 테크닉인 Tech 99에선 각 인덱스 문장에 들어있는 단어들로 단어가 포함되면 1, 아니면 0으로 나타내는 데이터프레임 'all_word' 를 만들었는데요. 여기서 특정 문장 A와 비슷한 문장 B를 찾아봅시다. 여기서 사용하는 것은 코사인 유사도(cosine simi.. 2022. 5. 19.
파이썬 자연어 처리(NLP) - 문장 수치화하기(One-hot Encoding) / 파이썬 데이터 분석 실무 테크닉 100 저번 포스팅에서는 sur 데이터의 comment(의견) 컬럼을 konlpy를 활용해 형태소 분석해보았습니다. 그래서 자주 나온 명사를 살펴보았는데, 사실 이 단어가 긍정적인지, 부정적인지 모른다는 문제가 있었죠? 오늘은 이 단어와 고객만족도를 함께 살펴보고, 텍스트 데이터를 수치화하는 방법까지 알아보겠습니다 :) ✔Table of Contents Tech 98. 자주 나오는 단어와 고객 만족도 간 관계를 알아보자. (groupby agg) sur.head() sur 데이터에서 comment와 satisfaction만 따로 뽑아봅니다. 여기서 comment는 앞의 포스팅에서 한 것처럼, 명사만 뽑겠습니다. 물론 stopwords인 '더', '수', '좀' 도 제거합니다. 앞의 포스팅에서 쓴 코드를 살짝만 .. 2022. 5. 18.
파이썬 자연어 처리(NLP) - konlpy를 활용한 형태소 분석 / 파이썬 데이터 분석 실무 테크닉 100 저번 포스팅에 이어서, 이번엔 konlpy를 활용한 형태소 분석을 진행합니다. ※ 형태소 분석이란? 문장을 단어로 분할하는 기술로, 대표적인 한국어 형태소 분석 라이브러리로는 konlpy가 있다. konlpy 라이브러리가 없으신 분들은 pip install을 통해 다운을 받고 분석을 진행해봅시다. ✔Table of Contents Tech 94. 문장 분해하기 먼저 konlpy의 Twitter를 import하여, 어떤 예제 텍스트를 품사 단위로 분해해보겠습니다. #예제: text라는 문장을 품사 단위로 분해하기 from konlpy.tag import Twitter twt = Twitter() text = '형태소분석으로 문장을 분해해보자' tagging = twt.pos(text) tagging #단어.. 2022. 5. 17.
파이썬 자연어 처리(NLP) - 텍스트 데이터 전처리 / 파이썬 데이터 분석 실무 테크닉 100 안녕하세요~ Everly입니다 😀 오늘부터는 [파이썬 데이터 분석 실무 테크닉 100] 책의 마지막 10장인 '자연어 처리' 부분 포스팅을 업로드합니다. 이 자연어 처리(NLP; Natural Language Processing) 기술은 텍스트(text) 데이터를 분석하는 것으로, 비정형 데이터를 분석하는 기술이라고 볼 수 있겠죠. 예를 들어 고객에게 설문조사를 실시하고, 여기서 필요한 정보만 뽑아낸다고 해봅시다. 설문조사를 한 고객 수가 적으면 일일이 확인해도 되겠지만, 이게 몇 천, 몇 만 명에게 했다고 한다면 사람의 눈으로 파악하기 힘들겠죠. 그리고 어차피 우리가 궁금한 것은 사람들이 공통적으로 말하고 있는 장점이나 단점 정도만 보면 될 테니까요! 이럴 때 사람이 아니라 NLP를 활용한 데이터 분석.. 2022. 5. 16.
Python OpenCV (5) - HOG 노이즈 제거하기 (이동평균 이용) 안녕하세요, Everly입니다. 오늘은 [파이썬 데이터 분석 실무 테크닉 100] 의 "이미지 인식 기술" 마지막 포스팅입니다. 바로 전 포스팅에서 HOG의 SVMDetector 모델을 활용하여 동영상으로부터 사람을 인식하여, 사람 수를 세보았는데요! HOG 모델이 노이즈, 즉 오차가 많은 모델이라 정확한 결과가 나오지 못했습니다. 그래서 이번 장에서는 이런 노이즈를 제거해보고 '이미지 인식 기술' 포스팅을 마무리하겠습니다. ✔Table of Contents Tech 90. 이동평균을 계산해 HOG 노이즈를 제거하자. 노이즈가 생기는 이유는 이런 이유 때문입니다. 1. 계산해야 할 사람을 계산하지 않아서 2. 계산안해도 될 것을 사람으로 계산해서 그래서 시간의 평균(이동평균)을 계산하는 방법을 통해, 갑.. 2022. 5. 14.
Python OpenCV (4) - 동영상에서 사람 얼굴 인식하기, 타임랩스 만들기 저번 포스팅까지는 이미지 데이터로부터 사람 인식 기술을 배웠다면, 이번 포스팅부터는 동영상 데이터로부터 사람을 인식하는 기술을 공부해봅니다. 사람 인식 기술은 앞의 포스팅에서 사용한 HOG 특징량을 사용하는 모델을 사용하며, 이번 포스팅을 통해 동영상에서 자동으로 몇 명의 사람이 있는지를 인식할 수 있고, 동영상의 중요 정보만 압축한 타임랩스 영상을 만들 수 있습니다. ✔Table of Contents Tech 87. 중요한 정보만 압축한 타임랩스 영상을 만들어보자 장시간의 정보를 담은 긴 영상을 모두 눈으로 확인하는 것은 시간이 오래 걸립니다. 이 때 '타임랩스' 기능을 사용하면 좋습니다. 타임랩스란 일정 기간의 프레임 중에서, 1프레임만 꺼내는 '빠르게 재생하기' 기법입니다. 전반적인 경향을 빠르게 .. 2022. 5. 14.
Python OpenCV (3) - 이미지에서 사람 얼굴 & 방향 인식하기 (python dlib, 안면 인식 기술) 저번 포스팅에서는 얼굴 인식에 사용되는 2가지 모델(HOG 특징량의 SVMDetector, CascadeClassifier) 을 사용하여, 이미지 파일을 불러오고 여기의 사람 얼굴을 인식한 후 네모박스로 처리해보았습니다. 굉장히 신기했죠? 이번 포스팅은 사람 얼굴을 인식하는 것에서 더 나아가, 이 얼굴의 랜드마크를 뽑아보고 & 이 얼굴이 어느 쪽을 보고 있는지를 검출해봅니다. dlib이라는 라이브러리를 활용합니다. dlib은 얼굴을 눈, 코, 입, 윤곽의 특징점(랜드마크)를 뽑아주고, 이를 계산하여 사람이 얼굴을 어느 쪽으로 돌리고 있는지와 같은 세세한 정보를 검출할 수 있습니다. 이번 포스팅을 따라가기 위해서는 dlib 라이브러리 설치가 필수인데요. 아나콘다 프롬프트를 열고 다음을 실행합니다. pip .. 2022. 5. 13.
Python OpenCV (2) - 이미지에서 사람 얼굴 인식하기 저번 포스팅에 이어, 이번 포스팅에서는 이미지 인식 모델을 활용합니다. 그래서 이미지 데이터로부터 사람의 얼굴을 인식해보고, 이를 하얀색 네모박스로 처리하여 제대로 인식했는지를 확인해보겠습니다. ✔Table of Contents Tech 84. 이미지 속에 사람이 어디 있는지 검출하자 (HOG - SVMDectector 모델) 이미지 속에 사람을 검출하는 것은 HOG 특징량으로 표현해서 검출할 수 있습니다. 앞선 포스팅에서 사용한 img01 이라는 이미지 파일로부터 검출해봅시다. 여기선 잘 만들어진 사람 인식 모델 SVMDetector를 사용하겠습니다. [주요 메서드] hog = cv2.HOGDescriptor() : HOG 객체 만들기 hog.setSVMDetector(HOGDescriptor_getD.. 2022. 5. 12.
Python OpenCV (1) - 이미지, 동영상 데이터를 불러오고 저장하기 안녕하세요, Everly입니다 :) 지금까지 한 포스팅으로 현장에서 데이터 분석 업무를 어떻게 하는지, 어떻게 결과를 내고 개선하는지에 대한 내용을 알아봤습니다. 지금부터는 '발전 편'으로, 이미지 인식과 텍스트 분석이라는 2가지 AI(인공지능) 기술을 소개합니다. 이미지와 텍스트 데이터는 지금까지 봤던 csv 형태로 깔끔하게 저장된 정형 데이터가 아니라, 비정형 데이터라서 다소 까다롭습니다. 자세히 다루지는 않고 맛보기로만 볼 거라서, 여기서 흥미가 생기신다면 더 깊이 공부하면 좋을 것 같아요 :) 먼저 이번 포스팅부터는 '이미지 인식 기술'을 공부해봅니다. 여기서는 다음과 같은 것을 배울 수 있습니다. 이미지, 동영상 데이터를 불러오는 방법 동영상을 이미지로 나눠서 저장하는 방법 이미지, 동영상 속에.. 2022. 5. 11.
파이썬 시뮬레이션 - SNS 입소문 전파 예측하기 (4) / 파이썬 데이터 분석 실무 테크닉 100 안녕하세요! Everly입니다. 오늘 포스팅은 SNS 입소문 전파를 예측하는 파이썬 시뮬레이션 마지막 포스팅입니다. 오늘은 실제 결과와 예측 결과를 비교해보고, 실제 결과가 없는 미래에 대해서 예측까지 진행해보겠습니다. ✔Table of Contents Tech 79. 실제 데이터와 시뮬레이션을 비교하자. 앞선 Tech 78에서 소멸확률과 확산확률을 추정했던 것 기억나시죠? 얘네를 불러옵니다. #각각 앞에서 구한 확산확률, 소멸확률 p_percent = count_link_to_active/count_link d_percent = count_active_to_inactive/count_active print(p_percent, d_percent) 확산확률 p_percent는 약 4%, 소멸확률 d_per.. 2022. 5. 5.