Flask দিয়ে Logistic Regression মডেল ডেপ্লয়মেন্ট

বাস্তব উদাহরণ এবং প্রজেক্ট ডেমো - পাইথনে লজিস্টিক রিগ্রেশন (Logistic Regression in Python) - Machine Learning

349

Flask হল একটি জনপ্রিয় Python ওয়েব ফ্রেমওয়ার্ক, যা আপনাকে ওয়েব অ্যাপ্লিকেশন তৈরি এবং ডেপ্লয় করার সুবিধা প্রদান করে। Flask এর সাহায্যে আমরা সহজেই একটি Logistic Regression মডেল ডেপ্লয় করতে পারি, যা ব্যবহারকারীদের ইনপুট ডেটার ভিত্তিতে পূর্বে প্রশিক্ষিত মডেল থেকে প্রেডিকশন প্রদান করবে। নিচে Flask দিয়ে Logistic Regression মডেল ডেপ্লয় করার একটি বিস্তারিত প্রক্রিয়া দেওয়া হল।


1. মডেল তৈরি এবং সেভ করা

প্রথমে, আপনি একটি Logistic Regression মডেল ট্রেনিং করবেন এবং সেটি .pkl বা .joblib ফাইল ফরম্যাটে সেভ করবেন, যাতে Flask অ্যাপ্লিকেশন ব্যবহার করে তা লোড করা যায়।

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
import joblib
from sklearn.datasets import load_iris

# ডেটা লোড করা
data = load_iris()
X = data.data
y = data.target

# ট্রেনিং এবং টেস্ট ডেটাতে ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# মডেল ট্রেনিং
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

# মডেল সেভ করা
joblib.dump(model, 'logistic_regression_model.pkl')

এখানে, আমরা Iris ডেটাসেট ব্যবহার করেছি এবং Logistic Regression মডেল ট্রেনিং করেছি। শেষে joblib.dump() দিয়ে মডেলটি সেভ করেছি।


2. Flask অ্যাপ্লিকেশন তৈরি করা

এবার Flask অ্যাপ্লিকেশন তৈরি করব, যেখানে আমরা HTTP রিকোয়েস্ট গ্রহণ করব, ইনপুট ডেটা নেব এবং সেভ করা মডেল দিয়ে প্রেডিকশন প্রদান করব।

প্রজেক্ট ফোল্ডার স্ট্রাকচার:

flask_logistic_regression/
│
├── app.py                # Flask অ্যাপ্লিকেশন
├── logistic_regression_model.pkl  # সেভ করা মডেল
└── templates/
    └── index.html        # HTML ফাইল (ইনপুট ফর্মের জন্য)

2.1. Flask অ্যাপ্লিকেশন কোড (app.py)

from flask import Flask, render_template, request
import joblib
import numpy as np

app = Flask(__name__)

# মডেল লোড করা
model = joblib.load('logistic_regression_model.pkl')

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/predict', methods=['POST'])
def predict():
    if request.method == 'POST':
        # ব্যবহারকারীর ইনপুট সংগ্রহ করা
        feature1 = float(request.form['feature1'])
        feature2 = float(request.form['feature2'])
        feature3 = float(request.form['feature3'])
        feature4 = float(request.form['feature4'])
        
        # ইনপুট ডেটা প্রস্তুত করা
        input_data = np.array([[feature1, feature2, feature3, feature4]])

        # প্রেডিকশন করা
        prediction = model.predict(input_data)

        return render_template('index.html', prediction_text='Predicted Class: {}'.format(prediction[0]))

if __name__ == "__main__":
    app.run(debug=True)

2.2. HTML ফাইল (index.html)

<!DOCTYPE html>
<html>
<head>
    <title>Logistic Regression Prediction</title>
</head>
<body>
    <h2>Logistic Regression Prediction</h2>
    
    <form method="POST" action="/predict">
        <label>Feature 1:</label>
        <input type="text" name="feature1" required><br><br>
        
        <label>Feature 2:</label>
        <input type="text" name="feature2" required><br><br>
        
        <label>Feature 3:</label>
        <input type="text" name="feature3" required><br><br>
        
        <label>Feature 4:</label>
        <input type="text" name="feature4" required><br><br>
        
        <button type="submit">Predict</button>
    </form>
    
    {% if prediction_text %}
        <h3>{{ prediction_text }}</h3>
    {% endif %}
</body>
</html>
  • HTML ফর্ম: ব্যবহারকারী এখানে ফিচারের মান ইনপুট দিতে পারবেন।
  • Flask Route: /predict রুটে POST রিকোয়েস্ট গ্রহণ করে এবং মডেলের মাধ্যমে প্রেডিকশন প্রদান করে।

3. Flask অ্যাপ্লিকেশন চালানো

এখন, Flask অ্যাপ্লিকেশন চালানোর জন্য টার্মিনালে নিচের কমান্ডটি রান করুন:

python app.py

এটি আপনার অ্যাপ্লিকেশন লোকালহোস্টে চালু করবে। সাধারণত, আপনি এটি http://127.0.0.1:5000/ এ পাবেন।


4. মডেল ইনপুট এবং প্রেডিকশন

  1. আপনার ওয়েব ব্রাউজারে গিয়ে http://127.0.0.1:5000/ অ্যাপ্লিকেশনটি খুলুন।
  2. ফিচারগুলোর মান ইনপুট দিন এবং Predict বাটনে ক্লিক করুন।
  3. আপনার মডেল থেকে প্রাপ্ত প্রেডিকশন (ক্লাস) HTML পেজে প্রদর্শিত হবে।

সারাংশ

  • Flask দিয়ে Logistic Regression মডেল ডেপ্লয়মেন্ট করতে, প্রথমে মডেলটি ট্রেনিং এবং সেভ করতে হয়।
  • এরপর Flask অ্যাপ্লিকেশন তৈরি করে, যেখানে HTTP POST রিকোয়েস্টের মাধ্যমে ব্যবহারকারীর ইনপুট গ্রহণ করা হয় এবং মডেল দিয়ে প্রেডিকশন প্রদানের জন্য রেসপন্স প্রদান করা হয়।
  • এই পদ্ধতিতে আপনি সহজেই ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন, যা মডেলটি ব্যবহার করে প্রেডিকশন করতে সক্ষম।
Content added By
Promotion

Are you sure to start over?

Loading...