انبار داده (Data Warehouse):
- تحلیل دادهها
- ذخیره دادههای خلاصهشده
- استفاده از OLAP (پردازش تحلیلی آنلاین) که بر اساس مدل داده چندبعدیه
- انجام عملیات پیچیده روی دادهها برای تحلیل
- نیاز به بهروزرسانی دادهها برای دریافت اطلاعات جدید
- معمولاً برای استفاده چند برنامه کاربردی و بخشهای مختلف سازمان طراحی میشه
- معمولاً برای پشتیبانی از تصمیمگیری و تحلیلهای کلان استفاده میشه
پایگاه داده (Database):
- ثبت دادهها و تراکنشها
- ذخیره دادههای جزئی و دقیق
- استفاده از OLTP (پردازش تراکنش آنلاین) که اجرای لحظهای تعداد زیادی از تراکنشهای پایگاه داده رو ممکن میکنه
- انجام عملیات اساسی روی دادهها
- دسترسی لحظهای به دادهها رو فراهم میکنه
- استفاده از دادهها از چند برنامه کاربردی
- معمولاً برای پشتیبانی از عملیات روزمره و تراکنشهای جاری استفاده میشه
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4👌2👨💻1
جوینها در SQL به ما امکان میدن دادهها رو از چند جدول با هم ترکیب کنیم. درک صحیح از انواع مختلف JOIN و نحوه استفاده از اونها، برای هر برنامهنویس پایگاه داده ضروریه.
employees
و departments
داریم. میخوایم تمام کارمندان رو همراه با نام دپارتمانهاشون نشون بدیم، حتی اگه کارمندی دپارتمان نداشته باشه.SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;
products
و orders
داریم. میخوایم تمام سفارشها رو همراه با جزئیات محصولاتشون نشون بدیم، حتی اگه محصولی در سفارشها نباشه.SELECT orders.order_id, products.product_name
FROM orders
RIGHT JOIN products ON orders.product_id = products.id;
students
و courses
داریم. میخوایم تمام دانشجویان و تمام دورهها رو نشون بدیم، حتی اگه دانشجویی در دورهای ثبتنام نکرده باشه یا دورهای دانشجو نداشته باشه.SELECT students.name, courses.course_name
FROM students
FULL OUTER JOIN courses ON students.course_id = courses.id;
authors
و books
داریم. میخوایم تمام کتابها رو همراه با نویسندگان نشون بدیم، فقط اگه کتابی نویسندهای داشته باشه.SELECT authors.name, books.title
FROM authors
INNER JOIN books ON authors.id = books.author_id;
SELECT A.*
FROM A
LEFT JOIN B ON A.id = B.id
WHERE B.id IS NULL;
SELECT B.*
FROM A
RIGHT JOIN B ON A.id = B.id
WHERE A.id IS NULL;
SELECT A.*, B.*
FROM A
FULL OUTER JOIN B ON A.id = B.id
WHERE A.id IS NULL OR B.id IS NULL;
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥2👌1
❓کوییز شماره ۱۸۱: در مورد پیوند HASH JOIN، کدوم گزینه صحیح نیست؟
Anonymous Quiz
22%
همیشه سریعتر از NESTED LOOP JOIN هست
28%
معمولاً برای جوین جداول بزرگ استفاده میشه
39%
از یک تابع هش برای ایجاد جدول هش استفاده میکنه
11%
میتونه در حافظه یا روی دیسک اجرا شه
❤6🤔2👌2😎1
انبار داده (Data Warehouse):
- قابلیت ذخیرهسازی دادههای ساختاریافته و پردازششده
- دارای حجم کمتری از دادهها در حدود ترابایت
- شامل دادههای تاریخی و رابطهای
- بیشتر توسط تحلیلگران کسبوکار استفاده میشه
- کاربرد در پردازش دستهای و گزارشدهی هوش تجاری
- دارای امنیت بالا و کامل
- ساختار انبار داده از قبل تعریف شده و برای پرسوجوهای خاص بهینه شده
دریاچه داده (Data Lake):
- قابلیت ذخیرهسازی مقادیر زیادی از دادههای ساختاریافته، نیمهساختاریافته، غیرساختاریافته و خام
- دارای حجم بسیار زیادی از دادهها در حدود پتابایت
- دادهها میتونن برای انواع مختلفی از کاربردها مثل یادگیری ماشین، تحلیل جریان داده و هوش مصنوعی استفاده شن
- بیشتر توسط دانشمندان داده و تحلیلگران داده استفاده میشه
- امنیتاش میتونه متغیر باشه و نیاز به مدیریت دقیق داره
- انعطافپذیری بیشتری در ذخیرهسازی و پردازش دادهها داره
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍2🔥2👌1
انبار داده یک سیستم مرکزیه که دادههای سازمان رو از منابع مختلف جمعآوری، ذخیره و مدیریت میکنه تا برای تحلیل و گزارشدهی آماده باشن. این سیستم به منظور پشتیبانی از فرآیند تصمیمگیری و تحلیلهای پیچیده طراحی شده.
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥1👌1
❓کوییز شماره ۱۸۲: کدوم ویژگی Data Vault 2.0 امکان بارگذاری موازی و مقیاسپذیری بالا رو فراهم میکنه؟
Anonymous Quiz
13%
استفاده از کلیدهای مصنوعی
26%
پشتیبانی از تغییرات تدریجی
35%
استفاده از الگوی Hub-Link-Satellite
26%
جداسازی کلیدها و توصیفگرها
👍6❤2🤔1😎1
معماری Data Vault 2.0 یک روش پیشرفته برای طراحی انبار دادههاست که هدفش فراهم کردن قابلیت توسعهپذیری، انعطافپذیری و استحکام در مدیریت دادههای بزرگ و پیچیده است. Data Vault 2.0 به عنوان یک توسعه از مدل اصلی Data Vault طراحی شده.
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1🔥1👨💻1
پایگاه دادههای NoSQL یک دستهبندی از سیستمهای مدیریت پایگاه داده (DBMS) است که برای کار با دادههای غیرسازمانی و حجمهای بزرگ داده طراحی شدن. برخلاف پایگاه دادههای رابطهای (SQL) که از جداول و روابط ساختار یافته استفاده میکنن، پایگاه دادههای NoSQL انعطافپذیری بیشتری در مدلسازی دادهها ارائه میدن.
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🔥2👌2
پایگاههای داده SQL به مدلهای ساختاریافته و رابطهای تأکید میکنن، درحالیکه پایگاههای داده NoSQL با رویکردی برای مدیریت دادههای متنوع و پویا با تأکید بیشتر بر مقیاسپذیری و سرعت دارن. این مطلب تفاوتهای بین این دو سیستم پایگاه داده رو بررسی میکنه.
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2👏2👌1
BACKUP DATABASE MyDatabase TO DISK = 'C:\Backups\MyDatabaseFull.bak';
BACKUP DATABASE MyDatabase TO DISK = 'C:\Backups\MyDatabaseDiff.bak' WITH DIFFERENTIAL;
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
RESTORE DATABASE MyDatabase FROM DISK = 'C:\Backups\MyDatabaseFull.bak';
RESTORE DATABASE MyDatabase FROM DISK = 'C:\Backups\MyDatabaseFull.bak' WITH NORECOVERY;
RESTORE DATABASE MyDatabase FROM DISK = 'C:\Backups\MyDatabaseDiff.bak' WITH RECOVERY;
RESTORE DATABASE MyDatabase FROM DISK = 'C:\Backups\MyDatabaseFull.bak' WITH NORECOVERY;
RESTORE LOG MyDatabase FROM DISK = 'C:\Backups\MyDatabaseLog.bak' WITH STOPAT = '2024-07-11T14:30:00', RECOVERY;
ابزار گرافیکی برای مدیریت پشتیبانگیری و بازیابی در SQL Server
ابزار پشتیبانگیری و بازیابی در Oracle Database
ابزاری برای پشتیبانگیری و بازیابی پایگاههای داده MySQL
ابزارهای خط فرمانی برای پشتیبانگیری و بازیابی در PostgreSQL
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2👏2👌2
❓کوییز شماره ۱۸۳: در مورد تکنیک Log Shipping در SQL Server، کدوم گزینه نادرسته؟
Anonymous Quiz
25%
میتونه با تأخیر زمانی تنظیم شه تا از اعمال تغییرات اشتباه جلوگیری کنه.
20%
نیازی به پشتیبانگیری کامل اولیه نداره.
30%
میتونه برای ایجاد یک پایگاه داده آینهای (Mirror) استفاده شه.
25%
امکان بازیابی تا آخرین تراکنش رو فراهم میکنه.
👌6❤2👨💻2😎1
در پایگاه دادهها، وابستگی به این معناست که مقادیر یک ستون یا مجموعهای از ستونها میتونن تعیینکننده مقادیر ستونهای دیگه باشن. این وابستگیها به طراحان کمک میکنن تا جداول بهینهتر و بدون تکرار و ناسازگاری دادهها ایجاد کنن.
این وابستگی یعنی اگه در یک جدول، یک ستون خاص باشه که با دونستن مقدارش، بتونیم به طور قطعی مقدار یک ستون دیگه رو بگیم. مثلاً اگه شماره ملی یک نفر رو بدونیم، میتونیم نام و نام خانوادگیاش رو هم بفهمیم. بنابراین، شماره ملی تعیینکننده نام و نام خانوادگیه.
این نوع وابستگی زمانی رخ میده که یک ستون میتونه به چند مقدار مستقل از یک ستون دیگه مربوط باشه. مثلاً اگه یک دانشجو چند شماره تماس و همچنین چند آدرس ایمیل داشته باشه، شماره تماسها و آدرسهای ایمیل به طور مستقل از هم هستن، اما هر دو به یک دانشجو مربوط میشن.
این وابستگی زمانی رخ میده که یک ستون به طور غیرمستقیم به ستون دیگه وابسته باشه. مثلاً اگر بدونیم درس یک دانشجو چیه و بر اساسش استاد درس رو بدونیم، بعد اگه از روی استاد بتونیم دانشکده رو بفهمیم، اون وقت بین درس و دانشکده هم یک وابستگی غیرمستقیم (Transitive) وجود داره.
این وابستگی زمانی مطرح میشه که یک جدول بتونه به چند زیرجدول تقسیم شه و با ترکیب مجدد این زیرجدولها، جدول اصلی دوباره ساخته شه. یعنی اطلاعات به شکلی تقسیم شده که بشه با اتصال اونها دوباره به دادههای اولیه رسید.
این وابستگی زمانی مطرح میشه که تمام محدودیتها در جدول تنها به وسیله دامنه مجاز مقادیر ستونها و کلیدهای اصلی تعیین شه. در این صورت، جدول در بالاترین سطح نرمالسازی قرار داره.
این وابستگی بیان میکنه که مقدار یک ستون یا مجموعهای از ستونها در یک جدول باید با مقدار یک ستون یا مجموعهای از ستونها در جدول دیگه مطابقت داشته باشه. مثلاً شماره دانشجویی در جدول نمرات باید با شماره دانشجویی در جدول اطلاعات دانشجو تطابق داشته باشه.
این نوع وابستگی زمانی رخ میده که مجموعهای از وابستگیها یک حلقه تشکیل بدن. مثلاً اگه ستون A به ستون B وابسته باشه، ستون B به ستون C و ستون C دوباره به ستون A وابسته باش، این یک حلقه است.
این وابستگی زمانی رخ میده که یک ستون غیرکلیدی به بخشی از کلید ترکیبی وابسته باشه. مثلاً اگه یک کلید ترکیبی شامل دو ستون کد درس و شماره کلاس باشه و ستون نام استاد فقط به کد درس وابسته باشه، این وابستگی انتزاعیه.
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1🔥1👏1
https://t.me/data_ml/655
#Weekend
#Database
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1👏1
#Recommender_Systems
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🔥2👏1
Forwarded from رضا شکرزاد - علمداده و هوش مصنوعی
دنیای دادهها جذابه و دونستن #علم_داده، توانایی تحلیل داده، یا بازاریابی مبتنی بر داده، میتونه شما رو برای فرصتهای شغلی زیادی مناسب کنه. فارغ از رشته و پیش زمینهتون، میتونین با استفاده از کارگاههای رضا شکرزاد این مسیر رو شروع کنین و از سطح مقدماتی تا پیشرفته پیش برین.
۶۰٪ تخفیف برای پکیج ۱۰ کارگاه: Data60
۳۰٪ تخفیف برای هر کارگاه: Data30
#Courses
@DSLanders | دیاسلندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥2
سیستمهای توصیهگر (Recommender Systems) به کاربران کمک میکنن تا محتوا، محصولات یا خدماتی رو که به اونها علاقهمندن، پیدا کنن. این سیستمها با تحلیل رفتار و ترجیحات کاربران، پیشنهاداتی مناسب ارائه میدن.
سیستمهای توصیهگر مبتنی بر محتوا (Content-Based Recommender Systems) بر اساس ویژگیهای آیتمها و ترجیحات گذشته کاربر بهش پیشنهاداتی میدن. در این سیستمها، هر آیتم دارای مجموعهای از ویژگیها (attributes) هست و پیشنهادها بر اساس تطابق این ویژگیها با ترجیحات کاربر صورت میگیره.
- این سیستمها میتونن پیشنهادهایی کاملاً منطبق با سلیقهی کاربر ارائه بدن.
- چون این سیستمها فقط بر اساس اطلاعات کاربر فعلی و ویژگیهای آیتمها عمل میکنن، نیازی به دادههای گستردهی کاربران دیگه ندارن.
- پیشنهادات این سیستمها به دلیل مبتنی بودن بر ویژگیهای آیتمها، به راحتی قابل توضیح هستن.
- این سیستمها ممکنه پیشنهادات بسیار محدود و مشابه ارائه بدن، چون فقط به ویژگیهای آیتمهای مشابه توجه میکنن.
- تغییر در ترجیحات کاربر به سرعت در پیشنهادات سیستم بازتاب پیدا نمیکنه.
سیستمهای فیلترسازی مشارکتی (Collaborative Filtering Recommender Systems) بر اساس تحلیل رفتار و ترجیحات جمعی کاربران به پیشنهاد دادن میپردازن. در این سیستمها، فرض بر اینکه اگه دو کاربر در گذشته آیتمهای مشابهی رو دوست داشتن، احتمالاً در آینده هم از آیتمهای مشابهی لذت خواهند برد.
- فیلترسازی مشارکتی مبتنی بر کاربر (User-Based Collaborative Filtering): در این روش، کاربران مشابه با کاربر فعلی شناسایی میشن و آیتمهایی که این کاربران مشابه دوست داشتن به کاربر فعلی پیشنهاد میشه.
- فیلترسازی مشارکتی مبتنی بر آیتم (Item-Based Collaborative Filtering): در این روش، آیتمهایی که در گذشته توسط کاربران مشابه پسندیده شدن شناسایی و بر اساس شباهت بین آیتمها به کاربر فعلی پیشنهاد میشن.
- کشف موارد جدید: این سیستمها میتونن آیتمهایی رو پیشنهاد بدن که کاربر هرگز با اونها مواجه نشده.
- انعطافپذیری بالا: به دلیل استفاده از دادههای جمعی، این سیستمها میتونن ترجیحات کاربر رو با تغییر رفتار کاربران دیگه تطبیق بدن.
- نیاز به دادههای گسترده: برای عملکرد بهتر، این سیستمها به دادههای زیادی از کاربران مختلف نیاز دارن.
- مشکل شروع سرد (Cold Start): برای کاربران جدید یا آیتمهای جدید که دادهای در مورد اونها وجود نداره، این سیستمها نمیتونن پیشنهادات مناسبی ارائه بدن.
- مسائل مقیاسپذیری: با افزایش تعداد کاربران و آیتمها، محاسبات لازم برای پیشنهادات پیچیدهتر و زمانبرتر میشه.
سیستمهای هیبریدی (Hybrid Recommender Systems) تلاش میکنن با ترکیب مزایای سیستمهای مبتنی بر محتوا و فیلترسازی مشارکتی، عملکرد بهتری ارائه بدن. این سیستمها از ترکیب روشهای مختلف استفاده میکنن تا نقاط ضعف هر یک از روشها رو پوشش بدن.
- ترکیب سری (Sequential Hybrid): در این روش، اول یکی از سیستمها پیشنهاداتی ارائه میدد و بعد سیستم دیگه این پیشنهادات رو اصلاح یا تکمیل میکنه.
- ترکیب موازی (Parallel Hybrid): در این روش، هر دو سیستم به طور مستقل پیشنهادات خودشون رو ارائه میدن و بعد نتایج با هم ترکیب میشن.
- مدل ترکیبی (Mixed Hybrid): در این روش، ویژگیها و دادههای هر دو سیستم به طور همزمان در یک مدل واحد استفاده میشن تا پیشنهادات نهایی تولید شن.
- عملکرد بهتر: با ترکیب روشها، این سیستمها پیشنهادات دقیقتری ارائه میدن.
- پوشش نقاط ضعف: با استفاده از دو یا چند روش، نقاط ضعف هر روش به طور موثرتری پوشش داده میشه.
- انعطافپذیری بیشتر: این سیستمها میتونن به راحتی با تغییرات در دادهها و ترجیحات کاربران تطبیق پیدا کنن.
- پیچیدگی بیشتر: طراحی و پیادهسازی این سیستمها به دلیل ترکیب چند روش پیچیدهتره.
- نیاز به منابع بیشتر: به دلیل استفاده از چند روش، این سیستمها به دادهها و منابع محاسباتی بیشتری نیاز دارن.
#Recommender_Systems
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2👏2👌1
❓کوییز شماره ۱۸۴: کدوم یک از موارد زیر در مورد سیستمهای توصیهگر مبتنی بر گراف (Graph-based Recommender Systems) صحیح نیست؟
Anonymous Quiz
6%
میتونن روابط پیچیده بین کاربران، آیتمها و ویژگیها رو مدل کنن.
17%
توانایی کشف روابط پنهان و غیرمستقیم بین عناصر رو دارن.
57%
عملکردشون همیشه بهتر از سیستمهای توصیهگر مبتنی بر فیلترینگ مشارکتیه.
20%
از الگوریتمهایی مثل PageRank برای رتبهبندی اهمیت گرهها استفاده میکنن.
❤6👌2😎2👍1
مشکلات شروع سرد (Cold Start Problem) به وضعیتهایی اشاره دارن که در اونها سیستمهای توصیهگر با دادههای ناکافی برای ارائه پیشنهادات مناسب مواجه هستن. این مشکلات معمولاً در سه حوزه اصلی بروز پیدا میکنن:
#Recommender_Systems
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1🔥1👌1
سیستمهای توصیهگر به سه دسته اصلی مبتنی بر محتوا (Content-Based), فیلترسازی مشارکتی (Collaborative Filtering), و سیستمهای هیبریدی (Hybrid Systems) تقسیم میشن. در این متن، بهطور ویژه به روشهای فیلترسازی مشارکتی میپردازیم.
فیلترسازی مشارکتی یکی از محبوبترین و موثرترین روشهای توصیه است که بر اساس تحلیل رفتارها و ترجیحات کاربران عمل میکنه. در این روش، سیستم به جای تحلیل ویژگیهای اقلام، بر اساس تعاملات کاربران با اقلام، توصیههایی رو ارائه میده. فیلترسازی مشارکتی به دو دسته اصلی مبتنی بر کاربر (User-Based) و مبتنی بر آیتم (Item-Based) تقسیم میشه.
در روش فیلترسازی مشارکتی مبتنی بر کاربر، هدف اصلی پیدا کردن کاربران مشابه است. سیستم به دنبال کاربرانی میگرده که الگوهای رفتاری مشابهی با کاربر فعلی داشته باشن و بر اساس علاقهمندیهای کاربران مشابه، اقلام جدیدی رو به کاربر فعلی توصیه میکنه. برای مثال، اگه دو کاربر اغلب فیلمهای مشابهی رو تماشا کنن، فیلمهایی که یکی از اونها تماشا کرده ولی دیگری ندیده، میتونه به عنوان توصیهای مناسب برای او در نظر گرفته شه.
در روش فیلترسازی مشارکتی مبتنی بر آیتم، تمرکز روی شباهت بین اقلام هست. سیستم به دنبال آیتمهایی میگرده که الگوهای رفتاری مشابهی توسط کاربران داشته باشن و بر اساس علاقهمندیهای کاربر فعلی به آیتمهای دیگه، اقلام مشابه رو بهش توصیه میکنه.
۱. محاسبه شباهت کاربران: برای تعیین میزان شباهت بین دو کاربر، معمولاً از معیارهایی مثل ضریب همبستگی پیرسون یا شباهت کسینوسی استفاده میشه.
۲. ایجاد لیست کاربران مشابه: با توجه به معیار شباهت، لیستی از کاربرانی که بیشترین شباهت رو با کاربر فعلی دارن تهیه میشه.
۳. توصیه اقلام: اقلامی که توسط کاربران مشابه پسندیده شدن ولی توسط کاربر فعلی هنوز دیده نشدن، بهش توصیه میشن.
#Recommender_Systems
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3❤2👌1