Feature Engineering
Model performansını artırmak için özellik mühendisliğini keşfet. Daha yüksek doğruluk için Ultralytics YOLO26'yı optimize etmeye yönelik ölçeklendirme ve artırma gibi teknikleri öğren.
Özellik mühendisliği, ham verileri makine öğrenimi modellerinin performansını artıran anlamlı girdilere dönüştürme sürecidir. Bu süreç, algoritmaların verideki desenleri daha iyi anlamasına yardımcı olan ve özellik olarak bilinen yeni değişkenleri seçmek, değiştirmek veya oluşturmak için alan bilgisinden yararlanmayı içerir. Evrişimli Sinir Ağları (CNN'ler) gibi modern derin öğrenme mimarileri özellikleri otomatik olarak öğrenebilse de, özellikle yapılandırılmış verilerle çalışırken veya uç cihazlarda model verimliliğini optimize etmeye çalışırken açık özellik mühendisliği birçok iş akışında kritik bir adım olmaya devam etmektedir. Geliştiriciler, girdi verilerini iyileştirerek genellikle daha basit modellerle daha yüksek doğruluk elde edebilir ve böylece yoğun hesaplama kaynaklarına olan ihtiyacı azaltabilirler.
Link to this sectionYapay Zekada Özellik Mühendisliğinin Rolü#
Yapay zeka (YZ) bağlamında, ham veriler nadiren doğrudan işlenmeye hazırdır. Görüntülerin yeniden boyutlandırılması, metinlerin belirteçlere ayrılması (tokenization) gerekebilir ve tablo halindeki veriler genellikle eksik değerler veya ilgisiz sütunlar içerir. Özellik mühendisliği, ham bilgiler ile algoritmaların gerektirdiği matematiksel temsiller arasındaki boşluğu doldurur. Etkili mühendislik, bir modelin aksi takdirde gözden kaçırabileceği kritik ilişkileri vurgulayabilir; örneğin, bir "hız" özelliği oluşturmak için "mesafe" ve "zaman" verilerini birleştirmek gibi. Bu süreç veri ön işleme ile yakından ilişkilidir; ancak ön işleme temizleme ve biçimlendirmeye odaklanırken, özellik mühendisliği tahmine dayalı gücü artırmak için yaratıcı geliştirmelerle ilgilidir.
Bilgisayarlı görü görevleri için özellik mühendisliği önemli ölçüde gelişmiştir. Geleneksel yöntemler, kenarları ve köşeleri tanımlamak için Ölçekten Bağımsız Özellik Dönüşümü (SIFT) gibi tanımlayıcıların manuel olarak oluşturulmasını içeriyordu. Günümüzde YOLO26 gibi derin öğrenme modelleri, gizli katmanları içinde otomatik özellik çıkarımı gerçekleştirir. Bununla birlikte mühendislik, sentetik veri oluşturmak veya eğitim sırasında modelleri daha sağlam özellik varyasyonlarına maruz bırakmak için mozaik ve mixup gibi veri artırma tekniklerini uygulamak gibi veri setlerini hazırlamada hala hayati bir rol oynamaktadır.
Link to this sectionYaygın Teknikler ve Uygulamalar#
Özellik mühendisliği, belirli probleme ve veri türüne göre uyarlanmış geniş bir strateji yelpazesini kapsar.
- Boyut Azaltma: Temel Bileşen Analizi (PCA) gibi teknikler, yüksek boyutlu veri setlerinde aşırı öğrenmeyi önleyerek temel bilgileri korurken değişken sayısını azaltır.
- Kategorik Değişkenleri Kodlama: Algoritmalar genellikle sayısal girdi gerektirir. One-hot encoding gibi yöntemler, kategorik etiketleri (örneğin, "Kırmızı", "Mavi") modellerin işleyebileceği ikili vektörlere dönüştürür.
- Normalleştirme ve Ölçeklendirme: Özelliklerin standart bir aralığa ölçeklendirilmesi, daha büyük büyüklüklere sahip değişkenlerin (ev fiyatları gibi) daha küçük aralıklara sahip olanlara (oda sayısı gibi) baskın gelmemesini sağlar; bu durum sinir ağlarında gradyan tabanlı optimizasyon için çok önemlidir.
- Gruplandırma (Binning) ve Ayrıklaştırma: Sürekli değerleri gruplara (örneğin yaş grupları) ayırmak, modellerin aykırı değerleri daha etkili bir şekilde ele almasına ve doğrusal olmayan ilişkileri yakalamasına yardımcı olabilir.
Link to this sectionGerçek Dünya Örnekleri#
Özellik mühendisliği, karmaşık sorunları çözmek için çeşitli endüstrilerde uygulanmaktadır.
-
Üretimde Kestirimci Bakım: Akıllı üretimde, sensörler makinelerden ham titreşim ve sıcaklık verilerini toplar. Mühendisler, sıcaklıktaki "değişim oranı" veya titreşim yoğunluğunun "hareketli ortalaması" gibi özellikleri temsil eden veriler oluşturabilirler. Bu tasarlanmış özellikler, anomali tespiti modellerinin sadece mevcut sensör okumalarına tepki vermek yerine ekipman arızasını günler öncesinden tahmin etmesini sağlar.
-
Kredi Riski Değerlendirmesi: Finansal kuruluşlar, kredi uygunluğunu değerlendirmek için özellik mühendisliğini kullanır. Sadece ham bir "gelir" rakamına bakmak yerine, "borç-gelir oranı" veya "kredi kullanım yüzdesi" gibi özellikler tasarlayabilirler. Bu türetilmiş özellikler, borçlunun finansal durumuna dair daha incelikli bir bakış açısı sunarak daha doğru risk sınıflandırması yapılmasını sağlar.
Link to this sectionKod Örneği: Özel Özellik Artırma#
Bilgisayarlı görüde, farklı çevresel koşulları simüle etmek için görüntüleri artırarak özellikleri "mühendislik yoluyla" oluşturabiliriz. Bu, YOLO26 gibi modellerin daha iyi genelleme yapmasına yardımcı olur. Aşağıdaki örnek, ultralytics araçlarını kullanarak basit bir gri tonlama dönüşümünün nasıl uygulanacağını göstermektedir; bu, modelin yalnızca renge güvenmek yerine yapısal özellikleri öğrenmesini zorunlu kılar.
import cv2
from ultralytics.data.augment import Albumentations
# Load an example image using OpenCV
img = cv2.imread("path/to/image.jpg")
# Define a transformation pipeline to engineer new visual features
# Here, we convert images to grayscale with a 50% probability
transform = Albumentations(p=1.0)
transform.transform = A.Compose([A.ToGray(p=0.5)])
# Apply the transformation to create a new input variation
augmented_img = transform(img)
# This process helps models focus on edges and shapes, improving robustnessLink to this sectionİlgili Terimlerden Farkı#
İş akışı tartışmalarında karışıklığı önlemek için özellik mühendisliğini benzer kavramlardan ayırmak faydalıdır.
- Özellik Mühendisliği ile Özellik Çıkarımı Arasındaki Fark: Genellikle birbirinin yerine kullanılsa da aralarında bir nüans vardır. Özellik mühendisliği, alan bilgisine dayalı olarak yeni girdiler oluşturmaya yönelik manuel ve yaratıcı bir süreci ifade eder. Buna karşılık, özellik çıkarımı genellikle yüksek boyutlu verileri yoğun bir temsile indirgeyen otomatik yöntemleri veya matematiksel izdüşümleri (PCA gibi) ifade eder. Derin öğrenmede (DL), Evrişimli Sinir Ağlarındaki (CNN'ler) katmanlar, kenarlar ve dokular için filtreler öğrenerek otomatik özellik çıkarımı gerçekleştirir.
- Özellik Mühendisliği ile Gömme (Embedding) Arasındaki Fark: Modern doğal dil işlemede (NLP), manuel özellik oluşturma (kelime frekansı sayma gibi) büyük ölçüde gömme yöntemleriyle yer değiştirmiştir. Gömme, anlamsal anlamı yakalamak için modelin kendisi tarafından öğrenilen yoğun vektör temsilleridir. Gömme işlemleri bir tür özellik olsa da, bunlar manuel olarak "tasarlanmak" yerine otomatik makine öğrenimi (AutoML) süreçleri aracılığıyla öğrenilir.
Geliştiriciler, özellik mühendisliğinde ustalaşarak sadece daha doğru değil, aynı zamanda daha verimli modeller oluşturabilir ve yüksek performans elde etmek için daha az hesaplama gücüne ihtiyaç duyarlar. Ultralytics Platform gibi araçlar, veri seti yönetimi ve model eğitimi için sezgisel arayüzler sunarak bu süreci kolaylaştırır ve kullanıcıların özellik stratejileri üzerinde hızlıca yineleme yapmalarına olanak tanır.






