기존에 강의를 통해 배웠던 챗봇은 정해진 질문과 대답에 대한 형태소 분석 및 단어사전 구축 뒤에 RNN 모델을 통해 질문에 대한 답변을 채택하는 구조였습니다. 새로운 형태의 챗봇을 생성해보고자 구글링한 이후 https://seokii.tistory.com/147 대학교 AI 질의응답 챗봇 만들기 - 1. 사용 데이터 & 텍스트 전처리기 0. 프로젝트 소개 글 (포스팅 목록) https://seokii.tistory.com/146 [Project] 대학교 AI 질의응답 챗봇 만들기 1. GitHub https://github.com/Seokii/Chatbot4Univ GitHub - Seokii/Chatbot4Univ: 대학교 재학생을 위한 AI 질의응답 seokii.tistory.com 이 분의 대학교 ..
Project
이전에 Flask와 React의 연결에 대해 자세히 설명하였으므로 모델을 Flask로 옮기고 React로 구현한 부분에 대해서만 작성하겠습니다. ○ function_module.py # 예측 모델 def predict_gb(choice,ctcd,data): gb_model = joblib.load(f"../model/{choice}_{ctcd}gb_model.h5") print(gb_model) y_pred = gb_model.predict(data) return y_pred def predict_company(ctcd,pred): if ctcd == "냉장고": com_dic = {0:"LG전자",1 :"삼성전자",2:"캐리어",3:"위니아",4:"루컴즈전자",5:"스타리온"} elif ctcd =="..
[ 데이터 조회 및 라벨링 ] 머신러닝딥러닝용 데이터의 컬럼입니다. ['buy_dtls_nm', 'buy_pd_nm', 'user_id', 'user_gender', 'user_birth', 'user_address', 'user_family_counts', 'prod_prc', 'prod_company', 'prod_ctcd', 'buy_ymd', 'buy_day', 'buy_season', 'buy_hour', 'prc_level'] 독립변수로는 회원 성별, 연령대, 거주지, 가구원수, 구매 요일, 구매 계절, 구매 시간 종속변수로는 제품 가격, 제조회사가 있습니다. ○ 구매 요일 컬럼 buy_day from datetime import datetime day_of_week = [int(i.strft..
Flask를 사용하여 Python 으로 작성한 구문을 통해 전처리한 데이터를 api로 전송하여 react에서 chart.js로 시각화하는 부분까지 구현해봤습니다. ○ 라이브러리 설치 사용하는 python 가상환경에 pip install Flask pip install flask-cors 를 통해 라이브러리를 설치합니다 flask-cors는 CORS 관련 문제를 방지하고 클라이언트 측에서 서버로의 요청을 허용하도록 도와주는 역할을합니다. ○ Flask 파일 만들기 파일 구성은 nomore(전체파일) > app >__init__.py 와 routes.py nomore > function_module.py 와 run.py nomore >src > predict(예측) > Predict.jsx nomore > ..
가상으로 생성된 로그데이터를 통해 분석과 시각화를 하였습니다. ○ 데이터 추출하기 미리 host 정보를 저장해놓고 db에 접속합니다. # DB접속하기 try: conn = pymysql.connect(host=host, user = user, password = password, db=db, charset=charset, autocommit=autocommit, cursorclass = cursorclass) print("DB접속 성공>>>",conn) except: print("DB Server Checking...") sql 문을 사용하여 데이터를 조회하고 조회한 데이터를 데이터프레임 형식으로 저장합니다. 구매한 내역이 있는 회원의 성별, 생년월일,거주지, 가구원수 그리고 구매한 상품의 상품명, 카테..
데이터 베이스에 넣기 위해 테이블정의서도 작성하고 테이블 정의서에 맞춰 데이터를 전처리 및 가공하였습니다. 이를 Mariadb에 저장했습니다 [ 데이터 베이스에 저장하기 ] ○ 사용 라이브러리 from sqlalchemy import create_engine import pymysql import sqlalchemy from sqlalchemy import types import pandas as pd ○ DB 접속 db_connection = create_engine('mysql+pymysql:/db사용자이름:비밀번호@35.87.206.219:3306/db이름?charset=utf8mb4', echo=True) db_connection ▶ 한글으로 되어있는 데이터를 넣기 위해 charset=utf8로 ..
[ 전자제품 상세정보 전처리] 냉장고, 에어컨, 세탁기, tv, 전기밥솥으로 제한한 전자제품의 제품명, 제품 이미지 url, 제품가격 , 제품 상세정보를 웹크롤링 하였습니다. 중간에 청소기 데이터도 크롤링하였지만 중요한 쇼핑몰 제작 목적인 에너지 소비효율등급이 명시되어있지 않아 전기밥솥 항목을 추가하기로 하였습니다. ○ 데이터 프레임 합치기 여러개의 텍스트 파일로 저장되어있는 정보를 하나의 데이터 프레임으로 concat 한 모습입니다. df1 = pd.read_csv("./data/냉장고_크롤링_data.txt", delimiter="\t", names=["title","image","price","infomation"]) df2 = pd.read_csv("./data/냉장고11-20-1.txt", de..
동적 웹크롤링 selenium 을 이용하여 데이터를 수집하였습니다. ○ 라이브러리 설치 import pandas as pd # 동적 웹 페이지 처리를 위한 라이브러리 from selenium import webdriver # 웹페이지 내에서 데이터 추출을 위한 라이브러리 from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import StaleElementReferenceException from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.supp..
이전내용과 이어집니다 이전 내용이 궁금하시다면 클릭 지도 시각화를 통해 각 지역에 대한 관심도 평균값을 시각화하고자합니다. 우선 지도 시각화를 위한 json 파일을 위해 국내 시군구 지도 데이터를 아래 사이트에서 얻었습니다. 시도/ 시군구 / 읍면동 / 리 단위로 되어있는데 저의 경우에는 시도 파일을 다운로드 하였습니다. http://www.gisdeveloper.co.kr/?p=2332 대한민국 최신 행정구역(SHP) 다운로드 – GIS Developer www.gisdeveloper.co.kr shp 파일을 다운로드 한 뒤 이를 아래 사이트에서 설정해줍니다. https://mapshaper.org/ mapshaper Drop or paste files here or select from a folde..
이전내용과 이어집니다 이전 내용을 보고싶으시다면 클릭 제가 거주하고 있는 광주 지역의 최근 여행지 관심도가 성별 , 나이, 소득기준에 따라서 어떻게 변화하고 있는 추세인지에 대해 궁금해졌습니다. 광주광역시 성별 여행 관심도 변화 분석 ① 기존 데이터 불러들이기 import pandas as pd df = pd.read_csv('01_data/travel_data_total.csv') df.columns Index(['응답자ID', '조사시작일자', '성별구분코드', '연령대구분명', '답변자거주지역명', '가구소득정도명', '서울특별시여행관심값', '경기도인천광역시여행관심값', '부산광역시여행관심값', '충청남도대전광역시여행관심값', '충청북도여행관심값', '경상남도울산광역시여행관심값', '경상북도대구광..
이전 내용과 이어집니다. 이전내용이 보고싶으시다면 클릭 연도별 지역의 관심도 추이 분석 ① 데이터 전처리 2021-2023 년의 11개 시도의 여행 관심도 평균값의 추이를 비교하기 위해 연도로 그룹화하여 각각 시도 관심값의 평균값을 구하여 데이터 프레임을 만들었습니다. # 기준년도별 지역별 관심도의 평균값이 필요 df_temp = pd.DataFrame() for col in df.columns[6:18]: df_temp[col] = df[col] df_temp = df_temp.groupby("기준년도",as_index=False).mean() df_temp ▶ 각 시도의 여행관심값과 기준년도를 넣은 데이터프레임 df_temp를 for문을 통해 만든 후 기준년도로 그룹화한 뒤에 mean() 을 통해 평..
재생에너지 발전량 백분율 선 그래프 해당 년도의 전체 발전량 합계 중 각각의 에너지원이 차지하는 비율의 변화를 알고자 그래프로 시각화하였다. ① 데이터 읽어들이기 합계가 없는 데이터를 읽어들였다. df_en = pd.read_csv("./연도별발전량.csv") df_en ② 백분율 데이터 컬럼 생성하기(전처리) 백분율 구하는 공식에 대한 설명은 여기 클릭 df_en_tot = df_en.groupby("연도")["발전량(GWh)"].sum().reset_index() df_merged = pd.merge(df_en, df_en_tot, on='연도', suffixes=('', '_total')) df_merged['발전량_백분율'] = (df_merged['발전량(GWh)'] / df_merged['발전..