Özellik mühendisliği için herhangi bir araç var mı?


29

Özellikle aradığım şey, özellik mühendisliğine özgü, bazı işlevlere sahip araçlar. Kolayca düzgünleştirmek, görselleştirmek, boşlukları doldurmak, vb. Yapabilmek istiyorum. MS Excel'e benzer bir şey ama bunun yerine VB yerine R dili var.

Yanıtlar:


21

Çok ilginç bir soru (+1). Şu anda özellik mühendisliği için kapsamlı işlevsellik sunan herhangi bir yazılım aracının farkında olmasam da , bu konuda kesinlikle çok çeşitli seçenekler var. Şu anda bildiğim kadarıyla, özellik mühendisliği hala büyük ölçüde zahmetli ve el ile yapılan bir işlem (yani, bu blog gönderisine bakın ). Özellik mühendisliği konu alanı hakkında konuşurken, Jason Brownlee'nin bu mükemmel makalesi konuyla ilgili oldukça kapsamlı bir genel bakış sunar.

O'Reilly Media Inc. şirketinin Veri Veri Sorumlusu ve İçerik Stratejisi Direktörü Ben Lorica, son teknoloji ürünü (Haziran 2014 itibariyle) yaklaşımlarını, yöntemlerini, araçlarını ve başlangıçlarını açıklayan çok güzel bir makale yazdı . otomatizasyon alanı (veya koyduğu gibi, düzene sokma ) özellik mühendisliği.

Ben'in başvurduğu bazı girişimlere kısa bir göz attım ve Skytree'nin bir ürünü , özellikle de bu sorunun konusu hakkında oldukça etkileyici görünüyor. Bunların bir kısmının benim için çok şüpheli olduğu söyleniyor (örneğin, "Skytree , makine öğrenme yöntemlerini açık kaynak seçeneklerine kıyasla 150x'e kadar hızlandırıyor" ). Ticari veri bilimi ve makine öğrenimi teklifleri hakkında konuşmaya devam ederken, Microsoft'un çözümlerinden, özellikle de Azure Machine Learning Studio'dan bahsetmek zorundayım . Bu Web tabanlı ürün oldukça güçlü ve zariftir ve bazı özellikler mühendislik işlevselliği (FEF) sunar. Basit bir FEF örneği için bu güzel videoya bakın .

Soruya dönersek, özellik mühendisliğini otomatikleştirmek için uygulayabileceğim en basit yaklaşımın ilgili IDE'leri kullanmak olduğunu düşünüyorum . Siz (ben de) bir veri bilimi arka planı olarak R dili ile ilgilendiğiniz için, RSKudio'ya ek olarak, benzer bir açık kaynak IDE olan RKWard'ı da kontrol etmenizi öneririm . RKWard'a karşı RStudio'nun avantajlarından biri , IDE için eklenti yazmayı desteklemesi , böylece veri bilim adamlarının özellik mühendisliğini otomatikleştirmesini ve R-tabanlı veri analizlerini kolaylaştırmasını sağlıyor.

Son olarak, özellik mühendisliği çözümleri yelpazesinin diğer tarafında bazı araştırma projeleri bulabiliriz . En dikkat çekici iki konu, Stanford Üniversitesi’nin ilgili araştırma makalesinde ayrıntılı olarak açıklanan Columbus projesi ve bu makalede açıklanan Brainwash gibi görünüyor .


5

Featuretools , otomatik özellik mühendisliği için yeni çıkan bir python kütüphanesidir. Aslen 2015 MIT'de geliştirilen ve Kaggle'daki kamu veri bilimi yarışmalarında test edilen Deep Feature Synthesis adlı bir algoritmaya dayanıyor.

İşte ortak veri bilimi sürecine nasıl uyduğu.

görüntü tanımını buraya girin

Kütüphanenin amacı, uzmanların yalnızca daha iyi makine öğrenme modelleri geliştirmelerini sağlamak değil, aynı zamanda veri bilimi sürecini öğrenmeye çalışan insanlara daha az korkutucu hale getirmektir. Etkinliğe dayalı veya ilişkisel verileriniz varsa, kontrol etmenizi şiddetle tavsiye ederim!

Feragatname: Ben projedeki geliştiricilerden biriyim.


2

Özellik Mühendisliği, Makine Öğreniminin merkezindedir ve oldukça zahmetli ve zaman alıcıdır. İnsanı döngüden çıkarmak umuduyla özellik mühendisliğini otomatikleştirme konusunda çeşitli girişimlerde bulunuldu. Bunu sınıflandırma problemleri için yapan özel bir uygulama otomatik kaymadır . Uygun dönüşüm kümesini ve algoritmayı (ve algoritma parametrelerini) seçmek için kaputun altında SMAC adı verilen bir optimizasyon prosedürü kullanır .

