Kaggle의 e-commerce-customer-for-behavior-analysis 데이터를 가지고 진행했다. 데이터 가져오기 및 확인 import pandas as pd df = pd.read_csv('ecommerce_customer_data_large.csv') df.head() # df.tail() in...
상호작용과 성과 분석
문제 정의 사용자들의 학습성과를 높이려면? 기능 구현을 하면서 사용자들의 학습 성과를 높이려면 어떤 요소가 중요한지 고민하며 분석을 진행했다. 데이터는 Kaggle의 ONLINE EDUCATION SYSTEM REVIEW 데이터를 사용했으며 실제 프로젝트 데이터는 양이 적어 편향된 결과를 가져올 수 있어 제외했다. 데이터 전처리 impo...
분석 방법 정리
1. 기술 통계 1.1 모수 검정 vs 비모수 검정 모수 검정: 모집단의 분포에 대한 가정을 하고 검정 예: t-검정, ANOVA, 회귀 분석 비모수 검정: 모집단의 분포를 가정하지 않고 검정 예: Mann-Whitney U Test, 카이제곱 검정 비모수 검정이 필요한 ...
데이터 분석
데이터 분석 1. 데이터 가져오기 import pandas as pd # CSV 파일 불러오기 data = pd.read_csv('../kaggle/StudentPerformanceFactors.csv') print(data.head()) pandas : 데이터 처리 및 분석을 위한 라이브러리 read_csv : CSV 파일을 데이터프레임 형태로...
Python을 활용한 파이차트 이미지 생성
Python을 활용한 파이 차트 이미지 생성 이번 글은 python에서 파이 차트를 만들어 js에서 이미지로 보여주는 과정을 정리한 글이다. 1. DB 연결하기 환경변수 설정 환경 변수 파일(.env)을 활용하여 DB 연결 정보를 보호한다. DB_TYPE=mysql DB_DRIVER=pymysql DB_HOST=127.0.0.1 DB_USE...
Socketio와 nltk를 사용한 챗봇 구현
Python-SocketIO와 NLTK를 사용한 챗봇 구현 Python-SocketIO를 활용하여 실시간 양방향 통신을 구현하고 NLTK를 사용한 간단한 챗봇 기능을 추가했다. Spring과 WebSocket으로 채팅을 구현한 경험이 있어 이를 비교하면서 적용하니 이해가 더 쉬웠다. Spring WebSocket 경험이 있다면 SocketIO을 이...
검색어 자동완성
검색어 자동완성 사용자가 단어를 입력하면 해당 단어로 시작하거나 끝나는 단어를 검색하여 결과를 화면에 출력하는 기능을 정리한 글이다. 1. DB → Cache 저장 사용자가 검색어를 입력할 때마다 DB를 실시간으로 조회하면 성능 저하가 발생할 수 있다. 이를 해결하기 위해 DB 데이터를 Redis Cache에 저장하여 조회 성능을 개...
직렬화와 역직렬화
직렬화와 역직렬화 직렬화(Serialization) : 객체 데이터를 저장하거나 전송 가능한 형식(ex. JSON, binary)으로 변환하는 과정 역직렬화(Deserialization) : 직렬화된 데이터를 다시 원래 객체로 복원하는 과정 직렬화가 필요한 이유 1. 데이터 타입의 특성과 메모리 주소 의존성 기본형(Primit...
Text to speech
TTS(Text to Speech) 영어 학습 시 예문을 음성으로 들을 수 있도록 TTS를 적용했다. 이를 위해 무료로 사용할 수 있는 Web Speech API를 활용했다. 기본 사용 방법 TTS는 SpeechSynthesisUtterance 객체를 생성한 뒤 이를 speechSynthesis.speak()에 전달하여 음성을 재생한다. //...
Mypage
MyPage 단순히 사용자가 영어 공부를 하고 문제를 푸는 단순한 과정만 있어서 학습한 데이터를 분석해서 제공하는 MyPage를 구현하게 되었다. 이번 글에서는 학습 시간 및 풀이 시간과 학습 레벨을 시각화하는 내용을 작성했다. 추후에는 더 다양한 분석 데이터를 추가해 MyPage를 확장할 계획이다. 학습 시간과 풀이 시간 ...