প্লেসেস ইনসাইট এবং বিগকুয়েরি এমএল ব্যবহার করে সাইটের পারফরম্যান্স বিশ্লেষণ করুন

চিত্র

কেন একটি সাইট ধারাবাহিক কর্মী নিয়োগ, তালিকা এবং পরিচালনা পদ্ধতি সত্ত্বেও উন্নতি লাভ করে যখন অন্যটি দুর্বল পারফর্ম করে? একাধিক অবস্থানের ব্যবসাগুলি প্রায়শই তাদের পোর্টফোলিও জুড়ে এই কর্মক্ষমতা বৈচিত্র্য ব্যাখ্যা করতে লড়াই করে। উত্তরটি সাধারণত বাহ্যিক পরিবেশের মধ্যে লুকিয়ে থাকে। আগ্রহের পয়েন্ট (POI) ডেটা ব্যবহার করে, আমরা উপাখ্যানমূলক ব্যাখ্যার বাইরে যেতে পারি এবং স্থানীয় প্রতিযোগিতামূলক ঘনত্ব এবং আশেপাশের বৈশিষ্ট্যগুলি কীভাবে একটি সাইটের সাফল্যকে নির্দেশ করে তা পরিমাপ করতে পারি।

এই নির্দেশিকাটি Places Insights এবং BigQuery ML ব্যবহার করে সাইটের সাফল্যের উপর স্থানীয় পরিবেশের প্রভাব কীভাবে পরিমাপ করা যায় তা প্রদর্শন করে। পারফরম্যান্স ড্রাইভার নির্ণয়ের জন্য আপনি আপনার মালিকানাধীন সাইটের পারফরম্যান্স ডেটা বহিরাগত ভূ-স্থানিক সংকেতের সাথে একত্রিত করবেন।

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

তুমি শিখবে:

  1. ইঞ্জিনিয়ার বৈশিষ্ট্য: আপনার সাইটের ৫০০ মিটার ব্যাসার্ধের মধ্যে জিম, স্কুল এবং ট্রানজিট স্টেশনের মতো আগ্রহের পয়েন্ট (POI) এর মোট সংখ্যা।
  2. একটি মডেল প্রশিক্ষণ দিন: BigQuery ML ব্যবহার করে একটি রিগ্রেশন মডেল তৈরি করুন যা আপনার অভ্যন্তরীণ কর্মক্ষমতা মেট্রিক্সের সাথে এই পরিবেশগত বৈশিষ্ট্যগুলির সম্পর্ক স্থাপন করে।
  3. স্কোর দ্য সিটি: ভবিষ্যতে সম্প্রসারণের জন্য উচ্চ-সম্ভাব্য হটস্পটগুলি সনাক্ত করতে লন্ডনের সমগ্র H3 গ্রিডে প্রশিক্ষিত মডেলটি প্রয়োগ করুন।

আপনি যদি BigQuery ML-এ নতুন হন, তাহলে মূল ধারণা এবং সমর্থিত মডেলের ধরণ সম্পর্কে জানতে BigQuery ML-এর ভূমিকা দেখুন।

চিত্র

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

পূর্বশর্ত

শুরু করার আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিতগুলি আছে:

  • গুগল ক্লাউড প্রজেক্ট:

    • বিলিং সক্ষম করা একটি Google ক্লাউড প্রকল্প।
  • ডেটা অ্যাক্সেস:

  • গুগল ম্যাপস প্ল্যাটফর্ম:

  • পাইথন পরিবেশ ও লাইব্রেরি:

    • গুগল ক্লাউড কনসোলে Colab Enterprise এর মতো একটি পাইথন পরিবেশ।
    • নিম্নলিখিত লাইব্রেরিগুলি ইনস্টল করা হয়েছে:
      লাইব্রেরি বিবরণ
      pandas-gbq BigQuery এর সাথে ইন্টারঅ্যাক্ট করা হচ্ছে।
      geopandas ভূ-স্থানিক তথ্য পরিচালনা।
      folium ইন্টারেক্টিভ মানচিত্র তৈরি করা।
      shapely জ্যামিতিক কারসাজি।
  • IAM অনুমতি:

    • আপনার ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টে নিম্নলিখিত IAM ভূমিকা রয়েছে তা নিশ্চিত করুন:
      ভূমিকা আইডি
      BigQuery ডেটা এডিটর roles/bigquery.dataEditor
      BigQuery ব্যবহারকারী roles/bigquery.user
  • খরচ সম্পর্কে সচেতনতা:

    • এই টিউটোরিয়ালটি বিলযোগ্য গুগল ক্লাউড উপাদান ব্যবহার করে। নিম্নলিখিত সম্পর্কিত সম্ভাব্য খরচ সম্পর্কে সচেতন থাকুন:
      • BigQuery ML: ব্যবহৃত কম্পিউট স্লটের জন্য চার্জ করা হবে। BigQuery ML মূল্য দেখুন।
      • স্থানের অন্তর্দৃষ্টি: কোয়েরি ব্যবহারের উপর ভিত্তি করে চার্জ করা হবে।

