Özellik mühendisliği neden çalışır?


20

Son zamanlarda, ML sorunlarına daha iyi çözümler bulmanın yollarından birinin özelliklerin oluşturulması olduğunu öğrendim. Örneğin iki özelliği toplayarak bunu yapabiliriz.

Örneğin, bir tür kahramanın iki “saldırı” ve “savunması” özelliğine sahibiz. Daha sonra "saldırı" ve "savunma" nın toplamı olan "toplam" adı verilen ek bir özellik oluştururuz. Şimdi bana garip görünen şey, zorlu "saldırı" ve "savunma" kelimelerinin bile "toplam" ile neredeyse mükemmel bir şekilde ilişkili olduğudur.

Bunun arkasındaki matematik nedir? Yoksa akıl yürütmem yanlış mı?

Ayrıca, bu kNN gibi sınıflandırıcılar için "toplam" ın her zaman "saldırı" veya "savunma" dan daha büyük olacağı bir sorun değil mi? Böylece, standartlaştırmadan sonra bile, farklı aralıklardan değerler içeren özelliklere sahip olacağız?


İki özelliğin toplanması uygulaması, genel olarak "özellik mühendisliği" ni temsil etmez.
xji

Yanıtlar:


21

Başlığı soruyorsunuz ve içerik bana uymuyor gibi görünüyor. Doğrusal model kullanıyorsanız, saldırıya ek olarak toplam bir özellik ekleyin ve savunma işleri daha da kötüleştirecektir.

Öncelikle özellik mühendisliğinin neden genel olarak çalıştığını yanıtlayacağım.

Bir resim bin kelime değerinde bir olup. Bu şekil, özellik mühendisliği ve neden işe yaradığı hakkında bazı bilgiler verebilir (resim kaynağı ):

resim açıklamasını buraya girin

  • Kartezyen koordinatlarındaki veriler daha karmaşıktır ve bir kural yazmak / iki türü sınıflandırmak için bir model oluşturmak nispeten zordur.

  • Polar koordinatlarındaki veriler çok kolaydır :, iki türü sınıflandırmak için üzerine basit bir kural yazabiliriz .r

Bu bize verilerin temsilinin çok önemli olduğunu söylüyor. Belirli alanlarda, belirli görevleri yapmak diğer alanlara göre çok daha kolaydır.

Burada örneğinizde bahsedilen soruya cevap veriyorum (saldırı ve savunma toplamı)

Aslında, saldırı ve savunma örneğinin Bu meblağın belirtilen özellik mühendisliği, olacak değil böyle doğrusal model olarak birçok model için de işe ve bazı sorunlara neden olur. Bkz. Çoklu Doğrusallık . Öte yandan, bu özellik mühendisliği karar ağacı / rastgele orman gibi diğer modellerde de çalışabilir. Ayrıntılar için @ Imran'ın cevabına bakınız.

Bu nedenle cevap, kullandığınız modele bağlı olarak, bazı özellik mühendisliğinin bazı modellerde yardımcı olacağını, ancak diğer modellerde yardımcı olmayacağıdır.


Toplamın eklerle eşleşmesi gerekmez. Örnek olarak benim cevabım.
Kodiologist

15

Kullandığımız model türü, mevcut özelliklerin belirli kombinasyonlarını öğrenmede çok etkili olmayabilir.

Örneğin, özelliklerin nerede olduğu örneğinizi düşünün ave ised olan bir ikili sonucu tahmin etmek için bir karar ağacı kullanıyoruz ve ise olur .a + d < 0 1 a + d 00bir+d<01bir+d0

Karar ağaçları sadece bireysel özellik eksenleri boyunca ayrılabileceğinden, modelimiz bir çizgiye uyacak bir merdiven inşa etmeye çalışacak ve bu da şöyle görünecektir:

resim açıklamasını buraya girin

Gördüğünüz gibi, bu yeni veriler için mükemmel bir genelleme olmayacak. Karar sınırımızın altında olan gerçek karar çizgisinin üzerinde daireler ya da haçlar için tersi olabilir.

Ancak, a+dbir özellik olarak eklersek , sorun bir karar ağacı için önemsiz hale gelir. Bireyi ave dözellikleri görmezden gelebilir ve sorunu tek bir a+d<0kararla çözebilir .

resim açıklamasını buraya girin

bir+d

