다음을 통해 공유


추천 평가

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

추천 모델 예측의 정확도 계산

범주: Machine Learning/평가

참고

적용 대상: Machine Learning Studio(클래식) 전용

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 추천 평가 모듈을 사용하여 권장 사항 모델에서 수행한 예측의 정확도를 측정하는 방법을 설명합니다. 이 모듈을 사용하여 다음과 같은 네 가지 종류의 권장 사항을 평가할 수 있습니다.

  • 지정된 사용자와 항목에 대해 예측한 등급

  • 지정된 사용자에 대해 추천한 항목

  • 지정한 사용자와 관련이 있는 것으로 확인된 사용자 목록

  • 지정한 항목과 관련이 있는 것으로 확인된 항목 목록

권장 사항 모델을 사용하여 예측을 만들 때 지원되는 각 예측 유형에 대해 약간 다른 결과가 반환됩니다. 추천 평가 모듈은 점수가 매기된 데이터 세트의 열 형식에서 예측의 종류를 추론합니다. 예를 들어 점수가 매긴 데이터 세트에는 다음이 포함될 수 있습니다.

  • user-item-rating triples
  • 사용자 및 권장 항목
  • 사용자 및 관련 사용자
  • 항목 및 관련 항목

해당 모듈은 만들어지는 예측의 유형에 따라 적절한 성능 메트릭도 적용합니다.

.NET 개발 팀의 이 자습서에서 권장 사항 시스템을 빌드하는 종단 간 환경에 대해 알아야 할 모든 것을 알아봅니다. 샘플 코드와 애플리케이션에서 Machine Learning 호출하는 방법에 대한 설명이 포함되어 있습니다.

Machine Learning 사용하여 .NET 애플리케이션에 대한 권장 엔진 빌드

추천 평가를 구성하는 방법

추천 평가 모듈은 권장 사항 모델의 예측 출력을 해당 "근거리" 데이터와 비교합니다. 예를 들어 매치박스 추천 점수 매기기 모듈은 평가 추천을 사용하여 분석할 수 있는 점수가 매표된 데이터 세트를 생성합니다.

요구 사항

추천 평가 에는 다음 데이터 세트가 입력으로 필요합니다.

테스트 데이터 세트

테스트 데이터 세트에는 사용자-항목 등급 트리플 형식의 "접지 진실" 데이터가 포함됩니다.

사용자 항목 등급 트리플이 포함된 데이터 세트가 이미 있는 경우 RecommenderSplit 옵션을 사용하여 데이터 분할 모듈을 적용하여 기존 데이터 세트에서 학습 데이터 세트 및 관련 테스트 집합을 만들 수 있습니다.

점수가 매겨진 데이터 집합입니다.

점수가 매긴 데이터 세트에는 권장 사항 모델에서 생성된 예측이 포함됩니다.

이 두 번째 데이터 세트의 열은 점수 매기기 중에 수행한 예측의 종류에 따라 달라집니다. 예를 들어 점수가 매긴 데이터 세트에는 다음 중 일부가 포함될 수 있습니다.

  • 사용자가 항목에 대해 제공할 수 있는 사용자, 항목 및 등급
  • 권장되는 사용자 및 항목 목록
  • 사용자와 비슷한 사용자 목록
  • smiliar 항목과 함께 항목 목록

메트릭

모델에 대한 성능 메트릭은 입력 유형을 기반으로 생성됩니다. 자세한 내용은 다음 섹션을 참조하세요.

예측 등급 평가

예측 등급을 평가할 때 점수가 매겨진 데이터 세트( 추천 평가에 대한 두 번째 입력)에는 사용자 항목 등급 트리플이 포함되어야 하며 다음 요구 사항을 충족해야 합니다.

  • 데이터 세트의 첫 번째 열에는 사용자 식별자가 포함됩니다.

  • 두 번째 열에는 항목 식별자가 포함됩니다.

  • 세 번째 열은 해당 사용자-항목 등급이 포함됩니다.

중요

성공적으로 평가하려면 열 이름이 각각 User, Item, Rating이어야 합니다.

Evaluate Recommender 는 지상 진리 데이터 세트의 등급을 점수가 매길 데이터 세트의 예측 등급과 비교하고 MAE( 평균 절대 오차 ) 및 RMSE( 평균 제곱 오차 )를 계산합니다.

추천 평가의 다른 매개 변수는 등급 예측 평가에 영향을 주지 않습니다.

항목 권장 사항 평가

항목 권장 사항을 평가할 때 각 사용자에 대한 권장 항목이 포함된 점수가 매기된 데이터 세트를 사용합니다.

  • 데이터 세트의 첫 번째 열에는 사용자 식별자가 포함되어야 합니다.

  • 모든 후속 열에는 해당 항목이 사용자에게 얼마나 관련성에 있는지에 따라 정렬한 해당 권장 항목 식별자가 포함되어야 합니다.

    이 데이터 세트를 연결하기 전에 가장 관련성이 큰 항목이 먼저 오도록 데이터 세트를 정렬하는 것이 좋습니다.