স্থান অন্তর্দৃষ্টি সহ ফিচার ইঞ্জিনিয়ারিং

সাইটের কর্মক্ষমতা বৃদ্ধির জন্য বাহ্যিক কারণগুলিকে আলাদা করার জন্য, আপনাকে কাঁচা POI ডেটা পরিমাপযোগ্য বৈশিষ্ট্যে রূপান্তর করতে হবে। আপনি প্রতিটি সাইটের 500-মিটার ব্যাসার্ধের মধ্যে নির্দিষ্ট সুযোগ-সুবিধা বা স্থানের ধরণের ঘনত্ব যেমন জিম, স্কুল এবং ট্রানজিট স্টেশন গণনা করবেন। আপনার নির্বাচিত সুযোগ-সুবিধাগুলি আপনার ব্যবসার জন্য সবচেয়ে প্রাসঙ্গিক বলে মনে হয় তার উপর নির্ভর করবে।

চিত্র

এই ধাপের জন্য আমরা Python এবং pandas-gbq লাইব্রেরি ব্যবহার করি। এই পদ্ধতির মাধ্যমে আপনি SELECT WITH AGGREGATION_THRESHOLD কোয়েরিটি কার্যকর করতে পারবেন, যা Places Insights ডেটাসেট অ্যাক্সেস করার জন্য প্রয়োজনীয় এবং ফলাফলগুলি আপনার প্রকল্পের একটি নতুন টেবিলে সংরক্ষণ করতে হবে। Places Insights ডেটা নিয়ে কাজ করার বিষয়ে আরও তথ্যের জন্য সরাসরি ডেটাসেটটি জিজ্ঞাসা করুন দেখুন।

ফিচার ইঞ্জিনিয়ারিং কোয়েরি চালান

আপনার পরিবেশে নিম্নলিখিত পাইথন স্ক্রিপ্টটি চালান (যেমন, Colab Enterprise )। এই স্ক্রিপ্টটি আপনার অভ্যন্তরীণ সাইটের ডেটাকে Places Insights ডেটাসেটের সাথে সংযুক্ত করে।

from google.cloud import bigquery
import pandas_gbq

# Configuration
project_id = 'your_project_id'
dataset_id = 'your_dataset_id'
features_table_id = f'{dataset_id}.site_features'

client = bigquery.Client(project=project_id)

# Define the Feature Engineering Query
# We count specific amenities within 500m of each site in London.
sql = f"""
SELECT WITH AGGREGATION_THRESHOLD
    internal.store_id,
    internal.store_performance,

    -- Feature Engineering: count nearby POIs by type
    COUNTIF('gym' IN UNNEST(places.types)) AS gym_count,
    COUNTIF('restaurant' IN UNNEST(places.types)) AS restaurant_count,
    COUNTIF('school' IN UNNEST(places.types)) AS school_count,
    COUNTIF('transit_station' IN UNNEST(places.types)) AS transit_count,
    COUNTIF('clothing_store' IN UNNEST(places.types)) AS clothing_store_count

FROM
    `{dataset_id}.site_performance` AS internal
JOIN
    `places_insights___gb.places` AS places
    ON ST_DWITHIN(internal.location, places.point, 500)
WHERE
    places.business_status = 'OPERATIONAL'
GROUP BY
    internal.store_id, internal.store_performance
"""

print("1. Running Feature Engineering Query...")

# Execute the query and download results to a Pandas DataFrame
df_features = client.query(sql).to_dataframe()

print(f"2. Saving features to: {features_table_id}...")

