Apl strim

Linda Hamilton
Lepaskan: 2024-12-03 04:19:08
asal
204 orang telah melayarinya

Streamlit app

C

Customer churn merupakan isu mendesak bagi kebanyakan perniagaan hari ini, terutamanya dalam pasaran Perisian sebagai Perkhidmatan (SaaS) yang kompetitif. Dengan lebih banyak penyedia perkhidmatan memasuki pasaran, pelanggan mempunyai banyak pilihan di hujung jari mereka. Ini mewujudkan cabaran besar bagi perniagaan untuk mengekalkan pelanggan mereka. Pada dasarnya, churn merujuk kepada kehilangan pelanggan apabila mereka berhenti menggunakan perkhidmatan atau membeli produk. Walaupun churn pelanggan boleh berbeza mengikut industri, terdapat faktor biasa yang menyumbang kepadanya, seperti:

  • Kurang Penggunaan Produk: Pelanggan mungkin berhenti menggunakan perkhidmatan kerana ia tidak lagi memenuhi keperluan mereka atau mereka tidak menemui nilai yang mencukupi di dalamnya.
  • Tempoh Kontrak: Pelanggan mungkin terkial-kial apabila kontrak mereka tamat, terutamanya jika mereka tidak berasa cukup insentif untuk memperbaharui.
  • Alternatif yang Lebih Murah: Apabila perkhidmatan bersaing menawarkan harga yang lebih rendah atau ciri yang lebih baik, pelanggan boleh bertukar untuk menjimatkan wang atau meningkatkan pengalaman mereka.

Meminimumkan churn adalah penting untuk mengekalkan aliran hasil yang sihat. Memandangkan perniagaan ingin mengekalkan pertumbuhan jangka panjang, meramal dan mencegah pergolakan telah menjadi keutamaan. Pendekatan terbaik untuk memerangi churn adalah untuk memahami pelanggan anda secara mendalam dan secara proaktif menangani kebimbangan atau keperluan mereka. Satu cara yang berkesan untuk mencapai matlamat ini ialah dengan menganalisis data sejarah untuk mendedahkan corak tingkah laku, yang boleh berfungsi sebagai penunjuk potensi pergolakan.

Jadi, bagaimana kita boleh mengesan corak ini dengan berkesan?

Memanfaatkan Pembelajaran Mesin (ML) untuk Meramalkan Churn

Salah satu penyelesaian yang paling menjanjikan untuk meramalkan dan mencegah churn ialah Pembelajaran Mesin (ML). Dengan menggunakan algoritma ML pada data pelanggan, perniagaan boleh membangunkan strategi pengekalan terpacu data yang disasarkan. Sebagai contoh, pasukan pemasaran boleh menggunakan model ramalan churn untuk mengenal pasti pelanggan yang berisiko dan menghantar tawaran promosi yang disesuaikan atau insentif kepada mereka untuk melibatkan mereka semula.

Untuk menjadikan ramalan ini boleh diambil tindakan, adalah penting untuk menterjemah model ML kepada aplikasi interaktif yang mesra pengguna. Dengan cara ini, model itu boleh digunakan dalam masa nyata, membolehkan pihak berkepentingan menilai risiko pelanggan dengan cepat dan mengambil tindakan yang sewajarnya. Dalam panduan ini, kami akan menunjukkan kepada anda cara untuk mengambil model ML daripada pembangunan dalam Buku Nota Jupyter kepada aplikasi berkontena yang digunakan sepenuhnya menggunakan Streamlit dan Docker.

Peranan Streamlit dalam Membina Aplikasi Interaktif

Streamlit ialah rangka kerja Python sumber terbuka yang direka untuk mencipta aplikasi web interaktif dengan usaha yang minimum. Ia amat popular dalam kalangan saintis data dan jurutera pembelajaran mesin kerana ia membolehkan mereka menukar skrip Python dan model ML dengan cepat kepada apl web berfungsi sepenuhnya.

Kenapa Streamlit?

  • Kod Minimum: Streamlit menyediakan API intuitif yang membolehkan anda membina UI tanpa perlu berurusan dengan HTML, CSS atau JavaScript yang kompleks.
  • Pembangunan Pantas: Dengan sintaksnya yang ringkas, anda boleh membangunkan dan menggunakan aplikasi dipacu data dalam sebahagian kecil daripada masa yang diperlukan dengan rangka kerja lain seperti Flask atau FastAPI.
  • Komponen Terbina Dalam: Streamlit menawarkan pelbagai komponen UI di luar kotak, seperti carta, jadual, peluncur dan borang input, menjadikannya mudah untuk mencipta pengalaman interaktif yang kaya.
  • Penyatuan Model: Streamlit berfungsi dengan lancar dengan model ML terlatih. Anda boleh memuatkan model terus ke dalam apl dan menggunakannya untuk membuat ramalan masa nyata.

Sebaliknya, rangka kerja yang lebih tradisional seperti Flask atau FastAPI memerlukan pengetahuan yang luas tentang pembangunan frontend (HTML/CSS/JavaScript), menjadikannya kurang sesuai untuk pembangunan apl yang cepat dan mengutamakan data.

Menyediakan Persekitaran Anda

Sebelum membina aplikasi Streamlit anda, adalah penting untuk menyediakan persekitaran projek. Ini akan memastikan bahawa semua kebergantungan yang diperlukan dipasang dan kerja anda kekal terpencil daripada projek lain.

Kami akan menggunakan Pipenv untuk mencipta persekitaran maya. Pipenv menguruskan kebergantungan Python dan memastikan persekitaran pembangunan anda konsisten.

