Saya melatih model prediksi dengan Scikit Learn in Python (Random Forest Regressor) dan saya ingin mengekstraksi bobot setiap fitur untuk membuat alat excel untuk prediksi manual.
Satu-satunya hal yang saya temukan adalah model.feature_importances_
tetapi tidak membantu.
Apakah ada cara untuk mencapainya?
def performRandomForest(X_train, y_train, X_test, y_test):
'''Perform Random Forest Regression'''
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit( X_train , y_train )
#make predictions
expected = y_test
predicted = model.predict( X_test )
#summarize the fit of the model
mse = np.mean(( predicted - expected )** 2)
accuracy = ( model.score ( X_train , y_train ))
return model, mse, accuracy
Saat ini, saya menggunakan model.predict([features])
untuk melakukannya, tetapi saya membutuhkannya dalam file excel.
decision trees
Regresi hutan acak adalah hutan acak , sehingga Anda tidak akan mendapatkan satu persamaan seperti yang Anda lakukan dengan regresi linier. Sebaliknya Anda akan mendapatkan banyakif, then, else
logika dan banyak persamaan akhir untuk mengubah daun akhir menjadi nilai numerik. Bahkan jika Anda dapat memvisualisasikan pohon dan mengeluarkan semua logikanya, ini semua tampak seperti kekacauan besar. Jika Anda bekerja di excel, mungkin pikirkan tentang hanya melatih model Anda dalam excel menggunakan Azure. Namun, saya mungkin hanya akan memanggil python dari dalam excel.Jawaban:
The SKompiler perpustakaan mungkin membantu:
Lihat video ini .
sumber
Alih-alih mengekspor bobot, Anda dapat mengekspor model ke file acar dan menggunakan xlwings untuk membaca data dari spreadsheet, memuat model acar dan menjalankan prediksi. Berikut pertanyaan serupa .
sumber
Saya kira Anda ingin mengekstrak semua logika diikuti oleh pohon yang berbeda untuk berakhir pada regresi terakhir. Untuk itu, Anda perlu mengekstrak logika masing-masing pohon terlebih dahulu dan kemudian mengekstrak bagaimana jalur tersebut diikuti. Scikit belajar dapat menyediakannya melalui .decision_path (X), dengan X beberapa dataset untuk diprediksi. Dari sini Anda akan mendapatkan ide tentang prediksi hutan acak dan logika apa yang diikuti pada setiap langkah.
Setelah mengekstrak decision_path, Anda dapat menggunakan Penerjemah Pohon untuk mendapatkan "rumus" dari Hutan Acak yang Anda latih. Saya tidak terbiasa dengan Penafsir Pohon ini, tetapi tampaknya bekerja langsung pada pemodel yang telah Anda latih, yaitu,
sumber