# Upload the engineered features to a permanent BigQuery table
pandas_gbq.to_gbq(
    dataframe=df_features,
    destination_table=features_table_id,
    project_id=project_id,
    if_exists='replace'
)

print("   Success! Training data ready.")

প্রশ্নটি বুঝুন

  1. ST_DWITHIN : এই ভূ-স্থানিক ফাংশনটি প্রতিটি সাইটের অবস্থানের চারপাশে ৫০০-মিটার বাফার তৈরি করে এবং সেই ব্যাসার্ধের মধ্যে থাকা সমস্ত স্থান অন্তর্দৃষ্টি পয়েন্ট সনাক্ত করে।
  2. COUNTIF : এই ফাংশনটি প্রতিটি সাইটের জন্য নির্দিষ্ট স্থানের ধরণের (যেমন, 'জিম', 'স্কুল') ঘনত্ব গণনা করে। এই গণনাগুলি মেশিন লার্নিং মডেলের জন্য ইনপুট বৈশিষ্ট্য ( X ) হয়ে ওঠে।
  3. pandas_gbq.to_gbq : এই ফাংশনটি কোয়েরির ফলাফলকে একটি নতুন টেবিলে ( site_features ) রাখে। এই স্থায়ী টেবিলটি BigQuery ML মডেলের জন্য পরিষ্কার প্রশিক্ষণ ডেটাসেট হিসেবে কাজ করে।

আরও উন্নত বাস্তব-বিশ্ব অ্যাপ্লিকেশনের জন্য, একাধিক দূরত্বে (যেমন, 250m, 500m, 1km) বৈশিষ্ট্য গণনা করার কথা বিবেচনা করুন এবং অন্যান্য Places Insights বৈশিষ্ট্য যেমন rating , price_level , অথবা regular_opening_hours অন্বেষণ করুন। Places Insights বৈশিষ্ট্যের সম্পূর্ণ তালিকার জন্য সমর্থিত স্থানের ধরণ এবং মূল স্কিমা রেফারেন্স দেখুন।

BigQuery ML দিয়ে মডেলটিকে প্রশিক্ষণ দিন

আপনার site_features টেবিলে সংরক্ষিত ইঞ্জিনিয়ারড বৈশিষ্ট্যগুলির সাহায্যে, আপনি এখন একটি লিনিয়ার রিগ্রেশন মডেল প্রশিক্ষণ দিতে পারেন।

এই মডেলটি আপনার সাইটের কর্মক্ষমতা ( Y ) পূর্বাভাস দেওয়ার জন্য প্রতিটি পরিবেশগত বৈশিষ্ট্য ( X ) এর জন্য সর্বোত্তম ওজন ( β ) শিখে।

চিত্র

শক্তিশালী স্কেলিং দিয়ে আউটলায়ারগুলি পরিচালনা করুন

ভূ-স্থানিক তথ্যে প্রায়শই চরম বহির্মুখী তথ্য থাকে যা স্ট্যান্ডার্ড রৈখিক মডেলগুলিকে বিকৃত করতে পারে। উদাহরণস্বরূপ, লন্ডনের ওয়েস্ট এন্ডের একটি সাইটে ৫০০ মিটারের মধ্যে ২০০টি রেস্তোরাঁ থাকতে পারে, যেখানে একটি শহরতলির সাইটে মাত্র ২টি। আপনি যদি স্ট্যান্ডার্ড স্কেলিং (গড়/মানক বিচ্যুতি) ব্যবহার করেন, তাহলে বহির্মুখী তথ্য (২০০) বিতরণকে বিকৃত করে এবং মডেলটিকে সেই চরম মান ফিট করার অগ্রাধিকার দিতে বাধ্য করে।

এই সমাধানের জন্য, আমরা মডেল সংজ্ঞার মধ্যে রোবাস্ট স্কেলিং ( ML.ROBUST_SCALER ) ব্যবহার করি। এই কৌশলটি মিডিয়ান এবং ইন্টারকোয়ার্টাইল রেঞ্জ (IQR) এর উপর ভিত্তি করে বৈশিষ্ট্যগুলিকে স্কেল করে, যা মডেলটিকে বহিরাগতদের প্রতি স্থিতিস্থাপক করে তোলে এবং এটি আপনার সাইটের সাধারণ বিতরণ থেকে শিক্ষা নেয় তা নিশ্চিত করে।

মডেল তৈরি করুন

মডেলটি তৈরি এবং প্রশিক্ষণের জন্য BigQuery-তে নিম্নলিখিত SQL কোয়েরিটি চালান।

আমরা সমস্ত ইনপুট বৈশিষ্ট্যগুলিতে শক্তিশালী স্কেলিং প্রয়োগ করতে TRANSFORM ধারাটি ব্যবহার করি। আমরা optimize_strategy = 'NORMAL_EQUATION' সেটও করি কারণ এটি তুলনামূলকভাবে ছোট ডেটাসেটের জন্য সবচেয়ে কার্যকর প্রশিক্ষণ পদ্ধতি, যেমন স্টোর অবস্থানের একটি সাধারণ পোর্টফোলিও। অবশেষে, আমরা উচ্চ-কার্যক্ষমতাসম্পন্ন বহিরাগতদের ( store_performance < 75 ) ফিল্টার করি যাতে মডেলটি সাধারণ বৃদ্ধির ধরণগুলির পূর্বাভাস দিতে পারে।

CREATE OR REPLACE MODEL `your_project.your_dataset.site_performance_model`
TRANSFORM(
  store_performance,
  -- Feature Engineering inside the model artifact
  -- These stats are calculated on the TRAINING split only
  ML.ROBUST_SCALER(gym_count) OVER() AS scaled_gym_count,
  ML.ROBUST_SCALER(restaurant_count) OVER() AS scaled_restaurant_count,
  ML.ROBUST_SCALER(school_count) OVER() AS scaled_school_count,
  ML.ROBUST_SCALER(transit_count) OVER() AS scaled_transit_count,
  ML.ROBUST_SCALER(clothing_store_count) OVER() AS scaled_clothing_store_count
)
OPTIONS(
    model_type = 'LINEAR_REG',
    input_label_cols = ['store_performance'],

    -- OPTIMIZATION PARAMETERS
    optimize_strategy = 'NORMAL_EQUATION', -- Exact mathematical solution (fast for small data)
    data_split_method = 'AUTO_SPLIT',      -- Automatically reserves ~20% for evaluation

    -- DIAGNOSTICS
    enable_global_explain = TRUE -- Essential to see feature importance
)
AS
SELECT
    gym_count,
    restaurant_count,
    school_count,
    transit_count,
    clothing_store_count,
    store_performance
FROM
    `your_project.your_dataset.site_features`
WHERE
    store_performance < 75;

মডেল কর্মক্ষমতা মূল্যায়ন করুন

সাইটের কর্মক্ষমতা কী তা সম্পর্কে মডেলের অন্তর্দৃষ্টি বিশ্বাস করার আগে, আপনাকে অবশ্যই যাচাই করতে হবে যে এর ভবিষ্যদ্বাণীগুলি সঠিক কিনা।

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

SELECT
  *
FROM
  ML.EVALUATE(MODEL `your_project.your_dataset.site_performance_model`);

আপনার মডেলটি উৎপাদনের জন্য প্রস্তুত কিনা তা নির্ধারণ করতে R2 স্কোর ( r2_score ) এবং গড় পরম ত্রুটি ( mean_absolute_error ) পরীক্ষা করুন:

  • একটি R2 স্কোর পরিমাপ করে যে পারফরম্যান্সের পার্থক্য আসলে কতটা বাহ্যিক পরিবেশগত কারণগুলির (কাছাকাছি POI) দ্বারা ব্যাখ্যা করা হয়েছে। 0.70 এর R2 স্কোর মানে হল একটি সাইটের সাফল্যের 70% স্থানীয় পরিবেশের সাথে সম্পর্কিত। 1.0 এর কাছাকাছি, পরিবেশগত সুযোগ-সুবিধা এবং সাইটের কর্মক্ষমতার মধ্যে সম্পর্ক তত শক্তিশালী হবে।
  • MAE আপনাকে পয়েন্টের গড় ত্রুটি বলে। উদাহরণস্বরূপ, MAE ১.৫ হলে মডেলের ভবিষ্যদ্বাণী সাধারণত প্রকৃত পারফরম্যান্স স্কোরের +/- ১.৫ পয়েন্টের মধ্যে থাকে।

কম স্কোরের সমস্যা সমাধান

