Şimdiye kadar, bir modelin doğrudan bir veri kümesinin satırlarında işlem yaptığı izlenimini vermiştik. Ancak modeller aslında verileri biraz farklı şekilde alır.
Örneğin, bir veri kümesinin beş sütun sağladığını ancak bu sütunlardan yalnızca ikisinin (b
ve d
) modelde özellik olduğunu varsayalım. Model, 3. satırdaki örneği işlerken vurgulanan iki hücrenin (3b ve 3d) içeriğini aşağıdaki gibi mi alır?
Aslında model, özellik vektörü adı verilen bir kayan nokta değeri dizisi alır. Bir özellik vektörünü, tek bir örnekten oluşan kayan nokta değerleri olarak düşünebilirsiniz.
Ancak özellik vektörleri, veri kümesinin ham değerlerini nadiren kullanır. Bunun yerine, genellikle veri kümesinin değerlerini modelinizin daha iyi öğrenebileceği temsillere dönüştürmeniz gerekir. Bu nedenle, daha gerçekçi bir özellik vektörü şöyle görünebilir:
Bir model, veri kümesindeki gerçek değerlerle eğitilerek değiştirilmiş değerlerle eğitilmekten daha iyi tahminler üretmez mi? Şaşırtıcı bir şekilde, yanıt hayır.
Ham veri kümesi değerlerini özellik vektöründe eğitilebilir değerler olarak göstermenin en iyi yolunu belirlemeniz gerekir. Bu sürece özellik mühendisliği denir ve makine öğreniminin önemli bir parçasıdır. En yaygın özellik mühendisliği teknikleri şunlardır:
- Normalleştirme: Sayısal değerleri standart bir aralığa dönüştürme.
- Gruplandırma (küme oluşturma olarak da bilinir): Sayısal değerleri aralık kümelerine dönüştürme.
Bu birimde normalleştirme ve gruplandırma ele alınmaktadır. Bir sonraki birim olan Kategorik verilerle çalışma, sayısal olmayan verileri (ör. dizeler) kayan nokta değerlerine dönüştürme gibi ön işleme biçimlerini kapsar.
Bir özellik vektöründeki her değer kayan nokta değeri olmalıdır. Ancak birçok özellik doğal olarak dize veya sayısal olmayan başka değerlerdir. Sonuç olarak, özellik mühendisliğinin büyük bir kısmı sayısal olmayan değerleri sayısal değerler olarak temsil etmektedir. Bu konuyla ilgili daha fazla bilgiyi sonraki modüllerde bulabilirsiniz.