এসকিউএল ব্যবহার করে বিকিউএমএল দিয়ে মুভি রেটিং পূর্বাভাস, এসকিউএল ব্যবহার করে বিকিউএমএল দিয়ে মুভি রেটিং পূর্বাভাস

১. ভূমিকা

এই কোডল্যাবে, আমরা শুধুমাত্র SQL ব্যবহার করে BigQuery ML কাস্টম মডেলের সাহায্যে একটি মুভি স্কোর প্রেডিকশন মডেল তৈরি করব এবং মডেলটি VertexAI-তে ডেপ্লয় করব। আপনি শিখবেন:

  1. ক্লাউড শেল ব্যবহার করে কীভাবে একটি BigQuery ডেটাসেট তৈরি করবেন এবং ফাইল থেকে ডেটা লোড করবেন
  2. খুব বেশি কোডিং ছাড়াই, শুধুমাত্র SQL কোয়েরি ব্যবহার করে কীভাবে সুপারভাইজড লার্নিংয়ের মাধ্যমে মুভি স্কোর ভবিষ্যদ্বাণীর জন্য একটি মাল্টি-ক্লাস রিগ্রেশন প্রেডিকশন মডেল তৈরি করা যায়।

আপনি যা তৈরি করবেন

আপনি একটি তৈরি করবেন

  • টেবিল এবং মডেলের উপাদানসমূহ ধারণ করার জন্য একটি BigQuery ডেটাসেট।
  • SQL কোয়েরি ব্যবহার করে সিনেমার রেটিং ভবিষ্যদ্বাণী করার জন্য BigQuery ML মডেল
  • Vertex AI মডেল রেজিস্ট্রি-তে মডেলটি স্থাপন করুন।

প্রয়োজনীয়তা

২. আপনার প্রজেক্ট তৈরি করুন

  1. গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুন।
  2. আপনার ক্লাউড প্রোজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন। কোনো প্রোজেক্টে বিলিং চালু আছে কিনা তা কীভাবে পরীক্ষা করবেন, তা জেনে নিন।
  3. এপিআই (API) সক্রিয় করতে BigQuery- তে যান। এছাড়া, আপনি আপনার ব্রাউজারে নিম্নলিখিত URL-টি লিখে সরাসরি BigQuery ওয়েব UI খুলতে পারেন: https://console.cloud.google.com/bigquery

৩. ক্লাউড শেল সক্রিয় করুন

  1. আপনি ক্লাউড শেল ব্যবহার করবেন, যা গুগল ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ এবং এতে bq আগে থেকেই লোড করা থাকে: ক্লাউড কনসোল থেকে, উপরের ডান কোণায় থাকা ‘Activate Cloud Shell’-এ ক্লিক করুন: 6757b2fb50ddcc2d.png
  2. ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকৃত এবং প্রজেক্টটি আপনার প্রজেক্ট আইডিতে সেট করা আছে। আপনি যে প্রমাণীকৃত, তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list
  1. gcloud কমান্ডটি আপনার প্রজেক্ট সম্পর্কে জানে কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান।
gcloud config list project
  1. আপনার প্রজেক্টটি সেট করা না থাকলে, এটি সেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
gcloud config set project <PROJECT_ID>

gcloud কমান্ড এবং এর ব্যবহার সম্পর্কে জানতে ডকুমেন্টেশন দেখুন।

৪. প্রশিক্ষণ ডেটা প্রস্তুত করা

ডেটা-সম্পর্কিত সমস্ত প্রজেক্ট, প্রোডাক্ট এবং অ্যাপের ক্ষেত্রে এটি একটি গুরুত্বপূর্ণ পদক্ষেপ, যার জন্য একটি সর্বোত্তম ডেটাসেট তৈরি করতে এবং আপনার এমএল (ML) প্রজেক্টের জন্য প্রস্তুত করতে প্রযুক্তির পাশাপাশি প্রচুর ডোমেইন দক্ষতার প্রয়োজন হয়। এই কোডল্যাবের জন্য আমরা আগে থেকে প্রস্তুত করা ডেটা ফাইলটি ব্যবহার করব।

৫. ডেটাসেট তৈরি এবং লোড করা