Langkah untuk Memasang Ketergantungan:

  1. Pasang Pipenv:

pip pasang pipenv

  1. Buat persekitaran maya baharu dan pasang perpustakaan yang diperlukan (cth., Streamlit, panda, scikit-learn):

pipenv pasang streamlit panda scikit-belajar
`

  1. Aktifkan persekitaran maya:

cengkerang pipenv

Selepas melengkapkan langkah ini, persekitaran anda akan bersedia untuk pelaksanaan skrip!

Membina Model Pembelajaran Mesin

Matlamat projek ini adalah untuk membina model klasifikasi yang meramalkan sama ada pelanggan akan berpusing. Untuk ini, kami akan menggunakan regresi logistik, algoritma popular untuk masalah klasifikasi binari seperti ramalan churn.

Langkah-Langkah Membina Model:

  1. Penyediaan Data:

    • Muatkan set data pelanggan dan periksa strukturnya.
    • Lakukan sebarang pembersihan data yang diperlukan (mengendalikan nilai yang hilang, membetulkan jenis data).
  2. Pemahaman Ciri:

    • Periksa ciri berangka dan kategori untuk memahami taburan dan perhubungannya untuk pecah.
  3. Analisis Data Penerokaan (EDA):

    • Visualkan data untuk mengenal pasti corak, arah aliran dan korelasi.
    • Kendalikan outlier dan nilai yang tiada.
  4. Kejuruteraan Ciri:

    • Buat ciri baharu yang mungkin membantu meningkatkan prestasi model (cth., tempoh pelanggan, kumpulan umur).
  5. Latihan Model:

    • Latih model regresi logistik menggunakan perpustakaan Scikit-learn.
    • Gunakan pengesahan silang untuk memperhalusi hiperparameter dan elakkan pemasangan berlebihan.
  6. Penilaian Model:

    • Nilai prestasi model menggunakan metrik seperti ketepatan, ketepatan, ingatan semula, skor F1 dan lengkung AUC-ROC.

Menyimpan Model Terlatih

Setelah model dilatih dan dinilai, kami perlu mensirikannya untuk menyediakannya untuk digunakan. Pickle ialah perpustakaan Python yang membolehkan anda mensiri (simpan) dan menyahsiri (memuatkan) objek Python, termasuk model pembelajaran mesin terlatih.

ular sawa
import jeruk

Simpan model dan vektorizer kamus
dengan open('model_C=1.0.bin', 'wb') sebagai f_out:
pickle.dump((dict_vectorizer, model), f_out)

Langkah ini memastikan anda tidak perlu melatih semula model setiap kali ia digunakan, membolehkan ramalan yang lebih pantas.

Membina Apl Streamlit

Sekarang model kami telah disimpan, tiba masanya untuk mengubahnya menjadi aplikasi web interaktif.

  1. Sediakan apl Streamlit: Dalam fail stream_app.py anda, anda perlu:

    • Import perpustakaan yang diperlukan (Streamlit, Pickle, dll.).
    • Muatkan model dan vektorizer yang disimpan.
    • Buat reka letak interaktif dengan widget input (cth., peluncur, kotak teks) untuk mengumpul data pelanggan.
    • Paparkan ramalan churn berdasarkan input pengguna.
  2. Interaksi Pengguna:

    • Pengguna boleh memasukkan butiran pelanggan (cth., tempoh perkhidmatan, caj bulanan, dll.).
    • Logik bahagian belakang mengekodkan ciri kategori (cth., jantina, jenis kontrak) dan menggunakan model untuk mengira skor risiko churn.
  3. Memaparkan Keputusan:

    • Tunjukkan skor kebarangkalian churn dan mesej yang menunjukkan sama ada pelanggan berkemungkinan akan churn.
    • Jika skor melebihi ambang tertentu (mis., 0.5), cetuskan pengesyoran untuk campur tangan (mis., usaha pemasaran yang disasarkan).
  4. Pemprosesan Kelompok:

    • Streamlit juga menyokong pemarkahan kelompok. Pengguna boleh memuat naik fail CSV dengan butiran pelanggan dan apl itu akan memproses data dan memaparkan skor churn untuk semua pelanggan dalam fail.

Menggunakan Aplikasi dengan Docker

Untuk memastikan apl berfungsi dengan lancar merentas persekitaran yang berbeza (cth., mesin tempatan, perkhidmatan awan), kami akan menyimpan aplikasi menggunakan Docker.

  1. Buat fail Docker:

    • Fail ini mentakrifkan cara membina bekas Docker yang merangkumi persekitaran Python dan kod aplikasi anda.
  2. Bina Imej Docker:

apl churn build -t churn-prediction-app .

  1. Jalankan Bekas Docker:

larian buruh pelabuhan -p 8501:8501 apl ramalan-churn

Ini akan mendedahkan apl anda pada port 8501, membolehkan pengguna berinteraksi dengannya daripada penyemak imbas mereka.

Kesimpulan
Dengan menggabungkan pembelajaran mesin dengan antara muka mesra pengguna seperti Streamlit, anda boleh mencipta aplikasi berkuasa yang membantu perniagaan meramal dan mengurangkan pergolakan pelanggan. Mengekalkan apl anda dengan Docker memastikan ia boleh digunakan dan diakses dengan mudah, tidak kira platform.

Pendekatan ini memperkasakan perniagaan untuk bertindak secara proaktif, menyasarkan pelanggan yang berisiko, dan akhirnya mengurangkan pergolakan, memupuk kesetiaan pelanggan dan meningkatkan aliran hasil.

Atas ialah kandungan terperinci Apl strim. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan