딥러닝구조를 배웠는데 원리가 궁금하네요
해결됨
모든 직장인을 위한 누구나 이해할 수 있는 인공지능
유저 데이터 아이템 데이터를 그냥 넣으면 자동으로 딥러닝에서 은닉층에서 알아서 유사한거 끼리 만들어진다는건가요?? 정확한 원리를 모르겠네요. 그냥 신경망처럼 묶여있는거 같은데 원리는 정확히 알 수 가 없네요
- 머신러닝
- 딥러닝
- 추천-시스템
- 인공지능(ai)
- ai-활용-(ax)
173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
모든 직장인을 위한 누구나 이해할 수 있는 인공지능
유저 데이터 아이템 데이터를 그냥 넣으면 자동으로 딥러닝에서 은닉층에서 알아서 유사한거 끼리 만들어진다는건가요?? 정확한 원리를 모르겠네요. 그냥 신경망처럼 묶여있는거 같은데 원리는 정확히 알 수 가 없네요
미해결
LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
requirements.txt 설치하는 파일 다시 좀 업데이트 해주셨으면 좋겠습니다.
미해결
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
급합니다. 완강 챌린지로 결제를 했는데, 강의 자료와 소스 코드 모두 빈 파일이 다운받아 지는게 맞나요? 압축을 풀어도 그렇네요 (정확하게는 강의 자료는 OT pdf 파일 하나 뿐입니다) 좀 급한 문제라 빠르게 답변 주시면 감사하겠습니다
미해결
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 6장.ipynb 받은 파일에 있는 소스코드로 학습 진행 후, 시각화를 해보는데 결과가 너무 안 좋게 나옵니다... (위 2회 실행 결과) 6장.ipynb에 따로 코드를 수정하지는 않았고 강의 영상 보면서 순서대로 실행만 시켜본 상태인데.. (추가) 바로 밑에 딥러닝을 적용한 추천시스템 학습에 대한 결과 그래프도 안좋아요. (추가)딥러닝에 변수 추가하기 어디 잘못된거나, 사전에 뭔가 따로 처리해줘야 하는게 있나요?
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
죄송합니다. 제가 이제 공부를 시작하는 사람이라 바보 같은 질문이어도 이해 부탁드립니다. 코드랑 PDF는 잘 보이는데 무비렌즈 데이터 파일은 따로 받아야 되나요? 제가 못 찾는 것일까요?
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
코드 공유를 하셨다고 하여 다운받아도 빈 zip파일이라고 뜨네요. 확인 부탁드립니다.
미해결
LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
YouTubeSearchTool 사용시 requests.exceptions.HTTPError: 403 Client Error:Forbidden for url: https://api.ydc-index.io/search?query = 에러가 납니다.
미해결
LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
from selenium.webdriver.common.by import By economy = driver.find_element(By.CSS_SELECTOR,'#gnbContent > div > ul > li:nth-child(4) > a > span') economy economy.click() driver.implicitly_wait(5) 시 화면이 공백으로 나오네요
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
안녕하세요. 좋은 강의 감사합니다. 직접 타이핑 해보라는 의미에서 코드 공유가 어렵다고 하셨는데요. 아래 글들을 보니 많은 분들이 코드 공유를 요청하셨습니다. 시간 부족으로 눈으로만 학습하게 되는데, 직접 코랩에서 해볼 수 있도록 다시 한번 코드 공유 고려해 주시면 감사하겠습니다. 부탁드려요!
미해결
LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
안녕하세요. 강의 듣던 중에 제목과 다른 영상이 있어서 문의 드려요. 섹션 5 - 프로젝트 2 "Youtube 동영상 댓글분석 - LLM 모델로 감성 분류 및 평점 예측" 동영상이 "Youtube 상품 리뷰 영상에서 상품정보를 추출, 요약" 과 동일한 영상입니다. 잘못 업로드 된거 같아요 확인 부탁드립니다.
미해결
LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
안녕하세요, 선생님 강의 잘 듣고 있습니다. 공유 해 주신 코드를 실행 할 때 LLM 기능 사용할 때 에러가 발생되서 실행이 되지 않습니다. 에러코드 첨부 드립니다. --------------------------------------------------------------------------- RateLimitError Traceback (most recent call last) Cell In[14], line 29 26 # Chain 27 llm_chain = prompt | llm | output_parser ---> 29 response = llm_chain.invoke({"text": text}) 31 response File ~\miniconda3\envs\study\Lib\site-packages\langchain_core\runnables\base.py:2499, in RunnableSequence.invoke(self, input, config) 2497 try: 2498 for i, step in enumerate(self.steps): -> 2499 input = step.invoke( 2500 input, 2501 # mark each step as a child run 2502 patch_config( 2503 config, callbacks=run_manager.get_child(f"seq:step:{i+1}") 2504 ), 2505 ) 2506 # finish the root run 2507 except BaseException as e: 생략 ~ 해결 방법이 있을까요?
미해결
LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
찾아봤는데 못찾겠어서 질문 드립니다,,,,
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
merged_ratings = pd.merge(x_train, users) 문장을 실행하면 아래와 같은 Error가 출력됩니다. "No common columns to perform merge on. " pandas.errors.MergeError: No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False 인덱스에 해당하는 부분을 컬럼으로 만들어 주어도 merge가 안되네요
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
File "<input>", line 1, in <module> File "C:/Users/jungsuk.hahn/PycharmProjects/recommendation_system/01_lecture.py", line 158, in score y_pred = np.array([model(user, movie) for (user, movie) in id_pairs]) File "C:/Users/jungsuk.hahn/PycharmProjects/recommendation_system/01_lecture.py", line 158, in <listcomp> y_pred = np.array([model(user, movie) for (user, movie) in id_pairs]) File "<string>", line 3, in cf_gender AttributeError: 'int' object has no attribute 'loc' 위와 같은 error 발생합니다.
미해결
LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
안녕하세요. 강사님, 실습 라이브러리 설치하기 (requirements.txt) 위해서 어느 폴더에 자료를 저장해야하나요? 가상환경 study로 들어가서 서브로 디렉토리를 따로 만들어야하나요? 아니면 C: drive 개인폴더에 자료저장 공간을 임의로 만들어서 진행해도 되는지요?
미해결
[개념부터 실습까지] 추천 시스템 입문편
구글 코랩이 아니라 개인 환경에서 진행하려고 합니다. 필요한 패키지정보가 있는 requirements.txt 파일이 혹시 어디에 있을까요?
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
안녕하세요! 강의를 듣다 응용해보는 과정에서 질문이있습니다. 한번 학습시킨 모델에서 사용자의 데이터를 더 추가해서 동적으로 모델을 업데이트 시키고 싶습니다. 그래서 온라인학습을 진행하려고 하는데, sgd메서드에 데이터를 전달하여 업데이트를 진행하는 방식은 어떻게 생각하시는지 여쭤봐도되겠습니까? 감사합니다!
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
ean_rating = np.dot (sim_scores,movie_ratings) / sim_scores.sum() 이부분에서 sim_scores.sum()값은 항상 0이 아닌게 보장이 되는건가요? 직접 데이터를 생성해서 테스트 해보면 음수이거나 0일때도 있더라구요!... 데이터가 잘못된건지 아니면 0일수도 있는건지 궁금합니다.
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
안녕하세요! score를 실행할때마다 nan이 출력이되서 잘못쓴 부분이 있나 여러번 체크해봤는데 도저히 모르겠어서 질문남겨봅니다.. import pandas as pd import os import numpy as np from sklearn.model_selection import train_test_split # 사용자 u.user파일을 DataFrame으로 열기 base_src = './drive/MyDrive/RecoSys/Data' os.listdir('./drive/MyDrive/RecoSys/Data') ###### 데이터불러오기 ##### # os.path.join -> 경로 합치기 u_user_src = os.path.join(base_src,'u.user') u_cols = ['user_id','age', 'sex', 'occupation','zip_code'] users = pd.read_csv(u_user_src, sep='|', names = u_cols, encoding='latin-1') users = users.set_index('user_id') users.head() u_item_src = os.path.join(base_src,'u.item') i_cols = ['movie_id','title','release date','video release date','IMDB URL','unknown','Action','Adventure','Animation','Children\'s','Comedy','Crime','Documentary','Drama','Fantasy','FilmNoir','Horror','Musical','Mystery','Romance','Sci-Fi','Thriller','War','Western'] movies = pd.read_csv(u_item_src, sep='|', names = i_cols, encoding='latin-1') movies = movies.set_index('movie_id') movies.head() u_data_src = os.path.join(base_src,'u.data') r_cols = ['user_id', 'movie_id', 'rating', 'timestamp'] ratings = pd.read_csv(u_data_src, sep ='\t', names = r_cols, encoding='latin-1') # ratings = ratings.set_index('user_id') ratings.head() # 실제값과 예측값을 넣기 def RMSE(y_true, y_pred): return np.sqrt(np.mean((np.array(y_true) - np.array(y_pred)) **2 )) # # 모델별 RMSE를 계산 하는 함수 def score(model, neighbor_size=0): id_pairs = zip(x_test['user_id'], x_test['movie_id']) y_pred = np.array([model(user,movie,neighbor_size) for (user,movie) in id_pairs]) y_true=np.array(x_test['rating']) return RMSE(y_true,y_pred) # 데이터셋 만들기 x = ratings.copy() y = ratings['user_id'] x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.25,stratify=y) ratings_matrix = x_train.pivot(index = 'user_id', columns = 'movie_id', values = 'rating') # 코사인 유사도 계산 from sklearn.metrics.pairwise import cosine_similarity ## 코사인 유사도를 구하기 위해 rating값을 복제하고, 계산 시 Nan값 에러 대비를 위해 결측치를 0으로 대처 matrix_dummy = ratings_matrix.copy().fillna(0) ## 모든 사용자 간 코사인유사도를 구함 user_similarity = cosine_similarity(matrix_dummy,matrix_dummy) ## 필요한 값 조회를 위해 인덱스 및 칼럼명 지정 user_similarity = pd.DataFrame(user_similarity, index=ratings_matrix.index, columns=ratings_matrix.index) # Neighbor size를 정해서 예측치를 계산하는 함수 def CF_knn(user_id, movie_id, neighbor_size=0): if movie_id in ratings_matrix.columns: sim_scores = user_similarity[user_id].copy() movie_ratings= ratings_matrix[movie_id].copy() none_movie_ratings = movie_ratings[movie_ratings.isnull()].index # print(none_movie_ratings) moive_ratings = movie_ratings.dropna() sim_scores = sim_scores.drop(none_movie_ratings) # print(sim_scores) # 여기까지는 동일(0일 경우는 일반적인 cf) if neighbor_size == 0: mean_rating = np.dot(sim_scores,movie_ratings) / sim_scores.sum() else: # 나와 유사한 사람이 없는경우 if len(sim_scores)>1: # 5명을 10개로 나눌수 없으니까 최소값으로 해줘야한다 neighbor_size = min(neighbor_size,len(sim_scores)) sim_scores = np.array(sim_scores) movie_ratings = np.array(movie_ratings) # simscore가 작은 순서대로 작은 유저아이디를 넣는다 user_idx = np.argsort(sim_scores) sim_scores = sim_scores[user_idx][-neighbor_size:] ## sim_scores 즉, 유사도를 뽑아냈으면 무비평가값을 뽑아내 movie_ratings = movie_ratings[user_idx][-neighbor_size:] mean_rating = np.dot(sim_scores, movie_ratings) / sim_scores.sum() else: mean_rating = 3.0 # movie_id가 rating train pivot table에 포함되지 않을 경우 else: mean_rating = 3.0 return mean_rating # 정확도 계산 score(CF_knn,neighbor_size=30) #### 실제 주어진 사용자에 대해 추천을 받는 기능 구현(테스트 데이터와 훈련데이터를 만들필요가없다) #### ratings_matrix = ratings.pivot_table(values='rating', index = 'user_id', columns='movie_id') matrix_dummy = ratings_matrix.copy().fillna(0) user_similarity = cosine_similarity(matrix_dummy,matrix_dummy) user_similarity = pd.DataFrame(user_similarity,index = ratings_matrix.index, columns=ratings_matrix.index) def recom_movie(user_id, n_items, neighbor_size): # 해당 유저가 평가한 영화가 나온다 user_movie= ratings_matrix.loc[user_id].copy() for movie in ratings_matrix.columns: # 현재 영화평점이 null이 아닌 경우 -> 영화를 본경우는 추천 리스트에서 제외하기 위해 if pd.notnull(user_movie.loc[movie]): user_movie.loc[movie] = 0 else: user_movie.loc[movie] =CF_knn(user_id,movie,neighbor_size) movie_sort = user_movie.sort_values(ascending=False)[:n_items] recom_movie = movies.loc[movie_sort.index] recommendation = recom_movie['title'] return recommendation recom_movie(user_id = 729, n_items=5, neighbor_size=30) score(CF_knn,neighbor_size=30) + gpt한테 물어보니 none_rating_idx = movie_ratings[movie_ratings.isnull()].index moive_ratings = movie_ratings.dropna() sim_scores = sim_scores.drop(none_rating_idx) 이 부분을 movie_ratings = movie_ratings.dropna() sim_scores = sim_scores.loc[movie_ratings.index] 이렇게 변경해라해서 수정했더니 nan이 아닌 실수값이 나오기는 하는데 올바른 방법인지를 모르겠습니다. 그래도 같은 방법인거같긴 한데 어디서 차이가 발생하는건지 잘 모르겠습니다!
해결됨
(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
# Gender 기준 추천 def cf_gender(user_id,movie_id): if movie_id in rating_matrix.columns: # print(user_id) gender = users.loc[user_id]['sex'] if gender in g_mean[movie_id].index: gender_rating = g_mean[movie_id][gender] else: gender_rating = 3.0 # 훈련셋에 movie_id가 없을수도있다. 25%만 할당했기때문에 else: gender_rating = 3.0 return gender_rating score(cf_gender) 안녕하십니까! Gender기준 추천쪽에서 오류가 발생해서 질문드립니다. 이 부분에서 users는 942까지만 인덱스가 있는데, user_id는 943이 들어와서 ValueError: 943 is not in range 라는 오류가 발생하더라구요..! 예외처리를 따로 해줘야하는건가요?