Scikit Learn - Veri Gösterimi
Makine öğreniminin verilerden model oluşturmak üzere olduğunu bildiğimiz gibi. Bunun için bilgisayarın önce verileri anlaması gerekir. Daha sonra, bilgisayar tarafından anlaşılmaları için verileri temsil etmenin çeşitli yollarını tartışacağız -
Tablo olarak veriler
Scikit-learn'de verileri temsil etmenin en iyi yolu tablolar biçimindedir. Bir tablo, satırların veri kümesinin ayrı öğelerini ve sütunların bu ayrı öğelerle ilgili miktarları temsil ettiği 2 boyutlu bir veri ızgarasını temsil eder.
Misal
Aşağıda verilen örnek ile indirebiliriz iris dataset python yardımıyla bir Pandas DataFrame şeklinde seaborn kütüphane.
import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()
Çıktı
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
Yukarıdaki çıktıdan, verilerin her satırının tek bir gözlemlenen çiçeği temsil ettiğini ve satır sayısının veri kümesindeki toplam çiçek sayısını temsil ettiğini görebiliriz. Genel olarak, matrisin satırlarını örnek olarak adlandırırız.
Öte yandan, verilerin her bir sütunu, her bir numuneyi tanımlayan nicel bir bilgiyi temsil eder. Genel olarak, matrisin sütunlarını özellikler olarak adlandırırız.
Özellik Matrisi Olarak Veriler
Özellikler matrisi, bilgilerin 2 boyutlu bir matris olarak düşünülebileceği tablo düzeni olarak tanımlanabilir. Adlı bir değişkende saklanırXve [n_samples, n_features] şeklinde iki boyutlu olduğu varsayılmıştır. Çoğunlukla, bir NumPy dizisinde veya Pandas DataFrame'de bulunur. Daha önce de belirtildiği gibi, numuneler her zaman veri kümesi tarafından tanımlanan ayrı nesneleri temsil eder ve özellikler, her bir numuneyi nicel bir şekilde tanımlayan farklı gözlemleri temsil eder.
Hedef dizi olarak veriler
X ile gösterilen Özellikler matrisinin yanı sıra, hedef dizimiz de var. Aynı zamanda etiket olarak da adlandırılır. Y ile gösterilir. Etiket veya hedef dizi genellikle n_samples uzunluğuna sahip tek boyutludur. Genellikle NumPy'de bulunurarray veya Pandalar Series. Hedef dizi hem değerlere, sürekli sayısal değerlere hem de ayrık değerlere sahip olabilir.
Hedef dizinin özellik sütunlarından farkı nedir?
Hedef dizinin genellikle verilerden tahmin etmek istediğimiz miktar, yani istatistiksel olarak bağımlı değişken olduğu ikisini de bir noktayla ayırt edebiliriz.
Misal
Aşağıdaki örnekte, iris veri setinden çiçek türlerini diğer ölçümlere dayanarak tahmin ediyoruz. Bu durumda, Türler sütunu özellik olarak kabul edilecektir.
import seaborn as sns
iris = sns.load_dataset('iris')
%matplotlib inline
import seaborn as sns; sns.set()
sns.pairplot(iris, hue='species', height=3);
Çıktı
X_iris = iris.drop('species', axis=1)
X_iris.shape
y_iris = iris['species']
y_iris.shape
Çıktı
(150,4)
(150,)