Üretim makine öğrenimi sistemleri: Veriler ne zaman dönüştürülmeli?
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Ham veriler özellik mühendisliği (dönüşüm) uygulanmış olmalıdır. Verileri ne zaman dönüştürmelisiniz? Genel olarak, özellik mühendisliği aşağıdaki iki dönemden birinde yapılabilir:
- Modeli eğitmeden önce.
- Modeli eğitirken
Bu yaklaşımda iki adım uygularsınız:
- Ham verileri dönüştürmek için kod yazın veya özel araçlar
kullanın.
- Dönüştürülmüş verileri, modelin besleyebileceği bir yerde (ör. diskte) depolayın.
Avantajlar
- Sistem, ham verileri yalnızca bir kez dönüştürür.
- Sistem, en iyi dönüşüm stratejisini belirlemek için veri kümesinin tamamını analiz edebilir.
Dezavantajları
Sisteminiz dinamik (online) çıkarım gerçekleştirdiğinde eğitim-yayınlama sapması daha tehlikelidir.
Dinamik çıkarım kullanan bir sistemde, ham veri kümesini dönüştüren yazılım genellikle tahminleri sunan yazılımdan farklıdır. Bu durum, eğitim-sunma kaymasına neden olabilir.
Buna karşılık, statik (çevrimdışı) çıkarım kullanan sistemler bazen aynı yazılımı kullanabilir.
Bu yaklaşımda dönüşüm, model kodunun bir parçasıdır. Model, ham verileri alır ve dönüştürür.
Avantajlar
- Dönüşümleri değiştirirseniz aynı ham veri dosyalarını kullanmaya devam edebilirsiniz.
- Eğitim ve tahmin sırasında aynı dönüşümlerin yapıldığından emin olun.
Dezavantajları
- Karmaşık dönüştürme işlemleri model gecikmesini artırabilir.
- Dönüşümler her bir grup için gerçekleşir.
Verileri grup başına dönüştürmek zor olabilir. Örneğin, ham sayısal verileri dönüştürmek için Z-skor normalleştirmesini kullanmak istediğinizi varsayalım. Z puanı normalleştirmesi, özelliğin ortalamasını ve standart sapmasını gerektirir.
Ancak grup başına dönüşümler, veri kümesinin tamamına değil yalnızca bir veri grubuna erişebileceğiniz anlamına gelir. Dolayısıyla, gruplar çok değişkense bir gruptaki -2, 5 Z puanı, başka bir gruptaki -2,5 puanla aynı anlama gelmez.
Bu sorunun geçici çözümü olarak sisteminiz, veri kümesinin tamamında ortalama ve standart sapmayı önceden hesaplayabilir ve ardından bunları modelde sabit olarak kullanabilir.
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[null,null,["Son güncelleme tarihi: 2025-07-27 UTC."],[[["\u003cp\u003eFeature engineering can be performed before or during model training, each with its own advantages and disadvantages.\u003c/p\u003e\n"],["\u003cp\u003eTransforming data before training allows for a one-time transformation of the entire dataset but requires careful recreation of transformations during prediction to avoid training-serving skew.\u003c/p\u003e\n"],["\u003cp\u003eTransforming data during training ensures consistency between training and prediction but can increase model latency and complicate batch processing.\u003c/p\u003e\n"],["\u003cp\u003eWhen transforming data during training, considerations such as Z-score normalization across batches with varying distributions need to be addressed.\u003c/p\u003e\n"]]],[],null,["# Production ML systems: When to transform data?\n\nRaw data must be feature engineered (transformed). When should you transform\ndata? Broadly speaking, you can perform feature engineering during either of\nthe following two periods:\n\n- *Before* training the model.\n- *While* training the model.\n\nTransforming data before training\n---------------------------------\n\nIn this approach, you follow two steps:\n\n1. Write code or use specialized tools to transform the raw data.\n2. Store the transformed data somewhere that the model can ingest, such as on disk.\n\nAdvantages\n\n- The system transforms raw data only once.\n- The system can analyze the entire dataset to determine the best transformation strategy.\n\nDisadvantages\n\n- You must recreate the transformations at prediction time. Beware of [**training-serving skew**](/machine-learning/glossary#training-serving-skew)!\n\nTraining-serving skew is more dangerous when your system performs dynamic\n(online) inference.\nOn a system that uses dynamic inference, the software that transforms\nthe raw dataset usually differs from the software that serves predictions,\nwhich can cause training-serving skew.\nIn contrast, systems that use static (offline) inference can sometimes\nuse the same software.\n\nTransforming data while training\n--------------------------------\n\nIn this approach, the transformation is part of the model code. The model\ningests raw data and transforms it.\n\nAdvantages\n\n- You can still use the same raw data files if you change the transformations.\n- You're ensured the same transformations at training and prediction time.\n\nDisadvantages\n\n- Complicated transforms can increase model latency.\n- Transformations occur for each and every batch.\n\nTransforming the data per batch can be tricky. For example, suppose you want to\nuse [**Z-score normalization**](/machine-learning/glossary#z-score-normalization)\nto transform raw numerical data. Z-score normalization requires the mean and\nstandard deviation of the feature.\nHowever, transformations per batch mean you'll only have access to\n*one batch of data*, not the full dataset. So, if the batches are highly\nvariant, a Z-score of, say, -2.5 in one batch won't have the same meaning\nas -2.5 in another batch.\nAs a workaround, your system can precompute the mean and standard deviation\nacross the entire dataset and then use them as constants in the model.\n| **Key terms:**\n|\n| - [Training-serving skew](/machine-learning/glossary#training-serving-skew)\n- [Z-score normalization](/machine-learning/glossary#z-score-normalization) \n[Help Center](https://support.google.com/machinelearningeducation)"]]