HeadlinesBriefing HeadlinesBriefing 11 languages

My Model Worked Perfectly. Then I Tried to Make It Useful.

Towards Data Science ·

🇬🇧 English

A few months ago, I tried to challenge myself to undertake a journey to transition from a data analytics background to data engineering. So far I’ve built a total of two impactful real-world projects that actually taught me something useful. I built a Git Hub ET L pipeline that extracts Git Hub repositories and loads them into a SQLite database — this ran on a schedule using Git Hub Actions.

I also built an RSS pipeline that extracts articles from RSS feeds and stores them into a Kestra database — orchestrated by Kestra to run on an hourly schedule. Now that I’ve understood ET L to a point, I wanted to try something new. I wanted to keep practicing all I’ve learned in the past whilst building something new.

I had always been fascinated by the field of machine learning, but never actually had the courage to step in because I thought it had complex math. Not anymore. Recently, I built a churn prediction model for a fictional telecom company I am calling Northline Mobile (P.

S. I’m using a fictional company because I understand things best with real-world scenarios). I provided it with data from 7043 customers, telling it whether they had signed up for a 1-year contract or month-to-month plans, length of customer, monthly charges, add-ons, etc. Furthermore, I told it who eventually left Northline Mobile.

I cross-validated the model with customers it had not seen yet. It achieved 81% accuracy. This taught me everything that goes into building a model.

Obviously I didn’t understand all the complex code, because I prefer intuitive drag and drop interfaces rather than complex code. But I understood the essential building blocks of building a model; I’ll explain further below with a simplified architecture. So building this model felt like a win from a machine learning perspective; my model worked.

But there was still one problem: it was still not really useful. Assuming a Northline employee who needed a prediction comes to me, I would have to open Jupyter, load the right notebook, run the cells in the correct order and make a manual call to predict_churn(). Yeah, the model exists, but I was the only one that knows how to use it.

No one else at Northline could just send information on a customer to the model and retrieve a prediction and it could not speak to any other application either. This article will be covering this. I recently learned that there is a difference between having a model and having a service.

If a model just sits in a notebook only the person who built it can use it. But making it a service makes it possible for everyone to use it, other teams, apps, dashboards and systems that do not need to know or care how the prediction is made. It turns out building the machine learning model was the easiest part, but making it useful is another crucial element worth exploring.

What "Done" Meant Before the APIHere's roughly what building the model looked like: That’s pretty much it. Nothing too fancy. By the end of that, I had a trained churn classifier, a preprocessing pipeline that cleaned and encoded the raw data, and evaluation numbers I was comfortable with (more on those numbers shortly, they're not perfect and I'm not going to pretend they are).

But like I said. Assuming Northline's retention team builds a dashboard, and they want it to flag at-risk customers automatically. Their dashboard can't reasonably open my Jupyter notebook and run my cells.

It needs something else entirely. Something like this: That's the shift this article covers. One quick disclaimer, though: this isn’t a Fast API tutorial.

Fast API is simply the tool I happened to use to expose the model as ...

View original article →


🇸🇦 العربية

من النموذج إلى الخدمة: جعل تعلم الآلة مفيدًا باستخدام FastAPI

قبل بضعة أشهر، حاولت تحدي نف myself للشروع في رحلة للانتقال من خلفية في تحليل البيانات إلى هندسة البيانات. حتى الآن قمت ببناء ما مجموعه مشروعين حقيقيين مؤثرين علماني في الواقع شيئًا مفيدًا. قمت ببناء خط معالجة Git Hub ET L يستخرج مستودعات Git Hub ويقوم بتحميلها في قاعدة بيانات SQLite — كان هذا يعمل وفق جدول زمني باستخدام Git Hub Actions. كما قمت ببناء خط معالجة RSS يستخرج المقالات من موجات RSS ويخزنها في قاعدة بيانات Kestra — منسق بواسطة Kestra للعمل وفق جدول زمني كل ساعة. الآن بعد أن فهمت ET L إلى حد ما، أردت تجربة شيء جديد. أردت الاستمرار في ممارسة كل ما تعلمته في الماضي أثناء بناء شيء جديد. كنت دائمًا مفتونًا بمجال تعلم الآلة، لكنني لم أكن لدي الشجاعة للدخول إليه لأنني كنت أعتقد أنه يتضمن رياضيات معقدة. ليس بعد الآن. مؤخرًا، قمت ببناء نموذج تنبؤ بخسارة العملاء لشركة اتصالات خيالية أسميها Northline Mobile (ملاحظة: أنا أستخدم شركة خيالية لأنني أفهم الأشياء بشكل أفضل مع سيناريوهات العالم الحقيقي). قدمت له بيانات من 7043 عميل، أخبرته ما إذا كانوا قد اشتركوا في عقد لمدة عام واحد أو خطط شهرية، ومدة العميل، والرسوم الشهرية، والخدمات الإضافية، إلخ. علاوة على ذلك، أخبرته من غادر في النهاية Northline Mobile. قمت بالتحقق المتقاطع للنموذج مع عملاء لم يرهم بعد. حقق دقة 81%. هذا علمني كل ما يدخل في بناء نموذج. من الواضح أنني لم أفهم كل التعليمات البرمجية المعقدة، لأنني أفضل واجهات السحب والإفلات البديهية بدلاً من التعليمات البرمجية المعقدة. لكنني فهمت اللبنات الأساسية لبناء نموذج؛ سأشرح أكثر أدناه مع بنية مبسطة. لذا بناء هذا النموذج شعر كأنه فوز من منظور تعلم الآلة؛ نموذجي عمل. لكن كان لا يزال هناك مشكلة واحدة: لم يكن مفيدًا حقًا بعد. بافتراض أن موظف Northline يحتاج إلى تنبؤ ويأتي إلي، سأضطر إلى فتح Jupyter، وتحميل الدفتر الصحيح، وتشغيل الخلايا بالترتيب الصحيح وإجراء مكالمة يدلية إلى predict_churn(). نعم، النموذج موجود، لكنني كنت الشخص الوحيد الذي يعرف كيفية استخدامه. لا أحد آخر في Northline يمكنه ببساطة إرسال معلومات عن عميل إلى النموذج واسترداد تنبأ ولم يكن قادرًا على التحدث إلى أي تطبيق آخر either. هذه المقالة ستغطي هذا. تعلمت مؤخرًا أن هناك فرقًا بين امتلاك نموذج وامتلاك خدمة. إذا كان النموذج مجرد جالس في دفتر ملاحظات فقط الشخص الذي بناه يمكنه استخدامه. لكن جعله خدمة يجعل من الممكن للجميع استخدامه، فرق أخرى، تطبيقات، لوحات معلومات وأنظمة لا تحتاج إلى معرفة أو الاهتمام بكيفية صنع التنبؤ. اتضح أن بناء نموذج تعلم الآلة كان الجزء الأسهل، لكن جعله مفيدًا هو عنصر حاسم آخر يستحق الاستكشاف. ماذا يعني 'تم' قبل ال APIإليك تقريبًا كيف كان بناء النموذج يبدو: هذا إلى حد كبير. لا شيء خيالي جدًا. بحلول نهاية ذلك، كان لدي مصنف خسارة عملاء مدرب، خط معالجة مسبق ينظف ويشفر البيانات الخام، وأرقام تقييم كنت مرتاحًا معها (المزيد عن تلك الأرقام قريبًا، إنها ليست مثالية ولن أتظاهر بأنها كذلك). لكن كما قلت. بافتراض أن فريق الاحتفاظ بـ Northline يبني لوحة معلومات، ويريدون منها تمييز العملاء المعرضين للخطر تلقائيًا. لا يمكن بلوحة المعرفة الخاصة بهم فتح دفتر Jupyter الخاص بي وتشغيل خلاياي بشكل معقول. تحتاج إلى شيء آخر تمامًا. شيء مثل هذا: هذا هو التحول الذي تغطيه هذه المقالة. تنبيه سريع، مع ذلك: هذا ليس درسًا تعليميًا لـ Fast API. Fast API هو ببساطة الأداة التي استخدمتها لعرض النموذج كـ...

لماذا تحويل نموذج تعلم الآلة إلى خدمة مهم؟

جعل النموذج خدمة يسمح للفرق والتطبيقات ولوحات المعلومات والأنظمة الأخرى باستخدامه دون الحاجة إلى معرفة كيفية صنع التنبؤ، مما يزيد من إمكانية الوصول والفائدة بما يتجاوز المنشئ الأصلي.

العربية version →


🇧🇩 বাংলা

মডেল থেকে সার্ভিস: FastAPI দিয়ে ML কে কার্যকর করা

কয়েক মাস আগে, আমি নিজেকে চ্যালেঞ্জ করার চেষ্টা করেছিলাম যাতে আমি ডেটা অ্যানালিটিক্স ব্যাকগ্রাউন্ড থেকে ডেটা ইঞ্জিনিয়ারিং এ রূপান্তরের যাত্রা শুরু করতে পারি। এখন পর্যন্ত আমি মোট দুটি প্রভাবশালী বাস্তব-বিশ্ব প্রকল্প তৈরি করেছি যা আমাকে সত্যিই কিছু কার্যকর শিখিয়েছে। আমি একটি Git Hub ET L পাইপলাইন তৈরি করেছি যা Git Hub রিপোজিটরি এক্সট্র্যাক্ট করে এবং সেগুলিকে SQLite ডেটাবেসে লোড করে — এটি Git Hub Actions ব্যবহার করে একটি সময়সূচীতে চলত। আমি একটি RSS পাইপলাইনও তৈরি করেছি যা RSS ফিড থেকে নিবন্ধ এক্সট্র্যাক্ট করে এবং সেগুলিকে Kestra ডেটাবেসে সংরক্ষণ করে — Kestra দ্বারা ঘণ্টায় সময়সূচীতে চলার জন্য অর্কেস্ট্রেটেড। এখন যেহেতু আমি ET L কে কিছুটা বুঝতে পেরেছি, আমি কিছু নতুন চেষ্টা করতে চেয়েছিলাম। আমি নতুন কিছু তৈরি করার সময় অতীতে যা শিখেছি তা সব অনুশীলন চালিয়ে যেতে চেয়েছিলাম। আমি সবসময় মেশিন লার্নিং ক্ষেত্রে মুগ্ধ ছিলাম, কিন্তু আমি কখনও এতে প্রবেশ করার সাহস পাইনি কারণ আমি ভেবেছিলাম এতে জটিল গণিত ছিল। আর নয়। সম্প্রতি, আমি একটি কাল্পনিক টেলিকম কোম্পানির জন্য একটি চার্ন প্রেডিকশন মডেল তৈরি করেছি যাকে আমি Northline Mobile বলছি (পি.এস. আমি একটি কাল্পনিক কোম্পানি ব্যবহার করছি কারণ আমি বাস্তব-বিশ্বের পরিস্থিতিতে সবচেয়ে ভালো বুঝতে পারি)। আমি এটিকে 7043 গ্রাহকের ডেটা সরবরাহ করেছি, এটিকে বলেছি তারা 1-বছরের চুক্তি বা মাসিক পরিকল্পনার জন্য সাইন আপ করেছে কিনা, গ্রাহকের দৈর্ঘ্য, মাসিক চার্জ, অ্যাড-অন ইত্যাদি। উপরন্তু, আমি এটিকে বলেছি যে শেষ পর্যন্ত কে Northline Mobile ছেড়েছে। আমি এমন গ্রাহকদের সাথে মডেলটি ক্রস-ভ্যালিডেট করেছি যাদের এটি এখনও দেখেনি। এটি 81% নির্ভুলতা অর্জন করেছে। এটি আমাকে একটি মডেল তৈরির সবকিছু শিখিয়েছে। স্পষ্টতই আমি সমস্ত জটিল কোড বুঝিনি, কারণ আমি জটিল কোডের পরিবর্তে সহজ ড্র্যাগ এবং ড্রপ ইন্টারফেস পছন্দ করি। কিন্তু আমি একটি মডেল তৈরির প্রয়োজনীয় বিল্ডিং ব্লকগুলি বুঝেছি; আমি নিচে একটি সরলীকৃত আর্কিটেকচারের সাথে আরও ব্যাখ্যা করব। তাই মেশিন লার্নিং দৃষ্টিকোণ থেকে এই মডেলটি তৈরি করা একটি জয়ের মতো মনে হয়েছিল; আমার মডেল কাজ করেছিল। কিন্তু এখনও একটি সমস্যা ছিল: এটি এখনও সত্যিই কার্যকর ছিল না। ধরে নিই যে একজন Northline কর্মচারী যার একটি প্রেডিকশন প্রয়োজন সে আমার কাছে আসে, আমাকে Jupyter খুলতে হবে, সঠিক নোটবুক লোড করতে হবে, সেলগুলি সঠিক ক্রমে চালাতে হবে এবং predict_churn() এ ম্যানুয়াল কল করতে হবে। হ্যাঁ, মডেলটি বিদ্যমান, কিন্তু আমিই একমাত্র ব্যক্তি যিনি জানেন কীভাবে এটি ব্যবহার করতে হয়। Northline-এ অন্য কেউই সহজভাবে একজন গ্রাহকের তথ্য মডেলে পাঠাতে এবং একটি প্রেডিকশন পুনরুদ্ধার করতে পারে না এবং এটি অন্য কোনো অ্যাপ্লিকেশনের সাথেও কথা বলতে পারে না। এই নিবন্ধটি এটি কভার করবে। আমি সম্প্রতি শিখেছি যে একটি মডেল থাকা এবং একটি সার্ভিস থাকার মধ্যে একটি পার্থক্য রয়েছে। যদি একটি মডেল শুধুমাত্র একটি নোটবুকে বসে থাকে তবে কেবল এটি তৈরি করা ব্যক্তি এটি ব্যবহার করতে পারে। কিন্তু এটিকে একটি সার্ভিস করে তোলার ফলে প্রত্যেকে এটি ব্যবহার করতে পারে, অন্যান্য টিম, অ্যাপ, ড্যাশবোর্ড এবং সিস্টেমগুলির জন্য যাদের জানার বা চিন্তা করার প্রয়োজন নেই যে প্রেডিকশন কীভাবে তৈরি করা হয়। দেখা যাচ্ছে মেশিন লার্নিং মডেল তৈরি করা সবচেয়ে সহজ অংশ ছিল, কিন্তু এটি কার্যকর করা অন্য একটি গুরুত্বপূর্ণ উপাদান যা অন্বেষণ করার মতো। API-এর আগে 'সম্পন্ন' এর অর্থ কী ছিলএখানে মডেল তৈরি করা কেমন ছিল তার একটি আনুমানিক চিত্র: এটি এই পর্যন্ত। খুব ফ্যান্সি কিছু নয়। এর শেষে, আমার কাছে একটি প্রশিক্ষিত চার্ন ক্লাসিফায়ার ছিল, একটি প্রিপ্রসেসিং পাইপলাইন যা কাঁচা ডেটা পরিষ্কার এবং এনকোড করেছিল, এবং মূল্যায়ন সংখ্যা যা আমি স্বাচ্ছন্দ্য বোধ করেছি (এই সংখ্যাগুলি সম্পর্কে শীঘ্রই আরও, তারা নিখুঁত নয় এবং আমি দাবি করব না যে তারা নিখুঁত)। কিন্তু যেমন আমি বলেছি। ধরে নিই যে Northline-এর রিটেনশন টিম একটি ড্যাশবোর্ড তৈরি করে, এবং তারা চায় যে এটি ঝুঁকিপূর্ণ গ্রাহকদের স্বয়ংক্রিয়ভাবে চিহ্নিত করুক। তাদের ড্যাশবোর্ড যৌক্তিকভাবে আমার Jupyter নোটবুক খুলতে এবং আমার সেলগুলি চালাতে পারে না। এর সম্পূর্ণ ভিন্ন কিছু প্রয়োজন। এমন কিছু: এটিই সেই পরিবর্তন যা এই নিবন্ধটি কভার করে। একটি দ্রুত দাবি, যদিও: এটি একটি Fast API টিউটোরিয়াল নয়। Fast API হল সেই টুল যা আমি মডেলটিকে ... হিসাবে উন্মুক্ত করতে ব্যবহার করেছি

