team-i-Five / code_Machine-learning

mumo 프로젝트 머신 러닝 코드 repo
4 stars 0 forks source link

작품추천 모델링 테스트(KNN | SVD | SVM | NMF) #22

Open qkrtnqls1216 opened 1 year ago

qkrtnqls1216 commented 1 year ago

KNN-Euclidean Distance 모델링 (231115)


# 데이터프레임에서 synopsis_numpy_scale 열의 값을 파싱하여 리스트로 변환
present_data['synopsis_numpy_scale'] = present_data['synopsis_numpy_scale'].apply(ast.literal_eval)

*KNN 모델 초기화 및 모델학습 image


최대 거리와 최소 거리 계산

max_distance = distances.max() min_distance = distances.min()

정규화된 유사도 계산

normalized_distances = 100 * (1 - (distances - min_distance) / (max_distance - min_distance))

유사한 작품 출력

print("선택한 작품:") print(past_data.iloc[selected_work_index_past]['title']) print("") print("유사한 작품들:") for i in range(1, len(indices.flatten())): index = indices.flatten()[i] normalized_distance = normalized_distances.flatten()[i] title = past_data.iloc[index]['title'] print(f"유사한 작품: {title}, 정규화된 유사도: {normalized_distance}%")


![image](https://github.com/team-i-Five/code_Machine-learning/assets/79692357/bf04d29f-207c-4717-bb6a-a0f8215aa02a)

---
# KNN-Euclidean Distance 모델 수정 (231116)

- 어제 코드가 과거 작품 기준으로 과거 작품 추천하는 코드라서, 과거 작품을 선택하면 현재 상영중인 작품 추천하는 코드로 수정함
### 수정된 코드
![image](https://github.com/team-i-Five/code_Machine-learning/assets/135298407/2e50e890-8903-47a7-b2be-93772d98577e)
### 결과
![image](https://github.com/team-i-Five/code_Machine-learning/assets/135298407/12369a5e-48d7-416e-b747-0b6280689bdb)

해당 코드는 `branch 0.1.3/model_test` - `model_test/Knn_musical_v2.ipynb`확인하실 수 있습니다.
minjung00 commented 1 year ago

SVD(Singular Value Decomposition) 모델 (231115)

모델

image image

코사인 유사도 계산

image

past 작품과 유사한 present 작품 상위 5개 추천 결과

image


해당 코드는 branch 0.1.3/model_test - model_test/SVD_musical.ipynb확인하실 수 있습니다.

minjung00 commented 1 year ago

SVM(Support Vector Machine) (231116) → MemoryError

image image

minjung00 commented 1 year ago

NMF(Non-negative matrix factorization) (231116)

모델

image image

결과

image


해당 코드는 branch 0.1.3/model_test - model_test/NMF_musical.ipynb에서 확인하실 수 있습니다.