가는중 2023. 5. 20. 22:10

## Environment : Anaconda-navigator
## Programming Language : Python 3
## Import Pandas
## import seaborn as sns
## import Numpy as np
## import matplotlib pyplot as plt

## from datetime import timedelta

## from datetime import datetime, date
## from scipy.sparse import csr_matrix
## from math import sqrt
## from tqdm import tqdm_notebook as tqdm
## from sklearn.metrics.pairwise import cosine_similarity
## from sklearn.model_selection import train_test_split
## from sklearn.metrics import mean_squared_error
## import plotly.express as px

 

 

1. 데이터를 불러오기 및 데이터 전처리
2. 데이터 분석

3. 추천시스템

 

 

 

3-1을 기본으로 하여 feature들을 추가해 보겠습니다.

https://datapractice0815.tistory.com/246

 

3-1

## Environment : Anaconda-navigator ## Programming Language : Python 3 ## Import Pandas ## import seaborn as sns ## import Numpy as np ## import matplotlib pyplot as plt ## from datetime import timedelta ## from datetime import datetime, date ## from scipy

datapractice0815.tistory.com

 

 

2-3분석에서  일~화요일이 다가올수록 구매를 많이 하게 되는 현상을 발견할 수 있습니다. 

추가로 2-7에서 vip고객들은 수요일도 구매를 많이 한다는걸 발견했습니다.

일~수요일 데이터들의 feature를 추가하여 FM성능을 확인해 보겠습니다.

sample_df['dayname_feature'] = np.where((sample_df['event_timestamp(weekday)'] == 'Sunday')
                                        |(sample_df['event_timestamp(weekday)'] == 'Monday')
                                        |(sample_df['event_timestamp(weekday)'] == 'Tuesday')
                                        |(sample_df['event_timestamp(weekday)'] == 'Wednesday') , 1, 0)
epoch_loss = fit(X_sparse, y_data.values, config)

plt.plot(epoch_loss)
plt.title('Loss per epoch')
plt.show()

 

다른 feature도 추가하여 성능의 변화를 확인해 보겠습니다.

반응형