মেশিন লার্নিং মডেলকে সার্ভিসে রূপান্তর করা কেন গুরুত্বপূর্ণ?

একটি মডেলকে সার্ভিসে পরিণত করার ফলে অন্যান্য টিম, অ্যাপ, ড্যাশবোর্ড এবং সিস্টেমগুলি জানার প্রয়োজন ছাড়াই এটি ব্যবহার করতে পারে যে প্রেডিকশন কীভাবে তৈরি করা হয়, মূল নির্মাতার বাইরে অ্যাক্সেসযোগ্যতা এবং উপযোগিতা বৃদ্ধি করে।

বাংলা version →


🇩🇪 Deutsch

Vom Modell zum Service: ML mit FastAPI nützlich machen

Vor ein paar Monaten versuchte ich, mich selbst herauszufordern und eine Reise anzutreten, um vom Hintergrund in Datenanalyse zu Data Engineering zu wechseln. Bisher habe ich insgesamt zwei wirkungsvolle realwelt Projekte gebaut, die mir tatsächlich etwas Nützliches beigebracht haben. Ich baute eine Git Hub ET L-Pipeline, die Git Hub-Repositories extrahiert und in eine SQLite-Datenbank lädt — diese lief nach einem Zeitplan mit Git Hub Actions.

Ich baute auch eine RSS-Pipeline, die Artikel aus RSS-Feeds extrahiert und in einer Kestra-Datenbank speichert — orchestriert von Kestra, um nach einem stündlichen Zeitplan zu laufen. Jetzt, da ich ET L bis zu einem gewissen Grad verstanden habe, wollte ich etwas Neues ausprobieren. Ich wollte weiter üben, was ich in der Vergangenheit gelernt hatte, während ich etwas Neues baute.

Ich war schon immer fasziniert vom Bereich des maschinellen Lernens, hatte aber nie den Mut, einzusteigen, weil ich dachte, es hätte komplexe Mathematik. Nicht mehr. Kürzlich baute ich ein Churn-Vorhersagemodell für ein fiktives Telekommunikationsunternehmen, das ich Northline Mobile nenne (P.

S. Ich verwende ein fiktives Unternehmen, weil ich Dinge am besten an realen Szenarien verstehe). Ich versorgte es mit Daten von 7043 Kunden und sagte ihm, ob sie einen 1-Jahres-Vertrag oder monatliche Pläne abgeschlossen hatten, Kundendauer, monatliche Gebühren, Add-ons usw.

Außerdem sagte ich ihm, wer Northline Mobile schließlich verließ. Ich kreuzvalidierte das Modell mit Kunden, die es noch nicht gesehen hatte. Es erreichte 81% Genauigkeit.

Das lehrte mich alles, was in den Bau eines Modells einfließt. Offensichtlich verstand ich nicht den gesamten komplexen Code, da ich intuitive Drag-and-Drop-Oberflächen gegenüber komplexem Code bevorzuge. Aber ich verstand die wesentlichen Bausteine für den Bau eines Modells; ich werde unten mit einer vereinfachten Architektur weiter erklären.

