FastTreeRankingTrainer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
IEstimator<TTransformer> untuk melatih model peringkat pohon keputusan menggunakan FastTree.
public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
- Warisan
Keterangan
Untuk membuat pelatih ini, gunakan FastTree atau FastTree(Options).
Kolom Input dan Output
Jenis data label input harus jenis kunci atau Single. Nilai label menentukan relevansi, di mana nilai yang lebih tinggi menunjukkan relevansi yang lebih tinggi. Jika label adalah jenis kunci , maka indeks kunci adalah nilai relevansi, di mana indeks terkecil adalah yang paling tidak relevan. Jika label adalah , nilai yang lebih Singlebesar menunjukkan relevansi yang lebih tinggi. Kolom fitur harus merupakan vektor berukuran dikenal dari Single dan kolom grup baris input harus berupa jenis kunci .
Pelatih ini menghasilkan kolom berikut:
Nama Kolom Output | Jenis Kolom | Deskripsi |
---|---|---|
Score |
Single | Skor tidak terikat yang dihitung oleh model untuk menentukan prediksi. |
Karakteristik Pelatih
Tugas pembelajaran mesin | Peringkat teratas |
Apakah normalisasi diperlukan? | Tidak |
Apakah penembolokan diperlukan? | Tidak |
NuGet yang diperlukan selain Microsoft.ML | Microsoft.ML.FastTree |
Dapat diekspor ke ONNX | Tidak |
Detail Algoritma Pelatihan
FastTree adalah implementasi algoritma peningkatan gradien MART yang efisien. Peningkatan gradien adalah teknik pembelajaran mesin untuk masalah regresi. Ini membangun setiap pohon regresi dengan cara langkah-bijaksana, menggunakan fungsi kerugian yang telah ditentukan sebelumnya untuk mengukur kesalahan untuk setiap langkah dan memperbaikinya di langkah berikutnya. Jadi model prediksi ini sebenarnya merupakan ansambel model prediksi yang lebih lemah. Dalam masalah regresi, meningkatkan membangun serangkaian pohon tersebut dengan cara yang bijaksana dan kemudian memilih pohon optimal menggunakan fungsi kehilangan yang dapat diferensial yang sewenang-wenang.
MART mempelajari ansambel pohon regresi, yang merupakan pohon keputusan dengan nilai skalar di daunnya. Pohon keputusan (atau regresi) adalah bagan alur seperti pohon biner, di mana pada setiap simpul interior satu memutuskan mana dari dua simpul anak yang akan terus didasarkan pada salah satu nilai fitur dari input. Pada setiap simpul daun, nilai dikembalikan. Dalam simpul interior, keputusan didasarkan pada pengujian x <= v di mana x adalah nilai fitur dalam sampel input dan v adalah salah satu nilai yang mungkin dari fitur ini. Fungsi yang dapat diproduksi oleh pohon regresi adalah semua fungsi konstanta sepotong bijaksana.
Ansambel pohon dihasilkan oleh komputasi, di setiap langkah, pohon regresi yang memperkirakan gradien fungsi kerugian, dan menambahkannya ke pohon sebelumnya dengan koefisien yang meminimalkan hilangnya pohon baru. Output ansambel yang dihasilkan oleh MART pada instans tertentu adalah jumlah output pohon.
- Dalam kasus masalah klasifikasi biner, output dikonversi ke probabilitas dengan menggunakan beberapa bentuk kalibrasi.
- Dalam kasus masalah regresi, output adalah nilai fungsi yang diprediksi.
- Dalam kasus masalah peringkat, instans diurutkan oleh nilai output ansambel.
Untuk informasi selengkapnya, lihat:
- Wikipedia: Peningkatan gradien (Peningkatan pohon gradien).
- Perkiraan fungsi serakah: Mesin peningkat gradien.
Periksa bagian Lihat Juga untuk tautan ke contoh penggunaan.
Bidang
FeatureColumn |
Kolom fitur yang diharapkan pelatih. (Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
Kolom groupID opsional yang diharapkan pelatih peringkat. (Diperoleh dari TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
LabelColumn |
Kolom label yang diharapkan pelatih. Dapat berupa |
WeightColumn |
Kolom berat yang diharapkan pelatih. Dapat berupa |
Properti
Info |
IEstimator<TTransformer> untuk melatih model peringkat pohon keputusan menggunakan FastTree. (Diperoleh dari FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Metode
Fit(IDataView, IDataView) |
FastTreeRankingTrainer Melatih menggunakan data pelatihan dan validasi, mengembalikan RankingPredictionTransformer<TModel>. |
Fit(IDataView) |
Melatih dan mengembalikan ITransformer. (Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
IEstimator<TTransformer> untuk melatih model peringkat pohon keputusan menggunakan FastTree. (Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>) |
Metode Ekstensi
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Tambahkan 'titik pemeriksaan penembolokan' ke rantai estimator. Ini akan memastikan bahwa estimator hilir akan dilatih terhadap data cache. Sangat membantu untuk memiliki titik pemeriksaan penembolokan sebelum pelatih yang mengambil beberapa data berlalu. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Mengingat estimator, kembalikan objek pembungkus yang akan memanggil delegasi setelah Fit(IDataView) dipanggil. Seringkali penting bagi estimator untuk mengembalikan informasi tentang apa yang cocok, itulah sebabnya Fit(IDataView) metode mengembalikan objek yang di ketik secara khusus, bukan hanya umum ITransformer. Namun, pada saat yang sama, IEstimator<TTransformer> sering dibentuk menjadi alur dengan banyak objek, jadi kita mungkin perlu membangun rantai estimator melalui EstimatorChain<TLastTransformer> di mana estimator yang ingin kita dapatkan transformator dimakamkan di suatu tempat dalam rantai ini. Untuk skenario itu, kita dapat melalui metode ini melampirkan delegasi yang akan dipanggil setelah fit dipanggil. |