추천 평가

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

범주: Machine Learning/평가

참고

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

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

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

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

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

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

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

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

  • 사용자-항목-등급 삼중 쌍
  • 사용자 및 권장 항목
  • 사용자 및 관련 사용자
  • 항목 및 관련 항목

이 모듈은 생성 되는 예측의 유형에 따라 적절 한 성능 메트릭도 적용 합니다.

.NET 개발 팀에서이 자습서의 권장 사항 시스템을 빌드하는 데 필요한 종단 간 환경에 대해 알아야 하는 모든 사항을 알아보세요. 응용 프로그램에서 Azure Machine Learning를 호출 하는 방법에 대 한 예제 코드 및 설명이 포함 되어 있습니다.

Azure Machine Learning를 사용 하 여 .NET 응용 프로그램에 대 한 권장 엔진 빌드

추천 평가를 구성 하는 방법

추천 평가 모듈은 추천 모델의 예측 출력과 해당 하는 "그라운드" 데이터를 비교 합니다. 예를 들어 Matchbox 추천 점수 매기기 모듈은 추천 평가 를 사용 하 여 분석할 수 있는 점수가 매겨진 데이터 집합을 생성 합니다.

요구 사항

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

테스트 데이터 세트

테스트 데이터 집합사용자-항목-등급 삼중 쌍 형식의 "그라운드" 데이터를 포함 합니다.

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

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

점수가 매겨진 데이터 집합 에는 권장 사항 모델에 의해 생성 된 예측이 포함 됩니다.

이 두 번째 데이터 집합의 열은 점수 매기기 중 수행 된 예측의 종류에 따라 달라 집니다. 예를 들어 점수가 매겨진 데이터 집합에는 다음이 포함 될 수 있습니다.

  • 사용자, 항목 및 사용자가 항목에 대해 제공 하는 등급
  • 권장 되는 사용자 및 항목 목록
  • 사용자와 유사한 사용자를 가진 사용자 목록
  • 항목 목록과 함께 smiliar 항목

메트릭

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

예측 등급 평가

예측 등급을 평가할 때 점수가 매겨진 데이터 집합 ( 추천 평가 를 위한 두 번째 입력)은 사용자-항목-등급 삼중 쌍 을 포함 해야 하며, 이러한 요구 사항을 충족 해야 합니다.

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

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

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

중요

평가에 성공 하려면 열 이름이 User 각각, 및 여야 합니다 Item Rating .

추천 평가 는 그라운드 진위 데이터 집합의 등급을 점수가 매겨진 데이터 집합의 예측 등급과 비교 하 고 mae ( 평균 절대 오차 )와 rmse ( 제곱 평균 오차 )를 계산 합니다.

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

항목 권장 사항 평가

항목 권장 사항을 평가할 때 각 사용자에 대해 권장 되는 항목을 포함 하는 점수가 매겨진 데이터 집합을 사용 합니다.

  • 데이터 집합의 첫 번째 열은 사용자 id를 포함 해야 합니다.

  • 모든 후속 열에는 해당 항목을 사용자에 게 어떤 관련성에 따라 정렬 하 여 해당 하는 권장 항목 식별자가 포함 되어야 합니다.

    이 데이터 집합을 연결 하기 전에 가장 관련성이 높은 항목을 먼저 가져오도록 데이터 집합을 정렬 하는 것이 좋습니다.

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

중요

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

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

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

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

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

  • 모든 후속 열에는 예측 관련 사용자에 대 한 식별자가 포함 됩니다. 관련 사용자는 realtionship (가장 관련 된 사용자 먼저)의 강도에 따라 정렬 됩니다.

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

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

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

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

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

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

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

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

  5. 점수가 매겨진 데이터 집합의 모든 사용자에 대해 NDCG 값을 평균 합니다.

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

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

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

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

  • 이후의 모든 열에는 예측 관련 항목에 대 한 식별자가 관심 항목에 대 한 관련성 순서 대로 정렬 되어 있어야 합니다 (가장 관련 된 항목 먼저).

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

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

추천 평가 는 맨해튼 (L1 sim NDCG) 및 유클리드 (L2 sim NDCG) 거리를 기준으로 평균 정규화 된 NDCG(할인 된 누적 게인)를 계산 하 고 출력 데이터 집합에서 두 값을 반환 합니다. 관련 항목에 대 한 실제 그라운드는 없으므로 추천 평가 는 다음과 같이 평균 NDCGs를 계산 합니다.

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

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

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

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

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

  5. 점수가 매겨진 데이터 집합에서 관심 있는 모든 항목에 대 한 NDCG 값의 평균입니다.

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

따라서 평가 하려면 추천 점수 매기기 모듈이 테스트 데이터 집합에서 그라운드 등급을 가진 관련 항목만 예측 해야 합니다.

예제

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

예상 입력

이름 Type Description
테스트 데이터 세트 데이터 테이블 테스트 데이터 세트
점수가 매겨진 데이터 집합입니다. 데이터 테이블 점수가 매겨진 데이터 집합입니다.

모듈 매개 변수

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

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

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

출력

이름 Type Description
메트릭 데이터 테이블 평가 메트릭 테이블입니다.

예외

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

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

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

참고 항목

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