Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Contoh notebook ini memperlihatkan cara melatih model regresi pada Databricks menggunakan AutoML Python API. Dengan menggunakan himpunan data perumahan California, Anda memanggil automl.regress() untuk memprediksi nilai rumah tengah, lalu menggunakan uji coba terbaik untuk menjalankan inferensi pada set pengujian yang disisihkan.
Persyaratan
Databricks Runtime untuk Pembelajaran Mesin 8.3 atau lebih tinggi.
Himpunan data perumahan California
Himpunan data ini berasal dari sensus AS 1990, menggunakan satu baris per grup blok sensus. Variabel target adalah nilai rumah median untuk distrik California.
import sklearn
input_pdf = sklearn.datasets.fetch_california_housing(as_frame=True)
display(input_pdf.frame)
Pembagian data latih/uji
from sklearn.model_selection import train_test_split
train_pdf, test_pdf = train_test_split(input_pdf.frame, test_size=0.01, random_state=42)
display(train_pdf)
Pelatihan
Perintah berikut memulai eksekusi AutoML. Anda harus menyediakan kolom yang harus diprediksi model dalam target_col argumen.
Setelah proses selesai, Anda bisa mengikuti tautan ke buku catatan percobaan terbaik untuk memeriksa kode pelatihan. Notebook ini juga menyertakan plot kepentingan fitur.
from databricks import automl
summary = automl.regress(train_pdf, target_col="MedHouseVal", timeout_minutes=30)
Perintah berikut menampilkan informasi tentang output AutoML.
help(summary)
Lakukan iterasi pada model
- Jelajahi notebook dan eksperimen yang ditautkan di atas.
- Jika metrik untuk buku catatan percobaan terbaik terlihat bagus, lewati langsung ke bagian inferensi.
- Jika Anda ingin meningkatkan model yang dihasilkan oleh uji coba terbaik:
- Buka buku catatan dengan percobaan terbaik dan kloning.
- Edit buku catatan seperlunya untuk meningkatkan model. Misalnya, Anda dapat mencoba hiperparameter yang berbeda.
- Setelah Anda merasa puas dengan modelnya, catatlah URI di mana artefak model terlatih tersebut dicatatkan. Tetapkan URI ini ke
model_urivariabel di Cmd 12.
Inferensi
Anda dapat menggunakan model yang dilatih oleh AutoML untuk membuat prediksi pada data baru. Contoh di bawah ini menunjukkan cara membuat prediksi pada data di Pandas DataFrames, atau mendaftarkan model sebagai Spark UDF untuk prediksi pada Spark DataFrames.
pandas DataFrame
model_uri = summary.best_trial.model_path
# model_uri = "<model-uri-from-generated-notebook>"
import mlflow
# Prepare test dataset
y_test = test_pdf["MedHouseVal"]
X_test = test_pdf.drop("MedHouseVal", axis=1)
# Run inference using the best model
model = mlflow.pyfunc.load_model(model_uri)
predictions = model.predict(X_test)
test_pdf["MedHouseVal_predicted"] = predictions
display(test_pdf)
Spark DataFrame
# Prepare the test dataset
test_df = spark.createDataFrame(test_pdf)
predict_udf = mlflow.pyfunc.spark_udf(spark, model_uri=model_uri)
display(test_df.withColumn("MedHouseVal_predicted", predict_udf()))
Test
Gunakan model akhir untuk membuat prediksi pada set uji tahanan untuk memperkirakan bagaimana performa model dalam lingkungan produksi.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Prepare the dataset
y_pred = test_pdf["MedHouseVal_predicted"]
test = pd.DataFrame({"Predicted":y_pred,"Actual":y_test})
test = test.reset_index()
test = test.drop(["index"], axis=1)
# plot graphs
fig= plt.figure(figsize=(16,8))
plt.plot(test[:50])
plt.legend(["Actual", "Predicted"])
sns.jointplot(x="Actual", y="Predicted", data=test, kind="reg");
Mendaftarkan dan menyebarkan model
Anda dapat mendaftar dan menyebarkan model yang dilatih oleh AutoML seperti model lain di MLflow Model Registry. Lihat Mencatat, memuat, dan mendaftarkan model MLflow.
Pemecahan masalah: No module named pandas.core.indexes.numeric
Ketika menyajikan model yang telah dilatih dengan AutoML menggunakan Mosaic AI Model Serving, Anda mungkin melihat kesalahan No module named pandas.core.indexes.numeric. Ini terjadi ketika versi pandas yang digunakan oleh AutoML berbeda dari versi dalam lingkungan penyajian model di titik akhir. Untuk menyelesaikan:
- Unduh skrip add-pandas-dependency.py. Untuk menyematkan
pandas==1.5.3, skrip mengeditrequirements.txtdanconda.yamlpada model yang telah dicatat. - Edit skrip untuk menyertakan
run_iddari run MLflow saat model dicatat. - Daftarkan ulang model.
- Layani versi model baru.
Contoh buku catatan
Melatih model regresi dengan
Ambil buku catatan
Langkah berikutnya
Referensi API Python AutoML.