BigQuery ডেটাসেট হলো কতগুলো টেবিলের সমষ্টি। একটি ডেটাসেটের সমস্ত টেবিল একই ডেটা লোকেশনে সংরক্ষিত থাকে। আপনি একটি ডেটাসেট এবং এর টেবিলগুলোতে অ্যাক্সেস সীমিত করার জন্য কাস্টম অ্যাক্সেস কন্ট্রোলও যুক্ত করতে পারেন।

  1. ক্লাউড শেলে, 'movies' নামে একটি ডেটাসেট তৈরি করতে bq mk কমান্ডটি ব্যবহার করুন।
bq mk --location=<<LOCATION>> movies

অবস্থানটি একটি অঞ্চলে (asia-south1) সেট করুন।

  1. আপনার ডেটা ফাইল (.csv) প্রস্তুত আছে কিনা তা নিশ্চিত করুন। রিপোজিটরি ক্লোন করতে এবং প্রজেক্টে যেতে ক্লাউড শেলে নিম্নলিখিত কমান্ডগুলো চালান:
git clone <<repository link>>

cd movie-score
  1. আপনার CSV ফাইলটি BigQuery টেবিলে লোড করতে bq load কমান্ডটি ব্যবহার করুন (অনুগ্রহ করে মনে রাখবেন যে আপনি BigQuery UI থেকেও সরাসরি আপলোড করতে পারেন):
bq load --source_format=CSV --skip_leading_rows=1 movies.movies_score \
./movies_bq_src.csv \ Id:numeric,name:string,rating:string,genre:string,year:numeric,released:string,score:string,director:string,writer:string,star:string,country:string,budget:numeric,company:string,runtime:numeric,data_cat:string

বিকল্পগুলির বিবরণ: –source_format=CSV - ডেটা ফাইল পার্স করার সময় CSV ডেটা ফরম্যাট ব্যবহার করে। –skip_leading_rows=1 - CSV ফাইলের প্রথম লাইনটি এড়িয়ে যায় কারণ এটি একটি হেডার সারি। Movies.movies - প্রথম পজিশনাল আর্গুমেন্ট—ডেটা কোন টেবিলে লোড করা হবে তা নির্ধারণ করে। ./movies.csv—দ্বিতীয় পজিশনাল আর্গুমেন্ট—কোন ফাইলটি লোড করতে হবে তা নির্ধারণ করে। স্থানীয় ফাইল ছাড়াও, bq লোড কমান্ড gs://my_bucket/path/to/file URI ব্যবহার করে ক্লাউড স্টোরেজ থেকে ফাইল লোড করতে পারে। একটি স্কিমা, যা একটি JSON স্কিমা ফাইলে বা কমা-বিভক্ত তালিকা হিসাবে সংজ্ঞায়িত করা যেতে পারে (আমি একটি কমা-বিভক্ত তালিকা ব্যবহার করেছি)। হুররে! আমাদের csv ডেটা এখন movies.movies টেবিলে লোড হয়ে গেছে।

  1. ৩টি উপায়ের যেকোনো একটিতে অনুসন্ধান করুন:

আমরা তিনভাবে BigQuery-এর সাথে কাজ করতে পারি, আমরা তার মধ্যে দুটি চেষ্টা করে দেখব: ক. BigQuery ওয়েব UI খ. bq কমান্ড গ. API

SELECT name, rating, genre, runtime FROM movies.movies_score limit 3;

আমি কোয়েরি চালানোর জন্য BigQuery Web SQL Workspace ব্যবহার করেছি। SQL Workspace-টি দেখতে এইরকম:

109a0b2c7155e9b3.png

bq কমান্ড ব্যবহার করে:

bq query --use_legacy_sql=false \
SELECT name, rating, genre, runtime FROM movies.movies_score limit 3;

৬. ১ থেকে ১০ এর স্কেলে সিনেমার রেটিং অনুমান করা

BigQuery ML লজিস্টিক রিগ্রেশন মডেল টাইপের মাধ্যমে সুপারভাইজড লার্নিং সমর্থন করে। কোনো একটি মান দুটি বিভাগের মধ্যে একটিতে পড়বে কিনা তা ভবিষ্যদ্বাণী করতে আপনি বাইনারি লজিস্টিক রিগ্রেশন মডেল টাইপ ব্যবহার করতে পারেন; অথবা, কোনো একটি মান একাধিক বিভাগের মধ্যে একটিতে পড়বে কিনা তা ভবিষ্যদ্বাণী করতে আপনি মাল্টি-ক্লাস রিগ্রেশন মডেল টাইপ ব্যবহার করতে পারেন। এগুলোকে ক্লাসিফিকেশন সমস্যা বলা হয়, কারণ এগুলোর মাধ্যমে ডেটাকে দুই বা ততোধিক বিভাগে শ্রেণীবদ্ধ করার চেষ্টা করা হয়।

মডেল নির্বাচন সম্পর্কে একটি সংক্ষিপ্ত নোট: এটি এখানে নির্বাচিত একটি পরীক্ষামূলক মডেল। ফলাফল মূল্যায়নের উপর ভিত্তি করে, আমি প্রাথমিকভাবে কয়েকটি মডেল পরীক্ষা করে দেখেছি এবং অবশেষে বিষয়টিকে সহজ রাখতে ও বিভিন্ন ডেটাবেস থেকে সিনেমার প্রকৃত রেটিং-এর কাছাকাছি ফলাফল পেতে LOGISTIC REG মডেলটি বেছে নিয়েছি। অনুগ্রহ করে মনে রাখবেন যে, এটিকে শুধুমাত্র মডেলটি বাস্তবায়নের একটি নমুনা হিসেবে বিবেচনা করা উচিত এবং এই নির্দিষ্ট ব্যবহারের ক্ষেত্রে এটিই প্রস্তাবিত মডেল নয়। এটি বাস্তবায়নের আরেকটি উপায় হলো, স্কোর ভবিষ্যদ্বাণী করার পরিবর্তে এই লজিস্টিক রিগ্রেশন মডেলটি ব্যবহার করে সিনেমার ফলাফলকে ভালো/খারাপ হিসেবে ভবিষ্যদ্বাণী করা।

আপনার প্রশিক্ষণ ডেটা নির্বাচন করুন

আমরা ইতিমধ্যেই টেবিলে 'data_cat' ফিল্ডটি ব্যবহার করে মুভির ডেটা (csv ফরম্যাটে) ৩টি ক্যাটাগরিতে ভাগ করেছি, যার তিনটি ভ্যালু হলো - TRAIN, TEST এবং PREDICT। টেস্টিং এবং ট্রেনিংয়ের উদ্দেশ্যে ডেটাসেট ভাগ করা মডেলের একটি গুরুত্বপূর্ণ দিক। ডেটাসেট বিভাজন সম্পর্কে আরও তথ্যের প্রয়োজন হলে, ডকুমেন্টেশন দেখুন।

লজিস্টিক রিগ্রেশন মডেল তৈরি করুন

আমরা 'LOGISTIC_REG' অপশনসহ CREATE MODEL স্টেটমেন্ট ব্যবহার করে একটি লজিস্টিক রিগ্রেশন মডেল তৈরি ও প্রশিক্ষণ দিতে পারি।

BigQuery Web UI SQL Workspace-এ নিচের কোয়েরিটি চালান:

CREATE OR REPLACE MODEL
  `movies.movies_score_model`
OPTIONS
  ( model_type='LOGISTIC_REG',
    auto_class_weights=TRUE,
   data_split_method='NO_SPLIT',
    input_label_cols=[score']
  ) AS
SELECT
  * EXCEPT(id, data_cat)
FROM
  ‘movies.movies_score'
WHERE
  data_cat = 'TRAIN';

অনুসন্ধানের বিবরণ:

  1. CREATE MODEL স্টেটমেন্টটি SELECT স্টেটমেন্টের ট্রেনিং ডেটা ব্যবহার করে একটি মডেলকে প্রশিক্ষণ দেয়।
  2. OPTIONS ক্লজটি মডেলের ধরন এবং প্রশিক্ষণের বিকল্পগুলো নির্দিষ্ট করে। এখানে, LOGISTIC_REG অপশনটি একটি লজিস্টিক রিগ্রেশন মডেলের ধরন নির্দিষ্ট করে। বাইনারি লজিস্টিক রিগ্রেশন মডেল বনাম মাল্টিক্লাস লজিস্টিক রিগ্রেশন মডেল নির্দিষ্ট করার প্রয়োজন নেই: BigQuery ML লেবেল কলামের অনন্য মানের সংখ্যার উপর ভিত্তি করে কোনটি প্রশিক্ষণ দেবে তা নির্ধারণ করতে পারে।
  3. `data_split_method='NO_SPLIT'` বিকল্পটি BQML-কে কোয়েরির শর্ত অনুযায়ী (data_cat = 'TRAIN') ডেটার উপর প্রশিক্ষণ দিতে বাধ্য করে। আরও মনে রাখবেন যে, এই বিকল্পে 'AUTO_SPLIT' ব্যবহার করা শ্রেয়, যা ফ্রেমওয়ার্ককে (বা এই ক্ষেত্রে পরিষেবাটিকে) ট্রেন/টেস্ট স্প্লিটের বিভাজনকে র‍্যান্ডমাইজ করার সুযোগ দেয়।
  4. `input_label_cols` অপশনটি নির্দিষ্ট করে যে `SELECT` স্টেটমেন্টের কোন কলামটি লেবেল কলাম হিসেবে ব্যবহৃত হবে। এখানে, লেবেল কলামটি হলো `score`, তাই মডেলটি প্রতিটি সারিতে উপস্থিত অন্যান্য মানের উপর ভিত্তি করে `score`-এর ১০টি মানের মধ্যে কোনটি সবচেয়ে সম্ভাব্য তা শিখবে।
  5. 'auto_class_weights=TRUE' অপশনটি ট্রেনিং ডেটার ক্লাস লেবেলগুলোর মধ্যে ভারসাম্য রক্ষা করে। ডিফল্টভাবে, ট্রেনিং ডেটা ওজনহীন থাকে। যদি ট্রেনিং ডেটার লেবেলগুলো ভারসাম্যহীন হয়, তাহলে মডেলটি সবচেয়ে জনপ্রিয় ক্লাসের লেবেলগুলোকে বেশি গুরুত্ব দিয়ে ভবিষ্যদ্বাণী করতে শিখতে পারে।
  6. SELECT স্টেটমেন্টটি আমাদের লোড করা csv ডেটাযুক্ত টেবিলটিকে কোয়েরি করে। WHERE ক্লজটি ইনপুট টেবিলের সারিগুলোকে ফিল্টার করে, যাতে এই ধাপে শুধুমাত্র TRAIN ডেটাসেটটি নির্বাচিত হয়।

একবার তৈরি হয়ে গেলে, BigQuery SQL Workspace-এর SCHEMA বিভাগে নিম্নলিখিত বিষয়গুলো প্রদর্শিত হয়:

লেবেল

93efd0c1a7883690.png

বৈশিষ্ট্য

8c539338df1a9652.png

আপনার লজিস্টিক রিগ্রেশন মডেলটি মূল্যায়ন করুন।

আপনার মডেল তৈরি করার পর, ML.EVALUATE ফাংশন ব্যবহার করে মডেলটির পারফরম্যান্স মূল্যায়ন করুন। ML.EVALUATE ফাংশনটি প্রকৃত ডেটার সাপেক্ষে পূর্বাভাসিত মানগুলো মূল্যায়ন করে। মডেলটি মূল্যায়ন করার জন্য কোয়েরিটি নিম্নরূপ:

SELECT
  *
FROM
  ML.EVALUATE (MODEL movies.movies_score_model,
    (
    SELECT
      *
    FROM
      movies.movies_score
    WHERE
      data_cat= TEST'
    )
  )

ML.EVALUATE ফাংশনটি আমাদের পূর্ববর্তী ধাপে প্রশিক্ষিত মডেল এবং একটি SELECT সাবকোয়েরি দ্বারা প্রাপ্ত মূল্যায়ন ডেটা গ্রহণ করে। ফাংশনটি মডেলটি সম্পর্কে পরিসংখ্যানের একটি একক সারি ফেরত দেয়।

b54b0ebd6514a498.png

যেহেতু আপনি একটি লজিস্টিক রিগ্রেশন করেছেন, তাই ফলাফলে উপরের স্ক্রিনশটে দেখানো মেট্রিকগুলো অন্তর্ভুক্ত রয়েছে — প্রিসিশন, রিকল, অ্যাকুরেসি, এফ১-স্কোর, লগ_লস, আরওসি_এইউসি, যা মডেলের পারফরম্যান্স মূল্যায়নের জন্য অত্যন্ত গুরুত্বপূর্ণ। আপনি ইনপুট ডেটা না দিয়েও ML.EVALUATE কল করতে পারেন। ML.EVALUATE ট্রেনিংয়ের সময় প্রাপ্ত ইভ্যালুয়েশন মেট্রিকগুলো সংগ্রহ করে, যা স্বয়ংক্রিয়ভাবে সংরক্ষিত ইভ্যালুয়েশন ডেটাসেট ব্যবহার করে।

এক নজরে মূল মেট্রিকসমূহ:

প্রিসিশন - পজিটিভ শনাক্তকরণের কত শতাংশ আসলে সঠিক ছিল? প্রিসিশন = ট্রু পজিটিভ / (ট্রু পজিটিভ + ফলস পজিটিভ) রিকল - প্রকৃত পজিটিভগুলোর কত শতাংশ সঠিকভাবে শনাক্ত করা হয়েছিল? রিকল = ট্রু পজিটিভ / (ট্রু পজিটিভ + ফলস নেগেটিভ) অ্যাকুরেসি - ক্লাসিফিকেশন মডেল মূল্যায়নের একটি মেট্রিক, এটি হলো আমাদের মডেলের করা সঠিক ভবিষ্যদ্বাণীর ভগ্নাংশ। অ্যাকুরেসি = সঠিক ভবিষ্যদ্বাণীর সংখ্যা / মোট ভবিষ্যদ্বাণীর সংখ্যা

ML.PREDICT ব্যবহার করে সিনেমার রেটিং ভবিষ্যদ্বাণী করুন।

নিম্নলিখিত কোয়েরিটি ডেটাসেটের PREDICT অংশে থাকা প্রতিটি মুভির স্কোর অনুমান করে।

SELECT
  *
FROM
  ML.PREDICT (MODEL movies.movies_score_model,
    (
    SELECT
      *
    FROM
      movies.movies_score
    WHERE
      data_cat= PREDICT'
     )
  )

নিম্নে ফলাফলের একটি অংশ দেওয়া হলো:

1efb91967acc1f0c.png

মডেলের ফলাফলটি ১ থেকে ১০ স্কেলে (শ্রেণিবিন্যাস) সিনেমাটির পূর্বাভাসিত স্কোর দেখায়। আপনি নিশ্চয়ই ভাবছেন যে প্রতিটি সিনেমার বিপরীতে কেন একাধিক পূর্বাভাসের সারি রয়েছে। এর কারণ হলো, মডেলটি সম্ভাব্য পূর্বাভাসিত লেবেলগুলো এবং সেগুলোর প্রত্যেকটির ঘটার সম্ভাবনাকে ক্রমহ্রাসমান ক্রমে ফেরত দিয়েছে।

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

এছাড়াও, পূর্বাভাসের ফলাফলের অংশ হিসেবে আপনি দুটি চমৎকার বিশ্লেষণমূলক পদক্ষেপ নিতে পারেন:

  1. আপনার মডেল কেন এই পূর্বাভাস ফলাফলগুলো তৈরি করছে তা বোঝার জন্য, আপনি ML.EXPLAIN_PREDICT ফাংশনটি ব্যবহার করতে পারেন।
  2. সাধারণভাবে আয়ের স্তর নির্ধারণের জন্য কোন বৈশিষ্ট্যগুলো সবচেয়ে গুরুত্বপূর্ণ, তা জানতে আপনি ML.GLOBAL_EXPLAIN ফাংশনটি ব্যবহার করতে পারেন।

আপনি ডকুমেন্টেশনে এই ধাপগুলো সম্পর্কে বিস্তারিতভাবে পড়তে পারেন।

৭. BigQuery AutoML ব্যবহার করে সিনেমার রেটিং ভবিষ্যদ্বাণী করুন

আপনি যদি BigQuery সার্ভিসকে আপনার জন্য মডেল তৈরি করতে দিয়ে মডেলের ফলাফল তৈরি হওয়া পর্যন্ত নিশ্চিন্ত থাকতে চান, তাহলে AutoML একটি চমৎকার সমাধান। AUTOML সুবিধাটি সরাসরি BQML-এ (model_type=AUTOML_CLASSIFIER বা AUTOML_REGRESSOR) পাওয়া যায় এবং ডেটা আগে থেকেই BigQuery-তে থাকলে এটিকে কল করা অনেক সহজ।

CREATE OR REPLACE MODEL movies.auto_movies
       OPTIONS(model_type='AUTOML_CLASSIFIER',
               input_label_cols=['score'],
               budget_hours=1.0)
AS 
SELECT
  * EXCEPT(id, data_cat)
FROM
  movies.movies_score;

মডেলটি তৈরি হয়ে গেলে, আপনি EVALUATE, PREDICT এবং EXPLAIN_PREDICT-এর ধাপগুলো সম্পন্ন করতে পারেন, ঠিক যেমনটি আমরা কাস্টম BQML মডেলে আলোচনা করেছি। ডকুমেন্টেশনে BigQuery AutoML সম্পর্কে আরও পড়ুন।

৮. এক ক্লিকে ভার্টেক্স এআই মডেল রেজিস্ট্রি-তে BQML মডেল স্থাপন করুন

এখন আপনি আপনার সমস্ত এমএল মডেল ভার্টেক্স এআই মডেল রেজিস্ট্রি-তে দেখতে পারবেন, যা আপনার প্রতিষ্ঠানের জন্য মডেল পরিচালনা এবং স্থাপন করা আরও সহজ করে তুলবে। এর মধ্যে বিগকোয়েরি এমএল, অটোএমএল দিয়ে তৈরি মডেল এবং কাস্টম প্রশিক্ষিত মডেল অন্তর্ভুক্ত রয়েছে। যেভাবে এটি করবেন:

CREATE OR REPLACE MODEL
  `movies.movies_score_model`
OPTIONS
  ( model_type='LOGISTIC_REG',
    auto_class_weights=TRUE,
   data_split_method='NO_SPLIT',
   model_registry='vertex_ai',
  vertex_ai_model_version_aliases=['logistic_reg', 'experimental'],
    input_label_cols=[score']
  ) AS
SELECT
  * EXCEPT(id, data_cat)
FROM
  ‘movies.movies_score'
WHERE
  data_cat = 'TRAIN';

CREATE MODEL কোয়েরিতে model_registry="vertex_ai" অপশনটি অন্তর্ভুক্ত করুন, যাতে BigQuery ML নির্দিষ্টভাবে Vertex AI মডেল রেজিস্ট্রি-তে কোন মডেলগুলো রেজিস্টার করতে চায় তা বেছে নিতে পারে। আপনি এই ব্লগে এ সম্পর্কে আরও পড়তে পারেন।

৯. সারসংক্ষেপ

৩০ মিনিটেরও কম সময়ে আমরা পেয়েছি:

  1. আমাদের অ্যানালিটিক্স প্রজেক্টের ডেটাবেস হিসেবে BigQuery সেট আপ করুন।
  2. শুধুমাত্র BigQuery ডেটা SQL ব্যবহার করে এবং অন্য কোনো কোডিং ছাড়াই কাস্টম প্রেডিকশন মডেল তৈরি করা হয়েছে।
  3. শুধুমাত্র SQL কোয়েরি ব্যবহার করে BQ অটো এমএল মডেল তৈরি করা হয়েছে।
  4. ভার্টেক্স এআই মডেল রেজিস্ট্রি-তে BQML মডেল স্থাপন করা হয়েছে।

১০. পরিষ্কার করুন

এই পোস্টে ব্যবহৃত রিসোর্সগুলোর জন্য আপনার গুগল ক্লাউড অ্যাকাউন্টে চার্জ হওয়া এড়াতে, এই ধাপগুলো অনুসরণ করুন:

  1. Google Cloud কনসোলে, রিসোর্স পরিচালনা (Manage resources) পৃষ্ঠায় যান।
  2. প্রজেক্ট তালিকা থেকে আপনি যে প্রজেক্টটি মুছতে চান সেটি নির্বাচন করুন এবং তারপর ডিলিট-এ ক্লিক করুন।
  3. ডায়ালগ বক্সে প্রজেক্ট আইডি টাইপ করুন, এবং তারপর প্রজেক্টটি ডিলিট করতে শাট ডাউন-এ ক্লিক করুন।

১১. অভিনন্দন

অভিনন্দন! আপনি সফলভাবে BQML কাস্টম এবং AutoML ব্যবহার করে একটি মুভি স্কোর প্রেডিকশন মডেল তৈরি করেছেন এবং মডেলটি Vertex AI মডেল রেজিস্ট্রি-তে স্থাপন করেছেন, এবং এই পুরো কাজটিই শুধুমাত্র SQL ব্যবহার করে সম্পন্ন করেছেন।