যদি আপনার R2 স্কোর কম হয়, তাহলে নিম্নলিখিত উন্নতিগুলি বিবেচনা করুন:

  • বৈশিষ্ট্যের ধরণ প্রসারিত করুন: আপনার প্রশ্নের সাথে বিভিন্ন স্থানের ধরণ যোগ করুন (যেমন, tourist_attraction , subway_station )।
  • জলাধারের ব্যাসার্ধ সামঞ্জস্য করুন: ST_DWITHIN দূরত্ব পরিবর্তন করুন। ৫০০ মিটার ব্যাসার্ধ একটি কফি শপের জন্য খুব প্রশস্ত হতে পারে কিন্তু একটি আসবাবপত্রের দোকানের জন্য খুব ছোট হতে পারে।
  • ডেটার আকার বাড়ান: নিশ্চিত করুন যে আপনি পরিসংখ্যানগতভাবে গুরুত্বপূর্ণ প্যাটার্ন খুঁজে পেতে পর্যাপ্ত স্টোর লোকেশনে প্রশিক্ষণ নিচ্ছেন।

H3 স্থানিক সূচকের মাধ্যমে শহরকে স্কোর করুন

আমরা লন্ডন শহরকে ষড়ভুজাকার কোষের একটি অভিন্ন গ্রিডে বিভক্ত করার জন্য H3 স্থানিক সূচক ব্যবহার করি (রেজোলিউশন 8, প্রায় 0.7 কিমি²)। এই কোষগুলিতে স্থান অন্তর্দৃষ্টি ডেটা একত্রিত করে, আমরা প্রতিটি পাড়ায় আমাদের প্রশিক্ষিত মডেল প্রয়োগ করতে পারি, আপনার সেরা-পারফর্মিং সাইটগুলির পরিবেশগত প্রোফাইলের সাথে মেলে এমন উচ্চ-সম্ভাব্য ক্ষেত্রগুলি সনাক্ত করতে পারি।

প্রসপেক্টিং কোয়েরি চালান

এই গ্রিড তৈরি করতে, আমরা Places Insights ডেটাসেট দ্বারা প্রদত্ত PLACES_COUNT_PER_H3 ফাংশন ব্যবহার করি ( Places Count ফাংশন ব্যবহার করে Places Insights অনুসন্ধান সম্পর্কে আরও জানুন)। এই ফাংশনটি একটি একক অপারেশনে H3 গ্রিড কোষের জন্য POI গণনা গণনা করে।

একটি একক এক্সিকিউশনে তিনটি ধাপ সম্পাদন করতে নিম্নলিখিত SQL কোয়েরিটি চালান:

  1. H3 ইনডেক্সিং এবং কাউন্টিং: আমরা সেন্ট্রাল লন্ডনের 25 কিমি ব্যাসার্ধের মধ্যে সমস্ত কার্যকরী স্থান খুঁজে পেতে একটি JSON কনফিগারেশন অবজেক্ট ব্যবহার করে PLACES_COUNT_PER_H3 কল করি। আমরা প্রতিটি সুযোগ-সুবিধার ধরণের (জিম, স্কুল, ইত্যাদি) জন্য আলাদাভাবে এটি জিজ্ঞাসা করি এবং UNION ALL ব্যবহার করে সেগুলিকে একত্রিত করি।
  2. পিভোটিং (ফিচার ইঞ্জিনিয়ারিং): যেহেতু আমাদের মেশিন লার্নিং মডেলটি স্বতন্ত্র ফিচার কলাম (যেমন gym_count এবং restaurant_count ) আশা করে, তাই আমরা কোষগুলিকে গোষ্ঠীবদ্ধ করি এবং সঠিক স্কিমায় ডেটা পিভট করার জন্য শর্তসাপেক্ষ সমষ্টি (SUM(IF(...))) ব্যবহার করি।
  3. ভবিষ্যদ্বাণী: প্রতিটি পাড়ার জন্য একটি পারফরম্যান্স স্কোর তৈরি করতে আমরা এই পিভটেড গ্রিড বৈশিষ্ট্যগুলি সরাসরি ML.PREDICT ফাংশনে ফিড করি।