Also fühlte sich der Bau dieses Modells wie ein Sieg aus der Perspektive des maschinellen Lernens an; mein Modell funktionierte. Aber es gab noch ein Problem: Es war noch nicht wirklich nützlich. Angenommen, ein Northline-Mitarbeiter, der eine Vorhersage benötigt, kommt zu mir, müsste ich Jupyter.

Deutsch version →


🇪🇸 Español

De modelo a servicio: haciendo útil el ML con FastAPI

Hace unos meses, intenté desafiarme a mí mismo a emprender un viaje para pasar de un背景 de análisis de datos a ingeniería de datos. Hasta ahora he construido un total de dos proyectos reales impactantes que realmente me enseñaron algo útil. Construí un pipeline ET L de Git Hub que extrae repositorios de Git Hub y los carga en una base de datos SQLite — esto se ejecutaba en un horario usando Git Hub Actions.

También construí un pipeline RSS que extrae artículos de feeds RSS y los almacena en una base de datos Kestra — orquestado por Kestra para ejecutarse en un horario por hora. Ahora que he entendido ET L hasta cierto punto, quería probar algo nuevo. Quería seguir practicando todo lo que he aprendido en el pasado mientras construyo algo nuevo.

Siempre me había fascinado el campo del aprendizaje automático, pero nunca tuve el valor de entrar porque pensaba que tenía matemáticas complejas. Ya no. Recientemente, construí un modelo de predicción de churn para una empresa de telecomunicaciones ficticia que llamo Northline Mobile (P.

D. Estoy usando una empresa ficticia porque entiendo las cosas mejor con escenarios del mundo real). Le proporcioné datos de 7043 clientes, indicándole si se habían inscrito en un contrato de 1 año o planes mensuales, duración del cliente, cargos mensuales, complementos, etc. Además, le dije quién eventualmente dejó Northline Mobile.

Validé cruzadamente el modelo con clientes que aún no había visto. Alcanzó una precisión del 81%. Esto me enseñó todo lo que implica construir un modelo.

Obviamente no entendí todo el código complejo, porque prefiero interfaces intuitivas de arrastrar y soltar en lugar de código complejo. Pero entendí los bloques de construcción esenciales para construir un modelo; lo explicaré más a continuación con una arquitectura simplificada. Así que construir este modelo se sintió como una victoria desde la perspectiva del aprendizaje automático; mi modelo funcionaba.

Pero todavía había un problema: todavía no era realmente útil. Asumiendo que un empleado de Northline que necesitaba una predicción viene a mí, tendría que abrir Jupyter, cargar el notebook correcto, ejecutar las celdas en el orden correcto y hacer una llamada manual a predict_churn(). Sí, el modelo existe, pero yo era el único que sabía cómo usarlo.

Nadie más en Northline podía simplemente enviar información sobre un cliente al modelo y recuperar una predicción y tampoco podía comunicarse con ninguna otra aplicación. Este artículo cubrirá esto. Recientemente aprendí que hay una diferencia entre tener un modelo y tener un servicio.

Si un modelo solo está en un notebook, solo la persona que lo construyó puede usarlo. Pero convertirlo en un servicio hace posible que todos lo usen, otros equipos, aplicaciones, paneles y sistemas que no necesitan saber o preocuparse cómo se hace la predicción. Resulta que construir el modelo de aprendizaje automático fue la parte más fácil, pero hacerlo útil es otro elemento crucial que vale la pena explorar.

Lo que "Hecho" significaba antes de la APIAquí está aproximadamente cómo se veía construir el modelo: Eso es prácticamente todo. Nada demasiado sofisticado. Al final de eso, tenía un clasificador de churn entrenado, un pipeline de preprocesamiento que limpiaba y codificaba los datos sin procesar, y números de evaluación con los que estaba cómodo (más sobre esos números en breve, no son perfectos y no voy a pretender que lo sean).

Pero como dije. Asumiendo que el equipo de retención de Northline construye un panel, y quieren que marque automáticamente a los clientes en riesgo. Su panel no puede razonablemente abrir mi notebook de Jupyter y ejecutar mis celdas.

Necesita algo completamente diferente. Algo como esto: Ese es el cambio que cubre este artículo. Una rápida advertencia, sin embargo: este no es un tutorial de Fast API.

Fast API es simplemente la herramienta que usé para exponer el modelo como...

¿Por qué es importante convertir un modelo de aprendizaje automático en un servicio?

Convertir un modelo en un servicio permite que otros equipos, aplicaciones, paneles y sistemas lo utilicen sin necesidad de saber cómo se hace la predicción, aumentando la accesibilidad y la utilidad más allá del creador original.

Español version →


🇫🇷 Français

Du modèle au service : rendre le ML utile avec FastAPI

Il y a quelques mois, j'ai essayé de me lancer un défi pour entreprendre un voyage afin de passer d'un background en analyse de données à l'ingénierie des données. Jusqu'à présent, j'ai construit un total de deux projets concrets impactants qui m'ont vraiment appris quelque chose d'utile. J'ai construit un pipeline ET L Git Hub qui extrait les dépôts Git Hub et les charge dans une base de données SQLite — cela fonctionnait selon un calendrier utilisant Git Hub Actions.

J'ai également construit un pipeline RSS qui extrait les articles des flux RSS et les stocke dans une base de données Kestra — orchestré par Kestra pour s'exécuter sur un calendrier horaire. Maintenant que j'ai compris ET L dans une certaine mesure, je voulais essayer quelque chose de nouveau. Je voulais continuer à pratiquer tout ce que j'ai appris dans le passé tout en construisant quelque chose de nouveau.

J'ai toujours été fasciné par le domaine de l'apprentissage automatique, mais je n'avais jamais eu le courage d'y entrer parce que je pensais qu'il impliquait des mathématiques complexes. Plus maintenant. Récemment, j'ai construit un modèle de prédiction de churn pour une entreprise de télécommunications fictive que j'appelle Northline Mobile (P.

S. J'utilise une entreprise fictive parce que je comprends mieux les choses avec des scénarios du monde réel). Je lui ai fourni des données de 7043 clients, en lui indiquant s'ils s'étaient inscrits à un contrat d'un an ou à des plans mensuels, la durée du client, les frais mensuels, les modules complémentaires, etc. De plus, je lui ai dit qui avait finalement quitté Northline Mobile.

J'ai validé le modèle de manière croisée avec des clients qu'il n'avait pas encore vus. Il a atteint une précision de 81%. Cela m'a appris tout ce qui entre dans la construction d'un modèle.

