전체 글 37

구매 영수증 데이터 전처리 (평균방문주기)

아래의 데이터는 한 매장의 고객이 6월 한달동안 물품을 구매한 날짜를 기록해둔 데이터(ex.영수증)이며 간략한 설명을 붙이자면 1번 고객은 22년 6월 1일에 1번의 구매를 하였고, 2일에는 2번, 3일에도 구매를 한 경우이며 10번 고객은 22년 6월 23일 1번만 물품을 구매하였다. 영수증 데이터를 분석하다 보면 이러한 형식의 데이터를 주로 볼 수 있을것이며 이러한 형식으로 데이터가 있으면 단점이 주말에 몇번오고 평일엔 몇번 왔는지 파악하기가 어렵다는 점이다. 따라서 전처리를 적절하게 해줘야 하는데 이 페이지에서 다뤄보도록하겠습니다. 추가적으로 이 고객이 몇일 간격으로 방문하는지 평균 방문주기도 구해보도록 하겠습니다 import pandas as pd from collections import Cou..

PYTHON 2022.09.19

pymongo 특정한 문자를 포함한 데이터 찾기

MongDB를 jupyter 환경에서 python언어로 사용할수 있는 방법에 대해 알아보도록 하겠습니다. from pymongo import MongoClient client = MongoClient("mongodb://localhost:27017/") # list_database_names() db에 존재하고 있는 database의 이름을 확인할수 있음 print(client.list_database_names()) ['aaa','admin'] db = client['aaa'] # 'aaa'이라는 database에 연결 table = db['table'] # 'table'이라는 table에 연결 # find_one()은 한 건의 데이터만 찾음 #여기서는 'channelType' 컬럼에서 'nav'를 포..

MongoDB 2022.07.08

[NLP③] 데이터 병합 및 INT화

저번에 수집했던 전처리한 데이터를 하나의 데이터 프레임으로 만든후 각 데이터를 비교해보이는 EDA를 시행해보겠습니다. import pandas as pd df1 = pd.read_csv('baecksansoo.csv') df2 = pd.read_csv('isis.csv') df3 = pd.read_csv('mongbest.csv') df4 = pd.read_csv('samdasoo.csv') df5 = pd.read_csv('seoksoo.csv') df6 = pd.read_csv('sparkle.csv') # unnamed :0 열이 생겨서 제거작업 df1.drop(['Unnamed: 0'], axis = 1, inplace = True) df2.drop(['Unnamed: 0'], axis = 1, ..

PYTHON 2022.07.04

[NLP②] 네이버 쇼핑 리뷰 전처리

이번에는 저번시간에 수집했던 리뷰데이터를 전처리 해보도록하겠습니다. 일반적인 전처리의 범위는 중복제거, 결측치 제거, 특수문자 제거 등이 있으며 리뷰를 의미있는 최소한의 단위로 쪼개서 품사를 태깅하는 행위를 형태소분석 및 토크나이징이라고 하는데 이건 다음 시간에 하도록 하고 이번에는 중복제거, 특수문자 제거 등의 처리를 해보겠습니다. 참고로 이 데이터는 저번시간에 수집한 네이버 쇼핑 리뷰를 사용하여 이어나가보도록 하겠습니다. df4=add_dataframe(name_,category_,reviews,stars,cnt) df4 df4.info() Int64Index: 2000 entries, 1 to 2000 Data columns (total 4 columns): # Column Non-Null Coun..

PYTHON 2022.06.26

[NLP①] 네이버 쇼핑 리뷰 크롤링 (생수)

이번에는 정형데이터가 아닌 비정형데이터를 분석하도록 하겠습니다. 분석하기 앞서 데이터를 직접 추출할건데 네이버 쇼핑에 판매하고 있는 삼다수 리뷰를 긁어 올것입니다. NLP 시리즈에서는 삼다수, 백산수, 석수, 몽베스트, 스파클, 아이시스 총 6가지의 브랜드의 데이터를 각각 2,000개씩 긁어와서 약 12,000개를 사용할 예정입니다. 네이버 쇼핑에서 제공하고 있는 리뷰는 네이버 쇼핑 자체에서 만들어진 리뷰가 아니라 "우물샵", "NS홈쇼핑", "장대리"등 다양한 인터넷 쇼핑몰에서 리뷰를 긁어오고 있는 형태입니다. from selenium import webdriver from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup..

PYTHON 2022.06.19

[정규식] re 라이브러리

정규식이란 영어 소문자, 대문자, 한글등 자연어 처리를 하기 위해서 사용되는 개념으로 파이썬에서는 re 라이브러리를 이용해서 주로 처리한다 import re p = re.compile(r'[a-z]+') m=p.match("python") print(m) 이런식으로 소문자에 맞는 문자를 매칭시키거나 search, findall, finditer 4가지의 메서드를 사용할수있으며 각 기능은 다음과같다 Method 목적 match() 문자열의 처음부터 정규식과 매치되는지 조사한다. search() 문자열 전체를 검색하여 정규식과 매치되는지 조사한다. findall() 정규식과 매치되는 모든 문자열(substring)을 리스트로 돌려준다. finditer() 정규식과 매치되는 모든 문자열(substring)을 ..

PYTHON 2022.04.16

빅분기 실기시험 후기

6월 19일 처음으로 시행된 빅데이터 분석기사 실기시험을 치루고 왔다. 전반적인 느낌은 '와 진짜 별론데?'이다. 시험준비기간은 약 2~3주이다. 5월 29일 sqld 시험끝나고 하루정도 쉬고 바로 빅분기 실기 시험준비를했다. 시험문제는 단답형 10문제 , 1작업형 3문제 ,2작업형 1문제이며 단답형은 그냥 7~8문제는 무난한 수준으로 풀수 있는 수준이였고 2문제 정도는 난생 처음보는 개념이었다. 1작업형 문제는 상위 10개의 값을 상위 10번째 값을 바꾸고 평균을 구하는? (제대로 기억은 안나요..) 그런문제 였다. 그러니까 library, print 문 포함해서 7줄? 이내로 끝낼수있을정도로 되게 간단한 문제이긴했다. 내 앞자리에서 시험치시는분들은 파이썬을 쓰시는거 같던데 코드를 엄청 길게 쓰시던데 ..

일상 2021.06.22

[빅분기 실기] 이상치 정제후 AUC 0.6688

> ################### 이상치(최대값) 확인 및 변환 >library(dplyr, caret, randomForest,pROC) > x_train y_train full full$최대구매액 full$총구매액 full$환불금액 full$환불금액 full$주구매상품 full$주구매지점 full$gender round(cor(full[,-c(1,5,6,11)]),2) 총구매액 최대구매액 환불금액 내점일수 내점당구매건수 주말방문비율 구매주기 총구매액 1.00 0.70 0.47 0.66 0.09 0.01 -0.21 최대구매액 0.70 1.00 0.43 0.37 0.02 0.02 -0.12 환불금액 0.47 0.43 1.00 0.38 0.00 -0.02 -0.14 내점일수 0.66 0.37 0.38..

R 2021.06.12