Özet olarak, kullandığınız modelin türüne bağlı olarak bazı ek özellikler yardımcı olabilir ve mühendislik özellikleri kullanılırken hem verileri hem de modeli dikkate almaya dikkat etmelisiniz.


1
Mesele bu. Özellik seçimi ve model seçimi birlikte düşünülmelidir. Kullanılan modelin türünü dikkate almadan özellik seçimini denemek ve akıl yürütmek yaygın bir tuzaktır.
İmran

1
Örneğin, doğrusal regresyon ile aynı şeyi denediyseniz ave dyeterli ve a+dbir özellik olarak eklemek bir fark yaratmaz.
İmran

Bunu daha açık hale getirmek için cevabımı güncelledim.
İmran

1
Ayrıca, diyagonal çizgi boyunca bölünmek için bir bölünme gerekir. Çizdiğiniz merdiven yedi bölmeyi "tüketiyor".
Birikim

3

totaltotalattackdefenseattackdefensetotalattacktotaldefense17

Ayrıca, bu kNN gibi sınıflandırıcılar için "toplam" ın her zaman "saldırı" veya "savunma" dan daha büyük olacağı bir sorun değil mi? Böylece, standartlaştırmadan sonra bile, farklı aralıklardan değerler içeren özelliklere sahip olacağız?

Tahmincilerinizi standartlaştırmak istiyorsanız, hepsi oluşturulduktan sonra yapmalısınız.


1
bu gerçekten doğru mu? Kesinlikle, basit bir doğrusal modelde, öyle değildir: matris [attack, defense, total]elbette 2. sıradadır. Cezalandırılmış doğrusal bir model gibi bir şeyde fark yaratabileceğini hayal edebiliyorum, ancak bu tamamen üzerinde çalışmak yerine sezgiye dayanıyor. Neden attackve defenseile güçlü bir şekilde ilişkiliyse total(hangisi güçlü attackve defensenegatif olarak ilişkiliyse olur), neden totalyararlı olabilir?
Cliff AB

1
@CliffAB Gez, burada biraz glib vardı. Yapılmış bir özelliğin diğer öngörücülerle güçlü bir şekilde ilişkilendirilmediğinde yararlı olabileceğini ve bunun veya totalile güçlü bir şekilde ilişkilendirilmesi gerekmediğini söylerken haklıydım , ancak lineer yüzünden asla iki tahminci ve toplamlarını aynı modelde kullanamazsınız bağımlılık ile arasında güçlü bir korelasyon ima bazı üçe ikisi. attackdefense
Kodiologist

1

Genel bir cevap vermek için, çoğu durumda özellik mühendisliği verilerinizden anlamlı özellikler çıkarmakla ilgilidir, bu nedenle modelinize daha fazla bilgi verirseniz, daha iyi davranması gerekir. Verilerinizin 'name.surname@domain.country-code' biçimindeki e-posta adreslerinden oluştuğunu varsayalım. Bunları modelinizde olduğu gibi kullandıysanız, her kişi benzersiz bir e-posta ile karakterize edilir, bu yüzden bize fazla bir şey söylemez. Bize yalnızca bir e-postanın muhtemelen başka bir kişiye, diğerine ait olduğunu söyler. Özellik mühendisliği ile, bu tür adreslerden olası cinsiyet (isim), aile geçmişi ve etnik köken (soyadı), milliyet (alan adı) ve daha fazlası hakkında bilgi çıkarabilirsiniz - size oldukça fazla bilgi verir, değil mi?


1

"Özellik" toplamınızla neyi başarmaya çalışıyorsunuz ? Yalnızca kahramanları karşılaştırıyorsanız, saldırı ve savunma daha yararlı olabilir. Eğer yapı türünü (ne kadar saldırgan yönelime karşı, ne kadar savunmacı yönelimli) yararlı bulursanız, belki saldırı / savunma daha yararlı olacaktır. Ya da belki MyAttack - YourDefense daha faydalıdır.

Bu gerçekten hedefinize bağlıdır ve daha iyi cevaplar alabilmeniz için soruna ek bilgi enjekte etmenizle sınırlıdır. İnsanların etrafında atma duymuş olabilirsiniz log ve kare ve oran ve özellikleri yapabilir yollardan her türlü fakat alt çizgi "yararlı" elindeki işe bağlı olduğunu ve kararlar bir etki alanına sahip verileri dönüştüren içerir daha basit.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.