WITH combined_counts AS (
    -- Gyms
    SELECT h3_cell_index, geography, count, 'gym' AS type
    FROM `places_insights___gb.PLACES_COUNT_PER_H3`(
        JSON_OBJECT(
            'geography', ST_BUFFER(ST_GEOGPOINT(-0.1278, 51.5074), 25000), -- 25km radius around London
            'h3_resolution', 8,
            'business_status', ['OPERATIONAL'],
            'types', ['gym']
        )
    )
    UNION ALL
    -- Restaurants
    SELECT h3_cell_index, geography, count, 'restaurant' AS type
    FROM `places_insights___gb.PLACES_COUNT_PER_H3`(
        JSON_OBJECT(
            'geography', ST_BUFFER(ST_GEOGPOINT(-0.1278, 51.5074), 25000),
            'h3_resolution', 8,
            'business_status', ['OPERATIONAL'],
            'types', ['restaurant']
        )
    )
    UNION ALL
    -- Schools
    SELECT h3_cell_index, geography, count, 'school' AS type
    FROM `places_insights___gb.PLACES_COUNT_PER_H3`(
        JSON_OBJECT(
            'geography', ST_BUFFER(ST_GEOGPOINT(-0.1278, 51.5074), 25000),
            'h3_resolution', 8,
            'business_status', ['OPERATIONAL'],
            'types', ['school']
        )
    )
    UNION ALL
    -- Transit Stations
    SELECT h3_cell_index, geography, count, 'transit_station' AS type
    FROM `places_insights___gb.PLACES_COUNT_PER_H3`(
        JSON_OBJECT(
            'geography', ST_BUFFER(ST_GEOGPOINT(-0.1278, 51.5074), 25000),
            'h3_resolution', 8,
            'business_status', ['OPERATIONAL'],
            'types', ['transit_station']
        )
    )
    UNION ALL
    -- Clothing Stores
    SELECT h3_cell_index, geography, count, 'clothing_store' AS type
    FROM `places_insights___gb.PLACES_COUNT_PER_H3`(
        JSON_OBJECT(
            'geography', ST_BUFFER(ST_GEOGPOINT(-0.1278, 51.5074), 25000),
            'h3_resolution', 8,
            'business_status', ['OPERATIONAL'],
            'types', ['clothing_store']
        )
    )
),
aggregated_features AS (
    -- Pivot the stacked rows back into standard feature columns for the ML Model
    SELECT
        h3_cell_index AS h3_index,
        ANY_VALUE(geography) AS h3_geography,
        SUM(IF(type = 'gym', count, 0)) AS gym_count,
        SUM(IF(type = 'restaurant', count, 0)) AS restaurant_count,
        SUM(IF(type = 'school', count, 0)) AS school_count,
        SUM(IF(type = 'transit_station', count, 0)) AS transit_count,
        SUM(IF(type = 'clothing_store', count, 0)) AS clothing_store_count
    FROM
        combined_counts
    GROUP BY
        h3_cell_index
)

-- Feed the pivoted features into the model
SELECT
    h3_index,
    predicted_store_performance,
    h3_geography,
    gym_count,
    restaurant_count
FROM
    ML.PREDICT(MODEL `your_project.your_dataset.site_performance_model`,
      (SELECT * FROM aggregated_features)
    )
ORDER BY
    predicted_store_performance DESC;

ফলাফল ব্যাখ্যা করুন

কোয়েরিটি এমন একটি টেবিল প্রদান করে যেখানে প্রতিটি সারি লন্ডনের একটি ষড়ভুজাকার ক্ষেত্রফলকে প্রতিনিধিত্ব করে।

  • h3_index : ষড়ভুজাকার ঘরের জন্য অনন্য শনাক্তকারী।
  • predicted_store_performance : এই কক্ষে অবস্থিত একটি সাইটের জন্য মডেলের আনুমানিক স্কোর, শুধুমাত্র আশেপাশের পরিবেশের উপর ভিত্তি করে।
  • h3_geography : কোষের বহুভুজ জ্যামিতি, যা আমরা পরবর্তী ধাপে ভিজ্যুয়ালাইজেশনের জন্য ব্যবহার করব।

উচ্চ মানগুলি সেই অঞ্চলগুলিকে নির্দেশ করে যেখানে স্কুল, জিম এবং ট্রানজিটের ঘনত্ব আপনার সবচেয়ে সফল বিদ্যমান সাইটগুলির আশেপাশে পাওয়া প্যাটার্নের সাথে মিলে যায়।

