데이터 집합에 고유 라이브러리가있는 유사성 행렬을 만들려고합니다. 방금 csv 파일을 고유 행렬로 읽었지만 matlab 고객으로 알고 있습니다. bsxfun 또는 유클리드 거리 계산에 의한 인스턴스 간의 거리를 정의하는 것과 같은 것을 찾고 있습니다. 솔루션이나 소스로 함수가 도움이 될 수있는 방법은 무엇입니까? 나? 귀하의 샘플을 가정방금 Eigen Matrix 대수 라이브러리를 사용하기 시작했고 데이터 집합, 제안의 유사성 행렬을 만들려고합니다.
1
A
답변
2
이 행렬 D에 행 방향으로 저장됩니다, 당신은 할 수 있습니다 :
VectorXd N = D.rowwise().squaredNorm();
MatrixXd S = N.replicate(1,n) + N.transpose().replicate(n,1);
S.noalias() -= 2. * D * D.transpose();
S = S.array().sqrt();
이것은 |x-y|²=x²+y²-2x'y
그 사실을 이용한다. noalias() 문은 에이 겐 (Eigen)에 최적화 된 것일 뿐이므로이 제품에서 앨리어싱의 위험이 없으므로 일시적인 조치가 필요하지 않습니다. .array() 문은 모든 함수가 계수에 따라 적용되는 배열 영역으로 전환합니다.
관련 문제
- 1. 선형 대수 라이브러리를 Boost :: Units와 결합하기
- 2. Eigen Dense Matrix 데이터 구조를 사용할 때 어떻게해야합니까?
- 3. 파이썬에서 Eigen 객체 사용하기
- 4. 시리얼 라이브러리를 사용하여 Eigen :: Matrix를 직렬화하기
- 5. Node.js 라이브러리를 효과적으로 사용하기
- 6. Eigen affine 변환을 Eigen isometry 변환으로 변환
- 7. Eigen
- 8. 고유 라이브러리를 사용하여 동적 행렬을 정의하는 방법은 무엇입니까?
- 9. Eigen to float에서 1 * 1 행렬을 변경하는 방법은 무엇입니까?
- 10. 행렬을 루비의 행렬로 변환합니다.
- 11. Eigen (3.2.5 버전)이 올바른 전치 행렬을 얻을 수없는 이유
- 12. 대수 오류가 데이터 세트
- 13. EIGEN에서지도 유형 행렬을 별도로 선언하고 초기화하십시오. 두 행렬을 배열에 매핑하려면 Stride와 함께 Eigen : Map을 사용하려고합니다.
- 14. 2D Eigen :: Tensor를 Eigen :: Matrix로 바꾸는 법
- 15. 하스켈 대수 데이터 형식
- 16. R 데이터 집합 거래 준비 데이터 집합
- 17. 차이 벡터로부터 비 유사성 행렬을 쉽게 생성하는 방법은 무엇입니까?
- 18. R에서 하위 집합 사용하기
- 19. Scriptaculous sortable matrix
- 20. 작은 행렬을 기반으로 행렬을 만들려면 어떻게해야합니까?
- 21. 대수 및 선형 축 스케일 사용하기
- 22. Matlab에서 데이터 집합, 유효성 검사 데이터 집합, 테스트 데이터 집합
- 23. eigen (corr)의 오류 : 'Correlation matrix circle plot'을 만들 때 'x'의 값이 무한하거나 누락 된 경우
- 24. Eigen에서 행렬을 확장하는 방법?
- 25. 가상 저장소를 만들려고합니다. (방금 C++을 배우기 시작했습니다.)
- 26. mysql의 단어 유사성/유사성
- 27. System.load와 라이브러리를 에이전트로 사용하기
- 28. Parceler 라이브러리를 직렬화로 사용하기
- 29. 안드로이드 라이브러리를 모듈로 사용하기
- 30. word2vec 및 장갑에 사용 된 유사성 데이터 집합과 같은 Biodomain의 데이터 집합
'Eigen' 라이브러리가 행렬 간의 유클리드 거리를 계산할 수 있다고 확신합니다. – fpe