추천 평가의 다른 매개 변수는 항목 권장 사항 평가에 영향을 주지 않습니다.

중요

추천 평가가 작동하려면 열 이름이 , Item 1Item 2Item 3 등이어야 User합니다.

추천 평가는NDCG(정규화된 평균 정규화된 누적 게인)를 계산하고 출력 데이터 세트에 반환합니다.

권장 항목에 대한 실제 "근거"를 알 수 없으므로 Evaluate Recommender 는 테스트 데이터 세트의 사용자 항목 등급을 NDCG 계산의 이익으로 사용합니다. 평가를 수행하려면 추천 점수 매기기 모듈이 테스트 데이터 집합에서 실제 등급이 지정된 항목에 대한 추천만 생성해야 합니다.

관련 사용자의 예측 평가

관련 사용자의 예측을 평가할 때 관심 있는 각 사용자에 대한 관련 사용자가 포함된 점수가 매긴 데이터 세트를 사용합니다.

  • 첫 번째 열에는 관심 있는 각 사용자의 식별자가 포함되어야 합니다.

  • 모든 후속 열에는 예측된 관련 사용자의 식별자가 포함됩니다. 관련 사용자는 현실화의 강도(대부분의 관련 사용자 우선)에 따라 정렬됩니다.

  • 추천 평가가 작동하려면 열 이름이 , Related User 1, Related User 2Related User 3등이어야 User합니다.

원하는 사용자와 관련 사용자가 공통으로 등급을 지정해야 하는 항목의 최소 수를 설정하여 평가 시에 적용할 수 있습니다.

추천 평가에서는 맨해턴(L1 Sim NDCG) 및 유클리드(L2 Sim NDCG) 거리를 사용하여 평균 NDCG(Normalized Discounted Cumulative Gain)를 계산한 다음 출력 데이터 집합에 두 값을 모두 반환합니다. 관련 사용자에 대한 실제 근거는 없으므로 Evaluate Recommender 는 다음 절차를 사용하여 평균 NDCG를 계산합니다.

점수가 매겨진 데이터 집합에 포함된 원하는 각 사용자:

  1. 원하는 사용자와 고려 대상인 관련 사용자가 모두 등급을 지정한 테스트 데이터 집합의 모든 항목을 찾습니다.

  2. 이러한 항목의 등급에서 두 개의 벡터를 만듭니다. 하나는 관심 있는 사용자용이고 다른 하나는 고려 중인 관련 사용자용입니다.

  3. 이전 단계에서 생성한 두 등급 벡터의 맨해턴(L1) 또는 유클리드(L2) 거리 측면에서 벡터의 유사성으로 게인을 컴퓨팅합니다.

  4. 모든 관련 사용자의 게인을 사용하여 L1 Sim NDCG 및 L2 Sim NDCG를 컴퓨팅합니다.

  5. 점수가 매길 데이터 세트의 모든 사용자에 대한 NDCG 값의 평균을 계산합니다.

즉, 게인은 관심 있는 사용자(점수가 매표된 데이터 세트의 첫 번째 열에 있는 항목)와 지정된 관련 사용자(점수가 매기된 데이터 세트의 n번째 열에 있는 항목) 간의 유사성(정규화된 맨해튼 또는 유클리디안 거리)으로 계산됩니다. 이 사용자 쌍의 이득은 두 항목이 모두 원래 데이터(테스트 집합)에서 등급이 지정된 모든 항목을 사용하여 계산됩니다. 그런 다음 로그 할인을 사용하여 관심 있는 단일 사용자 및 모든 관련 사용자에 대한 개별 이익을 집계하여 NDCG를 계산합니다. 즉, 관심 있는 각 사용자(점수가 매기된 데이터 세트의 각 행)에 대해 하나의 NDCG 값이 계산됩니다. 마지막으로 보고된 숫자는 점수가 매겨진 데이터 세트(즉, 해당 행)에 관심이 있는 모든 사용자에 대한 산술 평균입니다.

즉, 평가를 수행하려면 추천 점수 매기기 모듈이 테스트 데이터 집합에서 실제 등급이 지정된 항목이 있는 관련 사용자만 예측해야 합니다.

관련 항목의 예측 평가

관련 항목의 예측을 평가할 때 관심 있는 각 항목에 대한 관련 항목이 포함된 점수가 매긴 데이터 세트를 사용합니다.

  • 첫 번째 열에는 관심 있는 항목에 대한 식별자가 포함되어야 합니다.

  • 모든 후속 열에는 예측된 관련 항목에 대한 식별자가 포함되어야 하며, 관심 항목과 관련된 항목(가장 먼저 관련된 항목)에 따라 순서가 지정됩니다.

  • 추천 평가가 작동하려면 열 이름이 , Related Item 1, Related Item 2Related Item 3등이어야 Item합니다.