অনুসন্ধানের মানচিত্রটি কল্পনা করুন

তথ্য কার্যকর করার জন্য, একটি মানচিত্রে ফলাফলগুলি কল্পনা করুন। সারণী আউটপুট কাঁচা স্কোর প্রদান করলেও, একটি মানচিত্র স্থানিক ক্লাস্টার এবং উচ্চ সম্ভাবনার করিডোরগুলি প্রকাশ করে যা একটি তালিকায় স্পষ্ট নয়।

সাথে থাকা নোটবুকে, আমরা geopandas লাইব্রেরি ব্যবহার করে H3 বহুভুজ জ্যামিতি এবং folium বিশ্লেষণ করে একটি ইন্টারেক্টিভ মানচিত্র তৈরি করেছি।

ফলাফল হল একটি কোরোপ্লেথ মানচিত্র যেখানে প্রতিটি ষড়ভুজাকার ঘর তার পূর্বাভাসিত স্কোর অনুসারে রঙিন হয়।

চিত্র

মানচিত্রটি ব্যাখ্যা করুন:

  • হটস্পট (হলুদ/সবুজ): এই অঞ্চলগুলিতে উচ্চ পূর্বাভাসিত পারফরম্যান্স স্কোর রয়েছে। এগুলিতে স্কুল, জিম এবং ট্রানজিটের সর্বোত্তম ঘনত্ব রয়েছে যা আপনার সফল সাইটগুলির সাথে সম্পর্কিত। নতুন সাইট নির্বাচনের জন্য এগুলিই প্রধান প্রার্থী।
  • কোল্ডস্পট (বেগুনি): এই অঞ্চলগুলিতে আপনার সেরা পারফর্মারদের কাছাকাছি পাওয়া সহায়ক পরিবেশগত বৈশিষ্ট্যের অভাব রয়েছে।
  • ইন্টারেক্টিভ পরিদর্শন: নোটবুক পরিবেশে, আপনি যেকোনো কক্ষের উপর কার্সার রেখে নির্দিষ্ট স্কোরে অবদান রাখা সুযোগ-সুবিধার সংখ্যা (যেমন, "জিম: ১২") দেখতে পারেন।

উপসংহার

সাইটের কর্মক্ষমতা নির্ণয়ের জন্য আপনি অভ্যন্তরীণ অপারেশনাল ডেটা সফলভাবে Places Insights-এর সাথে একত্রিত করেছেন। মডেলের ওজন বিশ্লেষণ করে, আপনি নির্দিষ্ট আশেপাশের বৈশিষ্ট্যগুলি সনাক্ত করেছেন যা আপনার বিদ্যমান মেট্রিক্সের সাথে সম্পর্কিত। H3 স্থানিক সূচক ব্যবহার করে, আপনি এই বিশ্লেষণটি কয়েকশ সাইট থেকে লন্ডন জুড়ে হাজার হাজার সম্ভাব্য আশেপাশের এলাকায় স্কেল করেছেন।

পরবর্তী পদক্ষেপ

  • ফিচার ইঞ্জিনিয়ারিং সম্প্রসারণ করুন: আপনার প্রশ্নের সাথে আরও নির্দিষ্ট স্থানের ধরণ যোগ করুন, যাতে পথচারীদের ট্র্যাফিকের বিশেষ চালকদের ধরণ ধরা যায়।
  • উন্নত মডেলগুলি অন্বেষণ করুন: যদিও লিনিয়ার রিগ্রেশন স্পষ্ট ব্যাখ্যাযোগ্যতা প্রদান করে, BigQuery ML-এ BOOSTED_TREE_REGRESSOR ব্যবহার করে অ-লিনিয়ার সম্পর্কগুলি ক্যাপচার করার জন্য একটি উপযুক্ত ক্রস-ভ্যালিডেশন কৌশলের সাথে পরীক্ষা করুন।
  • মানচিত্রটি কার্যকর করুন: আপনার দলের সাথে এই অন্তর্দৃষ্টিগুলি ভাগ করে নেওয়ার জন্য মানচিত্র জাভাস্ক্রিপ্ট API ব্যবহার করে H3 গ্রিড ফলাফলগুলি একটি কাস্টম ড্যাশবোর্ডে রপ্তানি করুন।

অবদানকারীরা