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=0
değ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":
- 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:
Veri Kategorileri
Verileri analiz etmek için, uğraştığımız veri türlerini de bilmemiz gerekir.
Veriler üç ana kategoriye ayrılabilir:
- 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.
- Kategorik - Birbiriyle ölçülemeyen değerleri içerir. Örnek: Bir renk veya bir eğitim türü
- 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ç:
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ç:
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