Python'da sınıf i̇çi korelasyon katsayısı nasıl hesaplanır?


Öğelerin veya konuların farklı değerlendiriciler tarafından güvenilir bir şekilde derecelendirilip derecelendirilemeyeceğini belirlemek için sınıf içi korelasyon katsayısı (ICC) kullanılır.

Bir ICC’nin değeri 0’dan 1’e kadar değişebilir; 0, değerlendiriciler arasında hiçbir güvenilirliğin olmadığını, 1 ise mükemmel güvenilirliği gösterir.

Python’da ICC’yi hesaplamanın en kolay yolu penguin istatistik paketindeki penguin.intraclass_corr() işlevini kullanmaktır ve bu işlev aşağıdaki sözdizimini kullanır:

pengouin.intraclass_corr(veriler, hedefler, değerlendiriciler, notlar)

Altın:

  • veri: Veri çerçevesinin adı
  • hedefler: “Hedefleri” içeren sütunun adı (not edilenler)
  • gözden geçirenler: Gözden geçirenleri içeren sütunun adı
  • notlar: Notları içeren sütunun adı

Bu eğitimde bu özelliğin kullanımına ilişkin pratik bir örnek sunulmaktadır.

Adım 1: Penguin’i yükleyin

Öncelikle Penguin’i kurmanız gerekiyor:

 pip install penguin

2. Adım: Verileri oluşturun

Dört farklı yargıcın altı farklı üniversiteye giriş sınavının kalitesini değerlendirmesinin istendiğini varsayalım. Jürinin puanlarını tutmak için aşağıdaki veri çerçevesini oluşturabiliriz:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' exam ': [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6,
                            1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6],
                   ' judge ': ['A', 'A', 'A', 'A', 'A', 'A',
                             'B', 'B', 'B', 'B', 'B', 'B',
                             'C', 'C', 'C', 'C', 'C', 'C',
                             'D', 'D', 'D', 'D', 'D', 'D'],
                   ' rating ': [1, 1, 3, 6, 6, 7, 2, 3, 8, 4, 5, 5,
                              0, 4, 1, 5, 5, 6, 1, 2, 3, 3, 6, 4]})

#view first five rows of DataFrame
df. head ()

	exam judge rating
0 1 A 1
1 2 A 1
2 3 A 3
3 4 To 6
4 5 A 6

Adım 3: Sınıf içi korelasyon katsayısını hesaplayın

Daha sonra sınıf içi korelasyon katsayısını hesaplamak için aşağıdaki kodu kullanacağız:

 import penguin as pg

icc = pg. intraclass_corr (data=df, targets=' exam ', raters=' judge ', ratings=' rating ')

icc. set_index (' Type ')

        Description ICC F df1 df2 pval CI95%
Kind							
ICC1 Single raters absolute 0.505252 5.084916 5 18 0.004430 [0.11, 0.89]
ICC2 Single random raters 0.503054 4.909385 5 15 0.007352 [0.1, 0.89]
ICC3 Single fixed raters 0.494272 4.909385 5 15 0.007352 [0.09, 0.88]
ICC1k Average raters absolute 0.803340 5.084916 5 18 0.004430 [0.33, 0.97]
ICC2k Average random raters 0.801947 4.909385 5 15 0.007352 [0.31, 0.97]
ICC3k Average fixed raters 0.796309 4.909385 5 15 0.007352 [0.27, 0.97]

Bu işlev aşağıdaki sonuçları döndürür:

  • Açıklama: Hesaplanan ICC türü
  • ICC: Sınıf içi korelasyon katsayısı (ICC)
  • F: ICC’nin F değeri
  • df1, df2: F değeriyle ilişkili serbestlik derecesi
  • pval: F değeriyle ilişkili p değeri
  • CI95%: ICC için %95 güven aralığı

Burada hesaplanan altı farklı ICC’nin bulunduğunu unutmayın. Aslında, aşağıdaki varsayımlara dayanarak ICC’yi hesaplamanın birkaç yolu vardır:

  • Model: tek yönlü rastgele etkiler, iki yönlü rastgele etkiler veya iki yönlü karışık etkiler
  • İlişki türü: tutarlılık veya mutlak anlaşma
  • Birim: tek değerlendirici veya değerlendiricilerin ortalaması

Bu varsayımların ayrıntılı bir açıklaması için lütfen bu makaleye bakın.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir