Makine öğreniminde sınıflandırma modellerinin etkisini ölçmek için tıbbi yanlış negatifler nasıl kullanılır (ekli kod)

Kaynak: Data Pigeon

Bu makale hakkında 1500 kelime, Önerilen Okuma 5 dakika.

Bu makalede, tahmin sonuçlarının kalitesini ölçmek için makine öğreniminde tıbbi yanlış negatiflerin nasıl kullanıldığına bir göz atalım.

Son günlerde, yeni koroner pnömoni için "yanlış negatif" nükleik asit testi dikkat çekti. Sözde yanlış negatif, hastanın yeni koronavirüs ile enfekte olduğu, ancak nükleik asidin tespit edilmediği ve raporun negatif olduğu anlamına gelir. Bazı uzmanlar, herhangi bir nükleik asit testinin tespit oranının% 100'e ulaşamayacağını ve yanlış negatiflerin kaçınılmaz olduğunu analiz ettiler, bu da teknolojinin kendisinin sınırlamasıdır.

Makine Öğrenmesine aşina olan meraklılar için Yanlış Negatif (FN), hastanın enfekte olduğu, ancak yanlış tahmin nedeniyle tahmin edilen sonucun hastalıksız veya enfekte olmadığı anlamına gelir. Bu makalede, makine öğreniminde tahmin sonuçlarının kalitesini ölçmek için yanlış negatiflerin nasıl kullanıldığına bir göz atalım.

Burada "doğru veya yanlış" aslında (tıpta) tespitin doğru veya yanlış olduğunu, (makine öğrenmesinde) tahminin doğru veya yanlış olduğunu ifade eder.

Eğer biraz başın dönüyorsa, özetlemek için aşağıdaki tabloya bakman yeterli:

TP (Gerçek Pozitif): Hasta ve tespit / tahmin doğru

FN (yanlış negatif): Hasta, ancak yanlış tespit / tahmin nedeniyle hastalık yok şeklinde yanlış değerlendiriliyor

FP (yanlış pozitif): Hastalıklı değil, ancak tespit / tahmin hatalarından dolayı hastalıklı olarak yanlış değerlendiriliyor

TN (Gerçek Negatif): Tek başına hastalık yok ve doğru tespit / tahmin

O zaman makine öğreniminde tahmin değerinin pozitif (1) ve negatif (0) olarak yargılanması problemi, tipik bir ikili sınıflandırma problemidir. Bunu çözmek için birçok makine öğrenimi algoritmasını kullanabiliriz. Burada örnek olarak sadece Naif Bayes kullanılmıştır.

Naive Bayes, bilinmeyen sınıfları tahmin etmek için Bayes olasılık teoremini kullanan bir sınıflandırma algoritmasıdır. Bir test noktasının hangi sınıfa ait olduğunu belirlemek için olasılığı kullanır. Naive Bayes, tamamen istatistiksel bir modeldir. Veri setindeki özelliklerin / özniteliklerin birbirinden bağımsız olduğu varsayıldığından, bu algoritmaya naif algoritma denir.

Bu makalede, veri kümesindeki hastalarda diyabet olup olmadığını tahmin etmek için saf bir Bayes sınıflandırıcı kullanacağız. Veri seti, UCI Machine Learning web sitesinden veya Kaggle web sitesinden indirilebilen UCI Pima Indians Diyabet Veritabanı'dır (California Üniversitesi, Irvine Diyabet Açık Veri Seti).

Bunu yapmak için Python kullanalım.

Önce ilgili paketleri tanıtın:

numpy'i npimport pandaları pd olarak sklearn.naive_bayes'den sklearn.naive_bayes'den pd olarak içe aktarın

Verileri okuyun ve ilk beş satırı görüntüleyin:

df_input = pd.read_csv ("./ data / diabetes.csv") df_input.head ()

Veri setinin dokuz sütunu olduğunu görebilirsiniz: gebelik sayısı, kan şekeri, kan basıncı, sebum kalınlığı, insülin, BMI vücut kitle indeksi, diyabetin genetik işlevi, yaş ve sonuç. İlk sekizi özelliklerdir ve sonuncusu (sonuç) bir etikettir. Sonuçların iki etiketi vardır: 0 (negatif, diyabetik olmayan) ve 1 (pozitif, diyabetik).

Veri türüne bir göz atın:

df_input.dtypes

Veri özetini göster (temel istatistikler):

df_input.describe ()

Tüm sütunları bağımlı değişkenlere (sonuç veya etiket verileri) ve bağımsız değişkenlere (sekiz özellik) bölmemiz gerekir. X bağımsız değişkenler içerir ve y bağımlı değişkenler içerir. Ardından, bu değişkenleri eğitim ve test setlerine ayırıyoruz:

array = df_input.valuesX = array # öznitelikler olan tüm satırları ve ilk 7 sütunu seçin Y = array # tüm satırları ve diabetiest_size = 0.3 için "Yes", "No" sınıflandırması olan 8. sütunu seçin # 70:30 eğitim alıyor ve test setseed = 1 # Kodun yeniden kaydedilebilirliği için rastgele numbmer tohumlama X_train, X_test, Y_train, Y_test = model_selection.train_test_split (X, Y, test_size = test_size, random_state = seed)

Verileri eğitim ve teste böldükten sonra, eğitim setinde bir Naive Bayes modeli oluşturacağız ve test veri seti üzerinde tahminler yapacağız:

model = GaussianNB () model.fit (X_train, Y_train) print (model) # make predictionsexpected = Y_testpredicted = model.predict (X_test) # modelprint (metrics.classification_report (beklenen, tahmin edilen)) baskısının (metrikler. confusion_matrix (beklenen, tahmin edilen))

Naive Bayes model tahmininin etkisini ölçmek için bir sınıflandırma raporu oluşturulur:

Bu göstergelerin gerçek pozitif / TP (diyabet hastası, diyabet olduğu tahmin edilen), gerçek negatif / TN (diyabet hastası olmayan, diyabet olmadığı tahmin edilen), yanlış pozitif / FP (diyabeti olmayan ancak diyabet olduğu tahmin edilen kişiler) kullandığı görülebilir ve Yanlış negatif / FN (bir kişinin diyabeti var ancak diyabet olduğu tahmin edilmiyor) hesaplanacak.

Doğruluk: Tahmin çiftli örneklerin sayısının toplam örnek sayısına oranı:

Doğruluk = (TP + TN) / (TP + TN + FP + FN)

Doğruluk: Pozitif olacağı tahmin edilen örneklerin kaç tanesi gerçekten pozitif:

Hassasiyet = TP / (TP + FP)

Hatırlama oranı: Kaç tane pozitif vaka bulduk, yani örnekteki kaç pozitif vaka doğru tahmin edildi:

Geri çağırma = TP / (TP + FN)

F1 skoru: Dengeli F skoru olarak da bilinir, hassasiyet ve geri çağırmanın harmonik ortalaması olarak tanımlanır. İstatistikte iki sınıflı bir modelin doğruluğunu ölçmek için kullanılan bir indekstir. Ayrıca, sınıflandırma modelinin doğruluğunu ve hatırlanmasını da hesaba katar. Maksimum değeri 1 ve minimum değeri 0'dır.

F1 puanı = 2 * (Geri Çağırma * Kesinlik) / (Geri Çağırma + Kesinlik)

Yukarıda herkes kendine iyi baksın.

Editör: Wang Jing

Redaksiyon: Lin Yilin

-Bitiş-

Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.

Otomatikleştirilmiş makine öğrenimi: Otomatikleştirilmiş bir öğrenim projesinde ekipler birlikte nasıl çalışır? (Ekli bağlantı)
önceki
11 tür AI öğrenme çerçevesi ve platformu dahil olmak üzere 2020'de en fazla potansiyele sahip 44 en iyi açık kaynaklı proje
Sonraki
Savaş Salgını | Tsinghua Üniversitesi 2018, Lider İnovasyon Mühendisliği alanında doktora öğrencisi iş başında
Guan Xiaotong, Zheng Shuang, Yu Haoming ve babası bu hafta okula dönüş "Ace vs. Ace" için bir sınıf toplantısı düzenlediler.
"Yatak bekleyen hastalardan" "hasta bekleyen yataklara" kadar, iyi haber heyecan verici Warriors in White Anti-salgın Günlüğü
İlk yeni taç rehabilitasyon kliniği listelenecek! Wuhanın TCM tedavisine katılımının yaklaşık% 90'ı
Kahraman
Köy komitesini "yıktılar"
"Wuhan'da bir kişi olarak, salgın bitene kadar hareket edebildiğin sürece evde oturamaz ve gönüllü olarak kalamazsın" | Ben bir gönüllüyüm
Beyaz Çin Seddi: 2020'nin en kahramanca ve hareketli ayna görüntüsü
Yeni koronavirüs söylentileri her yerde, salgın karşısında dikkatsiz olmayın
Makao'daki "China Temperature" İtfaiyeciler: Görevlerine saygı duyun ve ellerinden gelenin en iyisini yapın
Hookup +Yeni Yıl, Xi Jinping'in Yeni Yıl selamları iç açıcı
178 kelimelik bir davet mektubu
To Top