Evalml: Hasilkan deskripsi yang dapat dibaca manusia tentang perilaku pipeline

Dibuat pada 27 Apr 2021  ·  2Komentar  ·  Sumber: alteryx/evalml

Membangun demo penipuan kami :

import evalml
X, y = evalml.demos.load_fraud(n_rows=1000)
pipeline = evalml.pipelines.BinaryClassificationPipeline(
    ['Missing Value Imputer', 'One Hot Encoder', 'Random Forest Classifier'], parameters={})
pipeline.fit(X, y)
print(pipeline.explain())

dapat menghasilkan "The target 'fraud' is heavily influenced by 'amount'" and somewhat influenced by 'provider' and 'card_id'.

Kami dapat mengelompokkan fitur ke dalam tiga kategori: "sangat dipengaruhi", "dipengaruhi" dan "agak dipengaruhi" (kata-kata yang tepat dapat berubah), yang digambarkan oleh besarnya kepentingan relatif. Dalam contoh di atas "jumlah" memiliki kepentingan permutasi sekitar 0,5, sedangkan "penyedia" dan "kartu_id" lebih dekat ke 0,1. TBD algoritma yang tepat untuk menghitung ini.

Saya sarankan membangun beberapa heuristik dan parameter:

  • importance_method : default ke "permutasi"
  • total_importance_threshold , num_feature_threshold , min_importance_threshold : ambil fitur num_feature_threshold teratas, turunkan hingga penjumlahan pentingnya <= total_importance_threshold , dan hapus semua fitur dengan kepentingan < min_importance_threshold . Pemikiran saya untuk default untuk memulai adalah 0,8, 10 dan 0,05.

Idealnya kita dapat menyusun ini dengan cara yang membuat pelokalan lebih mudah, di mana kita membuatnya mudah untuk menukar string template selama mereka menyimpan jumlah kolom isian bernama yang sama.

Saya pikir dokumen desain cepat akan membantu kami memperkuat pemikiran kami tentang hal ini.

needs design new feature

Komentar yang paling membantu

@rpeck Featuretools memang memiliki kemampuan untuk menghasilkan deskripsi fitur yang dapat dibaca manusia, tetapi deskripsi untuk fitur yang kompleks terkadang masih sedikit menantang untuk dipahami.

Berikut ini beberapa dokumentasi FYI: https://featuretools.alteryx.com/en/stable/guides/feature_descriptions.html

Ada teks default yang digunakan tanpa adanya hal lain, atau pengguna dapat menambahkan lebih banyak teks deskriptif untuk membuatnya lebih baik.

Semua 2 komentar

Saya pikir ini adalah ide yang bagus. Namun, tantangan yang lebih besar, jika kita belum memilikinya, adalah melakukan penjelasan yang dapat dibaca manusia untuk fitur yang dihasilkan oleh FeatureTools, terutama yang teragregasi. Itu adalah Proyek (tm) dalam kehidupan saya sebelumnya untuk melakukan ini untuk fitur rekayasa seperti FT yang kompleks.

Setelah kami memiliki fitur yang kompleks dan teragregasi, penjelasan keseluruhan yang Anda miliki di tiket ini akan menjadi sangat bertele-tele dan rumit...

The target 'fraud' is heavily influenced by the ratio of 'transaction count per day' over 'transaction count per month', heavily influenced by the difference between 'transaction amount' and 'mean transaction amount for this customer for the last year', and influenced by 'distance between the centroid of the zipcode of the transaction location' and 'centroid of the zipcode of the customer's home'.

@rpeck Featuretools memang memiliki kemampuan untuk menghasilkan deskripsi fitur yang dapat dibaca manusia, tetapi deskripsi untuk fitur yang kompleks terkadang masih sedikit menantang untuk dipahami.

Berikut ini beberapa dokumentasi FYI: https://featuretools.alteryx.com/en/stable/guides/feature_descriptions.html

Ada teks default yang digunakan tanpa adanya hal lain, atau pengguna dapat menambahkan lebih banyak teks deskriptif untuk membuatnya lebih baik.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat