AIB18_Section4_PJT

ysk1230·2023년 9월 23일
0
post-custom-banner

AIB18_Section4_PJT


프로젝트 기간 : 2023.06.14 ~ 2023.06.20

프로젝트 도구 : Open API, Google Colab, Postgre SQL, Flask, Google Looker studio

사용언어 : Python, SQL


프로젝트명 : 네이버 쇼핑 추천 시스템


프로젝트 배경

  • 네이버 오픈 API를 통해 쇼핑 정보를 수집 후 사용자에 맞는 추천 시스템 개발

프로젝트 개요

  • 오픈 API를 통해 네이버 패션의류 쇼핑 정보를 수집한 다음 PostgreSQL을 이용하여 RDBMS을 구축한 DB에 데이터를 저장한다. 저장된 데이터는 Google Looker studio를 이용하여 시각화 분석을 진행한다.
    Flask를 이용하여 웹프레임 구성을 하고 상품검색, 추천상품 등의 기능을 구현하는 방식으로 진행한다.

프로젝트 진행과정

  • 네이버 오픈 API를 이용하여 패션의류 쇼핑 정보를 수집(13,000개 상품정보 수집)
  • EDA를 통해 불필요한 컬럼 제거 및 중복값 제거, 결측치도 대체
  • Feature Engineering을 통해 Brand Point, Maker Point 등의 컬럼 추가
  • 무료 호스팅 서비스인 ElephantSQL을 이용하여 PostgreSQL DB 구축
  • Flask를 이용하여 웹프레임 구축 후 상품 검색 기능, 추천시스템 구현
  • 피드백 기능을 추가하여 사용자 피드백 점수 DB에 저장하기 기능 구현

프로젝트 흐름도

프로젝트 구현내용

1. 네이버 패션의류 쇼핑 정보 수집


네이버 오픈 API를 이용하여
상품 카테고리 기준으로 네이버 쇼핑에 올라와 있는 상품의 최저가와 그 외 정보들을 수집합니다.
총 13,000 개 데이터를 수집했습니다.

2. 데이터 정제 및 Feature Engineering

(1). 중복값 제거

(2). 관련 없는 열 제거

  • High Price : 최고가. 값이 존재하지 않아 삭제

(3). 결측치 대체

  • Maker와 Brand의 결측치는 각각 No-Maker, No-Brand로 대체

(4). Brand Point

  • 빈도수를 기준으로 많이 나온 브랜드 순으로 4,3,2,1점을 부여, No-Brand는 0점 부여

(5). Maker Point

  • 메이커가 있는 상품이면 1점 없으면 0점을 부여

(6). Price_range , Price_range_score

  • Low Price 컬럼에서 Min 값과 Max 값을 구해 4등분으로 나눠서 범주형으로 생성
    Very cheap, Cheap, Moderate, Expensive 로 나눔, 각각 4,3,2,1 점으로 별도의 점수 부여

(7). Total Point

  • Brand point, Maker Point, Price_Range 의 점수를 더해 총 점수를 표현

3. DB 생성

(1). Elephant SQL을 이용한 PostgreSQL 호스팅

(2). 생성된 DB에 데이터 적재완료

4. Google Looker Studio를 이용한 시각화

(1). 패션의류 검색 빈도

(2). 실제 상품 데이터 상세

(3). 추천 피드백 관련 예시

5.Flask를 이용한 웹프레임 기능 구축

(1). 초기 화면 구성

(2). 검색 서비스 및 피드백 기능 구현



  • 피드백 제출을 하게 되면 아래와 같이 완료 메세지 (ProductID : 40438411622)

  • DB 에 저장된 피드백 내역 (ProductID : 40438411622)


post-custom-banner

0개의 댓글