Veri Bilimi - Veri Hazırlama


Verileri analiz etmeden önce, bir Veri Bilimcisi verileri çıkarmalı ve temiz ve değerli hale getirmelidir.


Pandalarla Verileri Çıkarın ve Okuyun

Veriler analiz edilmeden önce içe/dışa aktarılmalıdır.

Aşağıdaki örnekte, Python'da Panda'ları kullanarak verileri nasıl içe aktaracağınızı gösteriyoruz.

read_csv()Sağlık verileriyle bir CSV dosyasını içe aktarmak için işlevi kullanırız :

Örnek

import pandas as pd

health_data = pd.read_csv("data.csv", header=0, sep=",")

print(health_data)

Örnek Açıklama

  • Pandalar kitaplığını içe aktarın
  • Veri çerçevesini olarak adlandırın health_data.
  • header=0değişken adlarının başlıklarının ilk satırda bulunacağı anlamına gelir (0'ın Python'da ilk satır anlamına geldiğini unutmayın)
  • sep=","","'nin değerler arasında ayırıcı olarak kullanıldığı anlamına gelir. Bunun nedeni, .csv dosya türünü (virgülle ayrılmış değerler) kullanmamızdır.

İpucu: Büyük bir CSV dosyanız varsa, head()işlevi yalnızca ilk 5 satırı göstermek için kullanabilirsiniz:

Örnek

import pandas as pd

health_data = pd.read_csv("data.csv", header=0, sep=",")

print(health_data.head())

Veri temizleme

İçe aktarılan verilere bakın. Gördüğünüz gibi, veriler yanlış veya kayıtlı olmayan değerlerle "kirli":

Kirli veri
  • Bazı boş alanlar var
  • Ortalama 9 000 darbe mümkün değil
  • 9 000, boşluk ayırıcı nedeniyle sayısal olmayan olarak değerlendirilecektir.
  • Maks darbenin bir gözlemi "AF" olarak belirtilir ve bu mantıklı değildir.

Bu nedenle, analizi gerçekleştirmek için verileri temizlememiz gerekir.


Boş Satırları Kaldır

Sayısal olmayan değerlerin (9 000 ve AF) eksik değerlerle aynı satırlarda olduğunu görüyoruz.

Çözüm: Bu sorunu çözmek için eksik gözlemleri olan satırları kaldırabiliriz.

Pandalar kullanarak bir veri seti yüklediğimizde, tüm boş hücreler otomatik olarak "NaN" değerlerine dönüştürülür.

Bu nedenle, NaN hücrelerinin çıkarılması bize analiz edilebilecek temiz bir veri seti verir.

dropna()NaN'leri kaldırmak için işlevi kullanabiliriz . axis=0, NaN değerine sahip tüm satırları kaldırmak istediğimiz anlamına gelir:

Örnek

health_data.dropna(axis=0,inplace=True)

print(health_data)

Sonuç, NaN satırları olmayan bir veri kümesidir:

temizlenmiş veri

Veri Kategorileri

Verileri analiz etmek için, uğraştığımız veri türlerini de bilmemiz gerekir.

Veriler üç ana kategoriye ayrılabilir:

  1. Sayısal - Sayısal değerler içerir. İki kategoriye ayrılabilir:
    • Ayrık: Sayılar "bütün" olarak sayılır. Örnek: 2.5 seans eğitim alamazsınız, ya 2 ya da 3
    • Sürekli: Sayılar sonsuz hassasiyette olabilir. Örneğin 7 saat, 30 dakika ve 20 saniye veya 7.533 saat uyuyabilirsiniz.
  2. Kategorik - Birbiriyle ölçülemeyen değerleri içerir. Örnek: Bir renk veya bir eğitim türü
  3. Sıralı - Birbirine karşı ölçülebilen kategorik verileri içerir. Örnek: A'nın B'den daha iyi olduğu okul notları vb.

Verilerinizin türünü bilerek, onları analiz ederken hangi tekniği kullanacağınızı bilebileceksiniz.


Veri tipleri

info()Veri kümemizdeki veri türlerini listelemek için işlevi  kullanabiliriz :

Örnek

print(health_data.info())

Sonuç:

Veri türü kayan nokta ve nesne

Bu veri setinin iki farklı veri tipine sahip olduğunu görüyoruz:

  • Float64
  • Nesne

Burada hesaplamak ve analiz yapmak için nesneleri kullanamayız. Type nesnesini float64'e dönüştürmeliyiz (float64, Python'da ondalık basamaklı bir sayıdır).

astype()Verileri float64'e dönüştürmek için işlevi kullanabiliriz .

Aşağıdaki örnek, "Average_Pulse" ve "Max_Pulse" öğelerini float64 veri tipine dönüştürür (diğer değişkenler zaten float64 veri tipindedir):

Örnek

health_data["Average_Pulse"] = health_data['Average_Pulse'].astype(float)
health_data["Max_Pulse"] = health_data["Max_Pulse"].astype(float)

print (health_data.info())

Sonuç:

veri türü kayan nokta

Artık veri kümesinde yalnızca float64 veri türleri vardır.


Verileri Analiz Edin

Veri setini temizlediğimizde verileri analiz etmeye başlayabiliriz.

describe()Verileri özetlemek için Python'daki işlevi kullanabiliriz :

Örnek

print(health_data.describe())

Sonuç:

  Süre Ortalama_Nabız Max_Pulse Kalori_Yanık Saat_Çalışma Hours_Sleep
Saymak 10.0 10.0 10.0 10.0 10.0 10.0
Kastetmek 51.0 102.5 137.0 285.0 6.6 7.5
standart 10.49 15.4 11.35 30.28 3.63 0,53
Min. 30.0 80.0 120.0 240.0 0.0 7.0
%25 45.0 91.25 130.0 262.5 7.0 7.0
%50 52.5 102.5 140.0 285.0 8.0 7.5
%75 60.0 113.75 145.0 307.5 8.0 8.0
Maks. 60.0 125.0 150.0 330.0 10.0 8.0
  • Count - Gözlemlerin sayısını sayar
  • Ortalama - Ortalama değer
  • Std - Standart sapma (istatistik bölümünde açıklanmıştır)
  • Min - En düşük değer
  • %25 , % 50 ve % 75 yüzdelik dilimlerdir (istatistik bölümünde açıklanmıştır)
  • Maks - En yüksek değer