De toute évidence, je n'ai pas compris tout le code complexe, car je préfère les interfaces intuitives de glisser-déposer plutôt que le code complexe. Mais j'ai compris les blocs de construction essentiels pour construire un modèle ; je l'expliquerai plus loin ci-dessous avec une architecture simplifiée. Donc, construire ce modèle ressemblait à une victoire du point de vue de l'apprentissage automatique ; mon modèle fonctionnait.

Mais il y avait encore un problème : il n'était pas encore vraiment utile. En supposant qu'un employé de Northline qui avait besoin d'une prédiction vienne me voir, je devrais ouvrir Jupyter, charger le bon notebook, exécuter les cellules dans le bon ordre et faire un appel manuel à predict_churn(). Oui, le modèle existe, mais j'étais le seul à savoir comment l'utiliser.

Personne d'autre chez Northline ne pouvait simplement envoyer des informations sur un client au modèle et récupérer une prédiction et il ne pouvait pas non plus communiquer avec une autre application. Cet article va couvrir cela. J'ai récemment appris qu'il y a une différence entre avoir un modèle et avoir un service.

Si un modèle reste simplement dans un notebook, seule la personne qui l'a construit peut l'utiliser. Mais en faire un service permet à tout le monde de l'utiliser, d'autres équipes, des applications, des tableaux de bord et des systèmes qui n'ont pas besoin de savoir ou de se soucier de comment la prédiction est faite. Il s'avère que construire le modèle d'apprentissage automatique était la partie la plus facile, mais le rendre utile est un autre élément crucial qui mérite d'être exploré.