원하는 항목과 관련 항목에 공통으로 등급을 지정해야 하는 사용자의 최소 수를 설정하여 평가 시에 적용할 수 있습니다.

추천 평가는 맨해튼(L1 Sim NDCG) 및 유클리드(L2 Sim NDCG) 거리를 기준으로 평균 정규화된 NDCG(누적 이득)를 계산하고 출력 데이터 세트의 두 값을 모두 반환합니다. 관련 항목에 대한 실제 근거는 없으므로 Evaluate Recommender 는 다음과 같이 평균 NDCG를 계산합니다.

점수가 매겨진 데이터 집합에 포함된 원하는 각 항목:

  1. 원하는 항목과 고려 대상인 관련 항목에 대해 모두 등급을 지정한 테스트 데이터 집합의 모든 사용자를 찾습니다.

  2. 이러한 사용자의 등급에서 두 벡터를 만듭니다. 벡터 중 하나는 원하는 항목용이고 다른 하나는 고려 대상인 관련 항목용입니다.

  3. 이전 단계에서 생성한 두 등급 벡터의 맨해턴(L1) 또는 유클리드(L2) 거리 측면에서 벡터의 유사성으로 게인을 컴퓨팅합니다.

  4. 모든 관련 항목의 게인을 사용하여 L1 Sim NDCG 및 L2 Sim NDCG를 컴퓨팅합니다.

  5. 점수가 매기된 데이터 세트의 모든 관심 항목에 대한 NDCG 값의 평균을 계산합니다.

즉, 게인은 관심 항목(점수가 매표된 데이터 세트의 첫 번째 열에 있는 항목)과 지정된 관련 항목(점수가 매표된 데이터 세트의 n번째 열에 있는 항목) 간의 유사성(정규화된 맨해튼 또는 유클리디안 거리)으로 계산됩니다. 이 항목 쌍의 이득은 원래 데이터(테스트 집합)에서 이러한 두 항목을 모두 평가한 모든 사용자를 사용하여 계산됩니다. 그런 다음 로그 할인을 사용하여 단일 관심 항목 및 모든 관련 항목에 대한 개별 이익을 집계하여 NDCG를 계산합니다. 즉, 관심 있는 각 항목(점수가 매기된 데이터 세트의 각 행)에 대해 하나의 NDCG 값이 계산됩니다. 마지막으로 보고된 숫자는 점수가 매겨진 데이터 세트(즉, 해당 행)에 관심 있는 모든 항목에 대한 산술 평균입니다.

따라서 평가하려면 추천 점수 매기기 모듈은 테스트 데이터 세트의 지상 진리 등급이 있는 관련 항목만 예측해야 합니다.

Machine Learning 권장 사항 모델을 사용하는 방법에 대한 예제는 Azure AI 갤러리를 참조하세요.

예상 입력

Name 유형 설명
테스트 데이터 세트 데이터 테이블 테스트 데이터 세트
점수가 매겨진 데이터 집합입니다. 데이터 테이블 점수가 매겨진 데이터 집합입니다.

모듈 매개 변수

Name 범위 Type 기본값 설명
쿼리 사용자 및 관련 사용자가 공통 등급을 지정해야 하는 최소 항목 수 >=1 정수 2 쿼리 사용자와 관련 사용자가 모두 등급을 지정해야 하는 최소 항목 수를 지정합니다.

이 매개 변수는 선택 사항입니다.
쿼리 항목 및 관련 항목에 공통 등급을 지정해야 하는 최소 사용자 수 >=1 정수 2 쿼리 항목 및 관련 항목에 모두 등급을 지정해야 하는 최소 사용자 수를 지정합니다.

이 매개 변수는 선택 사항입니다.

출력

Name 유형 설명
메트릭 데이터 테이블 평가 메트릭 테이블입니다.

예외

예외 설명
오류 0022 입력 데이터 세트에서 선택한 열의 수가 필요한 수와 같지 않으면 예외가 발생합니다.
오류 0003 하나 이상의 입력이 null이거나 비어 있으면 예외가 발생합니다.
오류 0017 지정한 열 중 하나 이상의 형식이 현재 모듈에서 지원되지 않으면 예외가 발생합니다.
오류 0034 지정된 사용자-항목 쌍에 대해 등급이 두 개 이상인 경우 예외가 발생합니다.
오류 0018 입력 데이트 세트가 올바르지 않으면 예외가 발생합니다.
오류 0002 하나 이상의 매개 변수를 구문 분석할 수 없거나 지정한 형식에서 대상 방법 유형에 필요한 형식으로 변환할 수 없으면 예외가 발생합니다.

Studio(클래식) 모듈과 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.

API 예외 목록은 Machine Learning REST API 오류 코드를 참조하세요.

참고 항목

Matchbox 추천 학습
Matchbox 추천 점수 매기기