Trifacta'nın veri dönüşümü için kullanımı kolay bir araç sunduğunu unutmayın. Dönüşüm / özellik mühendisliği haritaları oluşturmayı sağlayan sezgisel bir GUI'ye sahiptir. Ayrıca makul boyutta problemler için kullanılabilecek ücretsiz bir deneme sürümü bulunmaktadır.


2

Scikit-learn son zamanlarda özellik mühendisliğinin birçok yönüyle mücadele eden yeni transformatörler piyasaya sürdü. Örneğin:

  1. Hem sayısal hem de kategorik değişkenlerdeki ortalama, medyan ve keyfi değer emirlerini içeren SimpleImputer( http://scikit-learn.org/stable/modules/generated/sklearn.impute.SimpleImputer.html ) ile birden fazla eksik veri değerlendirme tekniğini yapabilirsiniz. .

  2. Bayes, rastgele orman ve diğerleri (R's MICE, Amelia ve MissForest ile eşdeğer) gibi birkaç tahminciyi kullanarak IterativeImputer( https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer ) ile çok değişkenli değerlendirme yapabilirsiniz .html # sklearn.impute.IterativeImputer )

  3. OneHotEncoder()Scikit-learn ile kategorik bir sıcak kodlama yapabilirsiniz.

  4. Kategorik değişkenleri ile sayılara göre kodlayabilirsiniz LabelEncoder.

  5. Yeo-Johnson değişken dönüşümünü PowerTransformer( http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PowerTransformer.html ) ile yapabilirsiniz.

  6. KBinsDiscretiser( Https://scikit-learn.org/stable/auto_examples/preprocessing/plot_discretization.html ) ile takdir yetkiniz alabilirsiniz

Scikit-learn'da potansiyel olarak başka özellik mühendisliği transformatörleri de var ve geliştiriciler kütüphaneyi oldukça düzenli olarak güncelliyor.

Tanınmış Scikit-learn kütüphanesine bir alternatif olarak, özellik motoru adı verilen yeni yayınlanmış yeni bir açık kaynak kütüphanesi var . Özellik motoru ile şunları yapabilirsiniz:

  1. Sayısal ve kategorik değişkenlerde ortalama, medyan, keyfi, kuyruk sonu ve rasgele imgeleme
  2. Bir sıcak, tam sayı, sıra, ortalama kodlama ve kanıt ağırlığı gibi çeşitli kategorik kodlamalar yapın.
  3. Log, karşılıklı, exp ve box cox gibi çeşitli değişken dönüşümleri yapın.
  4. Eşit frekans, eşit mesafe ve ağaç bazlı olmak üzere çeşitli takdir yetkisi türleri
  5. Aykırı taşıma

Github deposunda ve belgelerde daha fazla ayrıntı ( https://feature-engine.readthedocs.io/en/latest/ )

Feragatname: Ben özellik motoru yarattım ve açık kaynak yaptı.

Bir başka açık kaynaklı python paketi, farklı kategorik değişken kodlama türlerine izin verir: https://contrib.scikit-learn.org/categorical-encoding/

Son olarak, Özellik araçları , işlem verileri için iyi bir açık kaynak kitaplığıdır.


1

Azure Machine Learning platformunu kontrol etmelisiniz . Çevrimiçi ve ücretsiz bir hesapla kullanabilirsiniz.

Azure ML, grafik kullanıcı arayüzündeki modülleri kullanarak iş akışı sağlar. Bunların çoğu Data Munging ile ilgilidir ve verilerinizi kolayca temizleyebilirsiniz. GUI'de yapamayacağınız bir şey varsa, o zaman verilerinizi değiştirmek için özel R veya Python komut dosyası çalıştırmanıza izin veren bir modül ekleyebilirsiniz.

Bunun güzel yanı, verilerinizi istediğiniz zaman kolayca görüntüleyebilmeniz dataframe.describe()ve R gibi basit istatistikleri kontrol edebilmenizdir .


1

Amazon Machine Learning , bazı zamanlarda özellik mühendisliği için kullandığım bir araçtır.

Amazon AWS hizmetleri çok fazla vaat ve standart gösterdiğinden, veri bilimcilerin iş akışını daha kolay hale getirme umutları ve vaadiyle kesinlikle Amazon ML'ye güvenirim. Ama şimdi itibariyle, hala küçük.

Ancak, özellik mühendisliği için bir araç istediğiniz gibi, bu onlardan biri.

Bazı SSS, Amazon ML kullanmayla ilgili / hakkında.

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.