Jaccard similarity binary options
Na Encyclopedia of Statistical Sciences, eu entendo que os atributos dicotômicos dada (binário: 1 presente 0) são variáveis, podemos formar uma tabela de contingência para dois objetos i e j de uma amostra: podemos calcular a partir desses valores os coeficientes de similaridade entre qualquer par De objetos, especificamente a fração de coeficiente de Jaccard e fração de coeficiente Russell e Rao. Quando calculados, esses coeficientes darão valores diferentes, mas não consigo encontrar nenhum recurso que explique por que eu deveria escolher um sobre o outro. É apenas porque, para alguns conjuntos de dados, a ausência simultânea de ambos os atributos (d) não transmite nenhuma informação pedida 13 de junho 13 às 21:24 Existem muitos desses coeficientes (a maioria é expressa aqui). Apenas tente meditar sobre quais são as conseqüências das diferenças nas fórmulas, especialmente quando você calcula uma matriz de coeficientes. Imagine, por exemplo, que os objetos 1 e 2 sejam semelhantes, pois os objetos 3 e 4 são. Mas 1 e 2 têm muitos dos atributos na lista, enquanto 3 e 4 possuem apenas alguns atributos. Neste caso, Russell-Rao (proporção de co-atributos para o número total de atributos em consideração) será alto para o par 1-2 e baixo para o par 3-4. Mas Jaccard (proporção de co-atributos para o número combinado de atributos, ambos os objetos têm probabilidade de que, se qualquer objeto tiver um atributo, ambos os tenham) será alto para ambos os pares 1-2 e 3-4. Este ajuste para o nível básico de saturação por atributos torna Jaccard tão popular e mais útil do que Russell-Rao. por exemplo. Em análise de cluster ou dimensionamento multidimensional. Você pode, em certo sentido, refinar o ajuste acima, selecionando a medida Kulczynski-2, que é a probabilidade média aritmética de que, se um objeto tiver um atributo, o outro objeto também possui: (frac frac) 2 Aqui a base (ou o campo ) De atributos para os dois objetos não é agrupado, como no Jaccard, mas é próprio para cada um dos dois objetos. Conseqüentemente, se os objetos diferem muito sobre o número de atributos que possuem e todos os seus atributos que o objeto mais pobre compartilha com o mais rico, o Kulczynski será alto, enquanto Jaccard será moderado. Ou você poderia preferir calcular a probabilidade média geométrica de que, se um objeto tiver um atributo, o outro objeto também o possui, o que produz a medida Ochiai: sqrt frac. Porque o produto aumenta mais do que a soma quando apenas um dos termos cresce, Ochiai será realmente alto Somente se ambas as duas proporções (probabilidades) forem altas, o que implica que a Ochiai deve ser considerado similar, os objetos devem compartilhar as grandes partes de seus atributos. Em suma, Ochiai restringe a semelhança se b e c são desiguais. Ochiai é, de fato, a medida de similaridade do coseno (e Russell-Rao é a semelhança do produto ponto). É apenas porque, para alguns conjuntos de dados, a ausência simultânea de ambos os atributos (d) não transmite qualquer informação. Falando em medidas de similaridade, não se deve misturar atributos dicotômicos nominais (por exemplo, sexo feminino, masculino) com atributos binários (presente vs ausente). O atributo binário não é simétrico (em geral), - se você e eu compartilhamos uma característica, é a base para nos chamar de forma semelhante se você e eu faltem a característica, pode ou não ser considerado evidência de similaridade, dependendo da Contexto do estudo. Portanto, o tratamento divergente de d é possível. Observe também que, se você deseja calcular a semelhança entre objetos com base em 1 atributos nominais (dicotômicos ou politônicos), recode cada uma dessas variáveis no conjunto de variáveis binárias falsas. Então, a medida de similaridade recomendada para calcular será Dice (que, quando calculado para 1 conjunto de variáveis dummy, é equivalente a Ochiai e Kulczynski-2). Respondeu 17 de junho 13 às 9:45 A utilidade do coeficiente de Tanimoto em relação à precisão tradicional (ou seja, Russell-Rao) é evidente na análise de imagem, ao comparar uma segmentação com um padrão ouro. Considere estas duas imagens: em cada uma dessas imagens que são máscaras binárias, temos dois objetos do mesmo tamanho, mas colocados em locais ligeiramente diferentes, e queremos avaliar até que ponto esses objetos são idênticos em forma e posição, avaliando a sobreposição . Normalmente, um (por exemplo, a máscara roxa) é uma segmentação (produzida por um algoritmo de computador), e. Isso poderia ser uma tentativa de localizar o coração a partir de uma imagem médica. O outro (por exemplo, verde) é o padrão de ouro (isto é, o coração, como identificado por um especialista em especialista). Onde há cor branca, as duas formas se sobrepõem. Os pixels pretos são de fundo. As duas imagens são idênticas (ou seja, o resultado do algoritmo de segmentação, bem como o padrão-ouro, são iguais em ambas as imagens), com exceção de um grande preenchimento de fundo na segunda imagem (por exemplo, isso pode representar duas experiências com duas diferentes Máquinas de raios-x, onde a 2ª máquina tinha um raio mais largo que abrange mais área do corpo, mas, de outra forma, o tamanho do coração é o mesmo em ambos os conjuntos de imagens). Claramente, uma vez que a segmentação e o padrão-ouro em ambas as imagens são idênticos, se avaliarmos a precisão da segmentação em relação ao padrão-ouro, gostaríamos que nossa métrica produza o mesmo resultado de precisão em ambas as experiências. No entanto, se tentarmos avaliar a qualidade da segmentação usando a abordagem Russel-Rao, obteríamos uma precisão equivocadamente alta para a imagem certa (perto de 100), porque os pixels de fundo identificados corretamente como pixels de fundo contribuem para a precisão geral de Os conjuntos e os pixels de fundo são representados desproporcionalmente no segundo conjunto. Os objetos cuja sobreposição queremos avaliar na segmentação médica são muitas vezes manchas minúsculas em um fundo maciço, então isso não é muito útil para nós. Além disso, isso levaria a problemas se estivéssemos tentando comparar a precisão de um algoritmo de segmentação com outro, e os dois foram avaliados em imagens de tamanho diferente (ou, de forma equivalente, em diferentes escalas). O tamanho de escala da imagem incorporada não deve fazer diferença na avaliação de uma segmentação em relação a um padrão ouro. Em contrapartida, o coeficiente de tanimoto não se preocupa com os pixels de fundo, tornando-o invariante à escala. Portanto, no que diz respeito ao coeficiente de tanimoto, a semelhança desses dois conjuntos será idêntica, tornando-se uma métrica de similaridade muito mais útil para que possamos usar para avaliar a qualidade de um algoritmo de segmentação. Respondido 25 de julho 16 às 0: 14Apartiza de cartão de cartas A semelhança de Jaccard (Jaccard 1902, Jaccard 1912) é um índice comum para variáveis binárias. É definido como o quociente entre a interseção e a união das variáveis comparadas entre dois objetos. Na equação d JAD é a distância Jaccard entre os objetos i e j. Para dois registros de dados com n variáveis binárias y o índice de variável k varia de 0 a n -1. Quatro combinações diferentes entre y i, k e y j, k podem ser distinguidas ao comparar variáveis binárias. Essas combinações são (00), (01), (10) e (11). As somas dessas combinações podem ser agrupadas por: Como cada variável emparelhada pertence a um desses grupos, pode-se ver facilmente que: como a semelhança Jaccard é baseada na presença conjunta, J 00 é descartado. A dissimilaridade Jaccard é definida como d JAD 1- d JAS. Em alguns casos, a semelhança de Jaccard é calculada como d JAS 2 d BCD (1 d BCD). Onde d BCD é a dissimilaridade de BrayCurtis. Esta equação não reduz valores em estados binários. Assim, os resultados são diferentes ao usar, por um lado, uma matriz de presença e, por outro lado, uma matriz de contagem. Os resultados são os mesmos, quando a matriz de contagem é convertida previamente em uma matriz binária. A semelhança Jaccard ou o coeficiente de similaridade de Jaccard é freqüentemente chamado de índice Jaccard. De qualquer forma, o termo índice Jaccard às vezes é usado para a dissimilaridade Jaccard, enquanto a dissimilaridade Jaccard às vezes é chamada de distância Jaccard. Pode-se observar que os termos de semelhança de Jaccard e a dissimilaridade de Jaccard não são precisamente separados e às vezes parecem ser usados como sinônicos ou confusos, embora os resultados representem significados opostos. Assim, deve-se verificar cuidadosamente a intenção da análise. A semelhança de Jaccard pode ser usada, quando interceptada em diferenças binárias entre dois ou mais objetos. Especialmente em pesquisas de pesquisa ecológica, muitas vezes se concentram na presença de vários sites. Quando interessados em caracterizar os sites comparados pela possibilidade de as espécies se instalar, as abundâncias são muitas vezes insignificantes. O algoritmo controla se a matriz de entrada de dados é retangular ou não. Caso contrário, a função retorna FALSE e uma matriz de saída definida, mas vazia. Quando a matriz é retangular, a semelhança de Jaccard será calculada. Portanto, as dimensões das respectivas matrizes da matriz de saída são definidas e os títulos das linhas e das colunas são definidos. Como o resultado é uma matriz quadrada, que é espelhada ao longo da diagonal, apenas valores para uma parte triangular e a diagonal são computados. Quando ocorrem erros durante a computação, a função retorna FALSE. Por razões práticas, a implementação do algoritmo não necessita necessariamente de dados binários verdadeiros. Ele distingue se um valor é 0 ou dentro de um determinado limite perto dele. Neste caso, será interpretado como FALSO lógico. por exemplo. ausência. Os valores que são maiores do que o limite dado são interpretados como verdadeiros VERDADEIROS. por exemplo. presença. Assim, é possível sem uma preparação adicional passar uma matriz de contagem para a função. Como o limite dado afeta todos os valores igualmente, ele não altera sua característica métrica. Para calcular a dissimilaridade de Jaccard, a matriz de semelhança de Jaccard é calculada primeiro e posteriormente transformada. Para uma matriz de dados aInputMatrix do tipo t2dVariantArrayDouble. Povoada com: Sabemos que Jaccard (calculado entre duas colunas de dados binários bf) é frac, enquanto Rogers-Tanimoto é frac, onde um - número de linhas onde as duas colunas são 1 b - número de linhas onde este e não o outro Coluna é 1 c - número de linhas onde a outra e não esta coluna é 1 d - número de linhas onde ambas as colunas são 0 abcdn, o número de linhas em bf bf XXA é a matriz simétrica quadrada de entre todas as colunas. Bf (não X) (não X) D é a matriz simétrica quadrada de d entre todas as colunas (não X está convertendo 1-0 e 0-1 em X). Então, frac é a matriz simétrica quadrada de Jaccard entre todas as colunas. Frac frac é a matriz simétrica quadrada de Rogers-Tanimoto entre todas as colunas. Verifiquei numericamente se essas fórmulas dão resultados corretos. Eles fazem. Atualização. Você também pode obter matrizes bf B e bf C: bf B 1X-A, onde 1 denota matriz de uma, dimensionada como bf X. bf B é a matriz quadrática assimétrica de b entre todas as colunas seu elemento ij é o número de linhas em Bf X com 0 na coluna i e 1 na coluna j. Consequentemente, bf CB. Matrix bf D também pode ser calculado desta forma, é claro: n bf-A-B-C. Sabendo matrices bf A, B, C, D, você é capaz de calcular uma matriz de qualquer coeficiente de similaridade (dis) combinado inventado para dados binários. As frações não fazem sentido para as matrizes, a menos que comutam: a multiplicação à direita por um inverso, de outra forma, dará um resultado diferente do que se multiplicar à esquerda. Além disso, geralmente não é o caso de um produto de duas matrizes simétricas ser simétrico. Talvez você diga uma divisão componente a componente. Você poderia consertar sua notação para refletir o que você pretende ser a fórmula correta ndash whuber 9830 7 de fevereiro 13 às 7:19. Não uso inversão nem multiplicação de matrizes quadradas simétricas. X é a matriz de dados binários e X39X é sua matriz SSCP. Não X é X onde 1-gt0, 0-gt1. E qualquer divisão aqui é divisão elementar. Por favor, corrija minha notação se você vê que não é apropriado. Ndash ttnphns 7 de fevereiro às 7:29 A solução acima não é muito boa se X for escasso. Porque tomar X formará uma matriz densa, levando grande quantidade de memória e computação. Uma solução melhor é usar a fórmula Jaccardi, j common (i j - common). Com matrizes esparsas você pode fazê-lo da seguinte maneira (observe que o código também funciona para matrizes não esparsas): Isso pode ou não ser útil para você, dependendo de suas necessidades. Supondo que você esteja interessado em semelhança entre atribuições de agrupamento: O Coeficiente de Similaridade Jaccard ou Jaccard Index pode ser usado para calcular a similaridade de duas atribuições de agrupamento. Dado os rótulos L1 e L2. Ben-Hur, Elisseeff e Guyon (2002) mostraram que o índice Jaccard pode ser calculado usando produtos ponto de uma matriz intermediária. O código abaixo aproveita para calcular rapidamente o Índice Jaccard sem ter que armazenar as matrizes intermediárias na memória. O código está escrito em C, mas pode ser carregado em R usando o comando sourceCpp. Respondeu 7 de outubro 15 às 5:47 Sua resposta 2017 Stack Exchange, IncSo eu tenho uma enorme matriz 3D que é uma varredura de alguns tecidos. Eu preciso ser capaz de substituir todas as entradas não-zero nesta matriz com 1 e manter todos os zeros iguais. Como posso fazer isso. Então, uma vez que fiz isso, preciso calcular o coeficiente de semelhança Jaccard (JSC) que posso usar matlabs construído nas funções union () e intersect (). Eu só preciso encontrar uma maneira de encontrar o número de voxels no tecido (ou seja, se minha matriz é x. Preciso encontrar x) Qualquer ajuda é apreciada em 22 de janeiro às 14:46
Comments
Post a Comment