Ce que 'Terminé' signifiait avant l' APIVoici à peu près à quoi ressemblait la construction du modèle : C'est à peu près tout. Rien de trop sophistiqué. À la fin de cela, j'avais un classificateur de churn entraîné, un pipeline de prétraitement qui nettoyait et encodait les données brutes, et des chiffres d'évaluation avec lesquels j'étais à l'aise (plus sur ces chiffres bientôt, ils ne sont pas parfaits et je ne vais pas prétendre qu'ils le sont). Mais comme je l'ai dit.

En supposant que l'équipe de rétention de Northline construit un tableau de bord, et qu'ils veulent qu'il signale automatiquement les clients à risque. Leur tableau de bord ne peut pas raisonnablement ouvrir mon notebook Jupyter et exécuter mes cellules. Il a besoin de quelque chose de complètement différent.

Quelque chose comme ceci : C'est le changement que cet article couvre. Une petite mise en garde, cependant : ce n'est pas un tutoriel Fast API. Fast API est simplement l'outil que j'ai utilisé pour exposer le modèle comme...

Pourquoi est-il important de transformer un modèle d'apprentissage automatique en service ?

Faire d'un modèle un service permet à d'autres équipes, applications, tableaux de bord et systèmes de l'utiliser sans avoir besoin de savoir comment la prédiction est faite, augmentant l'accessibilité et l'utilité au-delà du créateur original.

Français version →


🇮🇳 हिन्दी

मॉडल से सेवा तक: FastAPI के साथ ML को उपयोगी बनाना

कुछ महीने पहले, मैंने खुद को चुनौती देने की कोशिश की ताकि मैं डेटा एनालिटिक्स बैकग्राउंड से डेटा इंजीनियरिंग तक के सफर पर निकल सकूं। अब तक मैंने कुल दो प्रभावशाली वास्तविक दुनिया की परियोजनाएं बनाई हैं जिन्होंने मुझे कुछ उपयोगी सिखाया। मैंने एक Git Hub ET L पाइपलाइन बनाई जो Git Hub रिपॉजिटरी को निकालती है और उन्हें SQLite डेटाबेस में लोड करती है — यह Git Hub Actions का उपयोग करके एक शेड्यूल पर चलता था। मैंने एक RSS पाइपलाइन भी बनाई जो RSS फीड से लेख निकालती है और उन्हें Kestra डेटाबेस में स्टोर करती है — Kestra द्वारा घंटे के शेड्यूल पर चलने के लिए ऑर्केस्ट्रेट किया गया। अब जब मैंने ET L को कुछ हद तक समझ लिया है, मैं कुछ नया आजमाना चाहता था। मैं नया कुछ बनाते हुए अतीत में जो कुछ भी सीखा था उसका अभ्यास जारी रखना चाहता था। मुझे हमेशा मशीन लर्निंग के क्षेत्र से मोहित किया गया था, लेकिन मेरे पास इसमें कदम रखने का साहस कभी नहीं था क्योंकि मुझे लगता था कि इसमें जटिल गणित था। अब ऐसा नहीं है। हाल ही में, मैंने एक काल्पनिक टेलीकॉम कंपनी के लिए एक चर्न प्रेडिक्शन मॉडल बनाया जिसे मैं Northline Mobile कह रहा हूं (पी.एस. मैं एक काल्पनिक कंपनी का उपयोग कर रहा हूं क्योंकि मैं वास्तविक दुनिया के परिदृश्यों के साथ चीजों को सबसे अच्छी तरह समझता हूं)। मैंने इसे 7043 ग्राहकों के डेटा के साथ प्रदान किया, यह बताते हुए कि उन्होंने 1-वर्ष के अनुबंध या मासिक योजनाओं के लिए साइन अप किया था या नहीं, ग्राहक की लंबाई, मासिक शुल्क, ऐड-ऑन आदि। इसके अलावा, मैंने इसे बताया कि अंततः कौन Northline Mobile छोड़ गया। मैंने ऐसे ग्राहकों के साथ मॉडल को क्रॉस-वैलिडेट किया जिन्हें उसने अभी तक नहीं देखा था। इसने 81% सटीकता हासिल की। इसने मुझे वह सब कुछ सिखाया जो मॉडल बनाने में जाता है। जाहिर है मैंने सभी जटिल कोड को नहीं समझा, क्योंकि मैं जटिल कोड के बजाय सहज ड्रैग और ड्रॉप इंटरफेस पसंद करता हूं। लेकिन मैंने मॉडल बनाने के आवश्यक बिल्डिंग ब्लॉक्स को समझा; मैं एक सरलीकृत आर्किटेक्चर के साथ नीचे आगे समझाऊंगा। तो मशीन लर्निंग के दृष्टिकोण से इस मॉडल को बनाना एक जीत की तरह महसूस हुआ; मेरा मॉडल काम कर रहा था। लेकिन अभी भी एक समस्या थी: यह अभी भी वास्तव में उपयोगी नहीं था। मान लें कि एक Northline कर्मचारी जिसे एक प्रेडिक्शन की आवश्यकता है, मेरे पास आता है, मुझे Jupyter खोलना होगा, सही नोटबुक लोड करनी होगी, सेल्स को सही क्रम में चलाना होगा और predict_churn() को मैन्युअल रूप से कॉल करना होगा। हां, मॉडल मौजूद है, लेकिन मैं ही एकमात्र व्यक्ति हूं जो जानता है कि इसका उपयोग कैसे करें। Northline में कोई और बस किसी ग्राहक की जानकारी मॉडल पर नहीं भेज सकता और प्रेडिक्शन प्राप्त नहीं कर सकता और यह किसी अन्य एप्लिकेशन से भी बात नहीं कर सकता था। यह लेख इसी को कवर करेगा। मैंने हाल ही में सीखा कि एक मॉडल रखने और एक सेवा रखने के बीच एक अंतर है। यदि कोई मॉडल केवल एक नोटबुक में बैठा है तो केवल उस व्यक्ति का उपयोग कर सकता है जिसने इसे बनाया है। लेकिन इसे एक सेवा बनाने से यह संभव हो जाता है कि हर कोई इसका उपयोग कर सके, अन्य टीमें, ऐप्स, डैशबोर्ड और सिस्टम जिन्हें यह जानने या परवाह करने की आवश्यकता नहीं है कि प्रेडिक्शन कैसे किया जाता है। पता चलता है कि मशीन लर्निंग मॉडल बनाना सबसे आसान हिस्सा था, लेकिन इसे उपयोगी बनाना एक और महत्वपूर्ण तत्व है जिस पर विचार करने लायक है। API से पहले 'हो गया' का क्या मतलब थायहाँ लगभग बताया गया है कि मॉडल बनाना कैसा दिखता था: यह लगभग बस इतना है। कुछ बहुत फैंसी नहीं। उसके अंत तक, मेरे पास एक ट्रेंड चर्न क्लासिफायर था, एक प्रीप्रोसेसिंग पाइपलाइन जो कच्चे डेटा को साफ और एन्कोड करती थी, और मूल्यांकन संख्याएँ जिनके साथ मैं सहज था (इन संख्याओं पर जल्द ही और, वे सही नहीं हैं और मैं दिखावा नहीं करने जा रहा हूं कि वे हैं)। लेकिन जैसा कि मैंने कहा। मान लें कि Northline की रिटेंशन टीम एक डैशबोर्ड बनाती है, और वे चाहते हैं कि यह जोखिम वाले ग्राहकों को स्वचालित रूप से फ्लैग करे। उनका डैशबोर्ड उचित रूप से मेरी Jupyter नोटबुक नहीं खोल सकता और मेरी सेल्स को नहीं चला सकता। इसे पूरी तरह से कुछ और चाहिए। ऐसा कुछ: वह बदलाव है जिसे यह लेख कवर करता है। हालांकि, एक त्वरित अस्वीकरण: यह एक Fast API ट्यूटोरियल नहीं है। Fast API केवल वह उपकरण है जिसका उपयोग मैंने मॉडल को ... के रूप में उजागर करने के लिए किया था

मशीन लर्निंग मॉडल को सेवा में बदलना क्यों महत्वपूर्ण है?

मॉडल को सेवा बनाने से अन्य टीमें, ऐप्स, डैशबोर्ड और सिस्टम इसका उपयोग कर सकते हैं बिना यह जानने की आवश्यकता के कि प्रेडिक्शन कैसे किया जाता है, जिससे मूल निर्माता से परे पहुंच और उपयोगिता बढ़ती है।

हिन्दी version →


🇯🇵 日本語

モデルからサービスへ:FastAPIでMLを有用にする

数ヶ月前、私はデータ分析のバックグラウンドからデータエンジニアリングへの移行という旅に挑戦しようとしました。これまでに、実際に役立つことを教えてくれたインパクトのある現実世界のプロジェクトを合計2つ構築しました。Git Hub リポジトリを抽出して SQLite データベースにロードする Git Hub ET L パイプラインを構築しました — これは Git Hub Actions を使用してスケジュールで実行されていました。また、RSS フィードから記事を抽出して Kestra データベースに保存する RSS パイプラインも構築しました — Kestra によってオーケストレーションされ、毎時スケジュールで実行されます。ET L をある程度理解した今、新しいことに挑戦したくなりました。過去に学んだことをすべて実践し続けながら、新しいものを構築したいと思いました。私は常に機械学習の分野に魅了されていましたが、複雑な数学があると思っていたため、踏み出す勇気がありませんでした。もうそうではありません。最近、Northline Mobile という架空の通信会社の顧客離脱予測モデルを構築しました(追記:現実世界のシナリオで最もよく理解できるので、架空の会社を使用しています)。7043人の顧客データを提供し、1年契約か月額プランに加入したかどうか、顧客の長さ、月額料金、アドオンなどを伝えました。さらに、最終的に Northline Mobile を離れた人を伝えました。モデルがまだ見たことのない顧客でクロスバリデーションを行いました。81%の精度を達成しました。これにより、モデルの構築に何が関わるかをすべて学びました。当然ながら、私は直感的なドラッグアンドドロップインターフェースを好むため、複雑なコードをすべて理解したわけではありません。しかし、モデル構築の重要な構成要素は理解しました。簡略化されたアーキテクチャで以下にさらに説明します。ですから、このモデルの構築は機械学習の観点から勝利のように感じました。私のモデルは機能しました。しかし、まだ一つの問題がありました。それはまだ本当に有用ではなかったということです。予測が必要な Northline の従業員が私のところに来たと仮定すると、Jupyter を開き、正しいノートブックを読み込み、正しい順序でセルを実行し、predict_churn() を手動で呼び出す必要があります。はい、モデルは存在しますが、使い方を知っているのは私だけでした。Northline の他の誰も、顧客の情報をモデルに送信して予測を取得することはできず、他のアプリケーションと通信することもできませんでした。この記事でこれを取り上げます。最近、モデルを持つこととサービスを持つことの違いがあることを学びました。モデルがノートブックの中にあるだけなら、それを構築した人だけが使用できます。しかし、それをサービスにすることで、他のチーム、アプリ、ダッシュボード、システムなど、予測がどのように行われるかを知る必要や関心がないすべての人が使用できるようになります。機械学習モデルの構築が最も簡単な部分であることがわかりましたが、それを有用にすることは探求する価値のあるもう一つの重要な要素です。APIの前に「完了」とはどういう意味だったかモデルの構築はおおよそ次のようなものでした:だいたいそれだけです。あまり派手なものはありません。それが終わる頃には、訓練されたチャーン分類器、生データをクリーンアップしてエンコードする前処理パイプライン、そして私が満足できる評価数値(これらの数値については後述しますが、完璧ではありませんし、完璧だと偽るつもりもありません)がありました。しかし、前述の通りです。Northline のリテンションチームがダッシュボードを構築し、リスクのある顧客を自動的にフラグ付けしたいと仮定します。彼らのダッシュボードは私の Jupyter ノートブックを開いてセルを実行することは合理的にはできません。全く別のものが必要です。次のようなものです:これがこの記事が取り上げるシフトです。ただし、簡単な免責事項があります:これは Fast API のチュートリアルではありません。Fast API は単に私がモデルを...として公開するために使用したツールです

機械学習モデルをサービスに変換することがなぜ重要ですか?

モデルをサービスにすることで、他のチーム、アプリ、ダッシュボード、システムが予測がどのように行われるかを知る必要なく使用できるようになり、元の作成者を超えてアクセシビリティと有用性が向上します。

日本語 version →


🇧🇷 Português

Do Modelo ao Serviço: Tornando ML Útil com FastAPI

Alguns meses atrás, tentei me desafiar a empreender uma jornada para transitar de uma formação em análise de dados para engenharia de dados. Até agora, construí um total de dois projetos impactantes no mundo real que realmente me ensinaram algo útil. Construí um pipeline ET L do Git Hub que extrai repositórios do Git Hub e os carrega em um banco de dados SQLite — isso rodava em um cronograma usando Git Hub Actions.

Também construí um pipeline RSS que extrai artigos de feeds RSS e os armazena em um banco de dados Kestra — orquestrado pelo Kestra para rodar em um cronograma horário. Agora que entendi ET L até certo ponto, queria tentar algo novo. Queria continuar praticando tudo o que aprendi no passado enquanto construía algo novo.

Sempre fui fascinado pelo campo de aprendizado de máquina, mas nunca tive a coragem de entrar porque achava que tinha matemática complexa. Não mais. Recentemente, construí um modelo de previsão de churn para uma empresa de telecomunicações fictícia que chamo de Northline Mobile (P.

S. Estou usando uma empresa fictícia porque entendo as coisas melhor com cenários do mundo real). Forneçi a ele dados de 7043 clientes, dizendo se haviam se inscrito em um contrato de 1 ano ou planos mensais, tempo de cliente, cobranças mensais, complementos, etc. Além disso, disse quem eventualmente deixou a Northline Mobile.

Validei o modelo de forma cruzada com clientes que ele ainda não tinha visto. Alcançou 81% de precisão. Isso me ensinou tudo o que entra na construção de um modelo.

Obviamente, não entendi todo o código complexo, porque prefiro interfaces intuitivas de arrastar e soltar em vez de código complexo. Mas entendi os blocos de construção essenciais para construir um modelo; explicarei mais abaixo com uma arquitetura simplificada. Então, construir esse modelo pareceu uma vitória do ponto de vista de aprendizado de máquina; meu modelo funcionava.

Mas ainda havia um problema: ainda não era realmente útil. Assumindo que um funcionário da Northline que precisava de uma previsão viesse a mim, eu teria que abrir o Jupyter, carregar o notebook certo, executar as células na ordem correta e fazer uma chamada manual para predict_churn(). Sim, o modelo existe, mas eu era o único que sabia como usá-lo.

Ninguém mais na Northline poderia simplesmente enviar informações sobre um cliente para o modelo e recuperar uma previsão e ele também não podia se comunicar com nenhum outro aplicativo. Este artigo cobrirá isso. Recentemente, aprendi que há uma diferença entre ter um modelo e ter um serviço.

Se um modelo apenas fica em um notebook, apenas a pessoa que o construiu pode usá-lo. Mas torná-lo um serviço torna possível para todos usá-lo, outras equipes, aplicativos, painéis e sistemas que não precisam saber ou se importar como a previsão é feita. Acontece que construir o modelo de aprendizado de máquina foi a parte mais fácil, mas torná-lo útil é outro elemento crucial que vale a pena explorar.

O que 'Concluído' significava antes da APIAqui está aproximadamente como era a construção do modelo: É basicamente isso. Nada muito sofisticado. No final disso, eu tinha um classificador de churn treinado, um pipeline de pré-processamento que limpava e codificava os dados brutos, e números de avaliação com os quais eu estava confortável (mais sobre esses números em breve, eles não são perfeitos e não vou fingir que são).

Mas como eu disse. Assumindo que a equipe de retenção da Northline construa um painel, e queiram que ele sinalize automaticamente clientes em risco. O painel deles não pode razoavelmente abrir meu notebook Jupyter e executar minhas células.

Precisa de algo totalmente diferente. Algo assim: Essa é a mudança que este artigo cobre. Uma rápida ressalva, no entanto: este não é um tutorial de Fast API.

Fast API é simplesmente a ferramenta que usei para expor o modelo como...

Por que é importante transformar um modelo de aprendizado de máquina em um serviço?

Tornar um modelo um serviço permite que outras equipes, aplicativos, painéis e sistemas o utilizem sem precisar saber como a previsão é feita, aumentando a acessibilidade e a utilidade além do criador original.

Português version →


🇷🇺 Русский

От модели к сервису: делаем ML полезным с FastAPI

Несколько месяцев назад я попытался бросить себе вызов и отправиться в путешествие по переходу от бэкграунда в аналитике данных к Data Engineering. До сих пор я построил в общей сложности два значимых реальных проекта, которые действительно научили меня чему-то полезному. Я построил пайплайн Git Hub ET L, который извлекает репозитории Git Hub и загружает их в базу данных SQLite — он работал по расписанию с использованием Git Hub Actions. Я также построил RSS-пайплайн, который извлекает статьи из RSS-каналов и сохраняет их в базу данных Kestra — оркестрируемый Kestra для запуска по почасовому расписанию. Теперь, когда я в определенной степени понял ET L, я хотел попробовать что-то новое. Я хотел продолжать практиковать всё, чему научился в прошлом, создавая что-то новое. Меня всегда увлекала область машинного обучения, но у меня никогда не было смелости в неё войти, потому что я думал, что там сложная математика. Больше нет. Недавно я построил модель прогнозирования оттока для вымышленной телекоммуникационной компании, которую я называю Northline Mobile (P.S. Я использую вымышленную компанию, потому что лучше всего понимаю вещи на реальных сценариях). Я предоставил ей данные 7043 клиентов, указав, подписались ли они на годовой контракт или ежемесячные планы, длительность клиента, ежемесячные платежи, дополнения и т.д. Кроме того, я указал, кто в итоге покинул Northline Mobile. Я перекрестно проверил модель на клиентах, которых она еще не видела. Она достигла точности 81%. Это научило меня всему, что входит в построение модели. Очевидно, я не понимал весь сложный код, потому что предпочитаю интуитивно понятные интерфейсы перетаскивания, а не сложный код. Но я понял основные строительные блоки создания модели; я объясню подробнее ниже с упрощенной архитектурой. Так что создание этой модели казалось победой с точки зрения машинного обучения; моя модель работала. Но все еще оставалась одна проблема: она все еще не была по-настоящему полезной. Предположим, сотрудник Northline, которому нужен прогноз, приходит ко мне, мне придется открыть Jupyter, загрузить нужный блокнот, запустить ячейки в правильном порядке и сделать ручной вызов predict_churn(). Да, модель существует, но я единственный, кто знает, как ею пользоваться. Больше никто в Northline не мог просто отправить информацию о клиенте в модель и получить прогноз, и она не могла взаимодействовать ни с каким другим приложением. Эта статья расскажет об этом. Недавно я узнал, что есть разница между наличием модели и наличием сервиса. Если модель просто находится в блокноте, только человек, который её создал, может ею пользоваться. Но превращение её в сервис позволяет всем использовать её — другие команды, приложения, дашборды и системы, которым не нужно знать или заботиться о том, как делается прогноз. Оказывается, построение модели машинного обучения было самой простой частью, но сделать её полезной — это еще один важный элемент, заслуживающий изучения. Что означало 'Готово' до APIВот примерно как выглядело построение модели: Это в значительной степени всё. Ничего слишком сложного. К концу этого у меня была обученная модель классификации оттока, пайплайн предварительной обработки, который очищал и кодировал необработанные данные, и показатели оценки, с которыми я был комфортен (подробнее об этих цифрах чуть позже, они не идеальны, и я не буду делать вид, что они идеальны). Но, как я уже сказал. Предположим, команда удержания Northline создает дашборд, и они хотят, чтобы он автоматически помечал клиентов из группы риска. Их дашборд не может обоснованно открыть мой блокнот Jupyter и запустить мои ячейки. Ему нужно что-то совершенно другое. Что-то вроде этого: Именно этот переход и описывается в данной статье. Одно быстрое предупреждение: это не туториал по Fast API. Fast API — это просто инструмент, который я использовал, чтобы предоставить модель как...

Почему важно превращать модель машинного обучения в сервис?

Превращение модели в сервис позволяет другим командам, приложениям, дашбордам и системам использовать её без необходимости знать, как делается прогноз, повышая доступность и полезность за пределами первоначального создателя.

Русский version →


🇨🇳 简体中文

从模型到服务:用 FastAPI 让机器学习变得实用

几个月前,我试着挑战自己,开启一段从数据分析背景转向数据工程的旅程。到目前为止,我已经构建了两个有影响力的实际项目,它们确实教会了我一些有用的东西。我构建了一个 Git Hub ET L 管道,用于提取 Git Hub 仓库并将其加载到 SQLite 数据库中——它通过 Git Hub Actions 按计划运行。我还构建了一个 RSS 管道,用于从 RSS 订阅源中提取文章并将其存储到 Kestra 数据库中——由 Kestra 编排,按小时计划运行。既然我已经对 ET L 有了相当程度的了解,我想尝试一些新东西。我想在构建新东西的同时继续练习过去学到的一切。我一直对机器学习领域很着迷,但从来没有勇气涉足其中,因为我觉得它涉及复杂的数学。现在不再这样了。最近,我为一家虚构的电信公司构建了一个客户流失预测模型,我称之为 Northline Mobile(附注:我使用虚构公司是因为我通过真实场景最能理解事物)。我向它提供了 7043 名客户的数据,告诉它这些客户是签约了 1 年合同还是按月计划,客户时长、月费、附加服务等信息。此外,我还告诉它谁最终离开了 Northline Mobile。我用它未曾见过的客户对模型进行了交叉验证。它达到了 81% 的准确率。这教会了我构建模型所涉及的一切。显然,我并不理解所有复杂的代码,因为我更喜欢直观的拖放界面而不是复杂的代码。但我理解了构建模型的基本构建模块;我将在下面用简化的架构进一步解释。所以从机器学习的角度来看,构建这个模型感觉像是一次胜利;我的模型起作用了。但仍然有一个问题:它仍然不是真正有用的。假设一个需要预测的 Northline 员工来找我,我必须打开 Jupyter,加载正确的笔记本,按正确的顺序运行单元格,并手动调用 predict_churn()。是的,模型存在,但我是唯一知道如何使用它的人。Northline 的其他人无法直接将客户信息发送到模型并获取预测结果,它也无法与任何其他应用程序通信。本文将涵盖这些内容。我最近了解到,拥有一个模型和拥有一个服务之间是有区别的。如果一个模型只是放在笔记本里,只有构建它的人才能使用它。但将其变成服务后,所有人都可以使用它——其他团队、应用、仪表板和系统不需要知道或关心预测是如何做出的。事实证明,构建机器学习模型是最简单的部分,但让它变得有用是另一个值得探索的关键要素。在 API 之前 "完成" 意味着什么以下是构建模型的大致过程:基本上就是这样。没什么太花哨的。到最后,我有了一个训练好的流失分类器、一个清理和编码原始数据的预处理管道,以及我满意的评估数据(稍后详细介绍这些数据,它们并不完美,我也不会假装它们完美)。但正如我所说。假设 Northline 的留存团队构建了一个仪表板,他们希望它能自动标记有风险的客户。他们的仪表板无法合理地打开我的 Jupyter 笔记本并运行我的单元格。它需要完全不同的东西。像这样的:这就是本文涵盖的转变。不过先做一个快速声明:这不是一篇 Fast API 教程。Fast API 只是我碰巧用来将模型暴露为……

为什么将机器学习模型转变为服务很重要?

将模型变成服务可以让其他团队、应用、仪表板和系统在不了解预测如何做出的情况下使用它,从而提高了超越原始构建者的可访问性和实用性。

简体中文 version →