<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های فاطمه کریمی</title>
        <link>https://virgool.io/feed/@Fatemekarimi</link>
        <description>Data enthusiast  on a mission</description>
        <language>fa</language>
        <pubDate>2026-04-15 09:55:24</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/745825/avatar/9wtkac.jpg?height=120&amp;width=120</url>
            <title>فاطمه کریمی</title>
            <link>https://virgool.io/@Fatemekarimi</link>
        </image>

                    <item>
                <title>داده‌های مستطیلی (rectangular data)</title>
                <link>https://virgool.io/@Fatemekarimi/%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%D9%85%D8%B3%D8%AA%D8%B7%DB%8C%D9%84%DB%8C-rectangular-data-q8ylvipzcydr</link>
                <description>در علوم داده، اغلب با یک شیء داده‌ای مستطیلی کار می‌کنیم، مانند یک جدول پایگاه داده یا فایل اکسل. داده‌های مستطیلی به‌طور کلی به ماتریسی دو‌بعدی اطلاق می‌شوند که ردیف‌ها نشان‌دهنده رکوردها (مشاهدات) و ستون‌ها نشان‌دهنده ویژگی‌ها (متغیرها) هستند. در زبان‌های R و Python، داده‌ها اغلب در قالبی به نام Data Frame ذخیره می‌شوند.داده‌های مستطیلی (rectangular data)ممکن است داده‌ها ابتدا به این شکل نباشند؛ داده‌های بدون ساختار (مانند متن) باید پردازش و تبدیل شوند تا به عنوان یک مجموعه ویژگی‌ها در قالب داده‌های مستطیلی ارائه شوند. داده‌های ذخیره‌شده در پایگاه‌های داده رابطه‌ای هم باید استخراج و در یک جدول قرار بگیرند تا بتوان از آن‌ها در تحلیل‌های داده و مدل‌سازی استفاده کرد.کد نمونه در Python برای ایجاد Data Frameدر اینجا یک مثال از ساخت داده‌های مستطیلی با استفاده از پایتون آورده شده است:import pandas as pd

data = {
    &#039;Category&#039;: [&#039;Music/Movie/Game&#039;, &#039;Music/Movie/Game&#039;, &#039;Automotive&#039;, &#039;Automotive&#039;],
    &#039;Currency&#039;: [&#039;US&#039;, &#039;US&#039;, &#039;US&#039;, &#039;US&#039;],
    &#039;SellerRating&#039;: [3249, 3249, 3115, 3115],
    &#039;Duration&#039;: [5, 5, 7, 7],
    &#039;ClosePrice&#039;: [0.01, 0.01, 0.01, 0.01],
    &#039;Competitive?&#039;: [0, 0, 0, 1]
}

df = pd.DataFrame(data)

print(df)خروجی: Category Currency  SellerRating  Duration  ClosePrice  Competitive?
0  Music/Movie/Game       US          3249         5        0.01             
1  Music/Movie/Game       US          3249         5        0.01             
2         Automotive       US          3115         7        0.01             
3         Automotive       US          3115         7        0.01             در این مثال، ما یک DataFrame ساده در پایتون ایجاد کردیم که شامل داده‌های دسته‌بندی شده و داده‌های عددی است.ساختارهای داده غیرمستطیلی (Nonrectangular Data Structures)علاوه بر داده‌های مستطیلی (rectangular data)، که معمولاً در قالب جداول دیده می‌شوند، انواع دیگری از داده‌ها نیز وجود دارند که به عنوان داده‌های غیرمستطیلی شناخته می‌شوند. این داده‌ها در بسیاری از مسائل تحلیل داده و یادگیری ماشین اهمیت خاصی دارند و معمولاً شامل اطلاعاتی هستند که به صورت پیوسته یا وابسته به زمان یا مکان ارائه می‌شوند. در ادامه، به برخی از این ساختارهای داده غیرمستطیلی پرداخته می‌شود:۱. داده‌های سری زمانی (Time Series Data)داده‌های سری زمانی به مجموعه‌ای از اندازه‌گیری‌های متوالی از یک متغیر در طول زمان گفته می‌شود. این نوع داده‌ها به خصوص در حوزه‌هایی مانند پیش‌بینی آماری (مانند پیش‌بینی فروش یا قیمت سهام) اهمیت زیادی دارند. به عنوان مثال، داده‌های دما که در طول چند روز ثبت شده‌اند، یک نمونه از داده‌های سری زمانی است.ویژگی‌های داده‌های سری زمانی:داده‌ها به ترتیب زمانی مرتب می‌شوند.تغییرات و الگوهای زمانی قابل بررسی هستند.تحلیل روند و پیش‌بینی آینده بر اساس تاریخچه‌ی داده‌ها امکان‌پذیر است.۲. داده‌های مکانی (Spatial Data)داده‌های مکانی به اطلاعاتی گفته می‌شود که مختصات فضایی (مانند طول و عرض جغرافیایی) به آنها متصل است. این نوع داده‌ها در تحلیل‌های مربوط به نقشه‌برداری و مکان‌یابی استفاده می‌شوند.دو نوع نمایش برای داده‌های مکانی وجود دارد:نمایش شیءمحور (Object-Based Representation): در این نوع نمایش، داده‌ها به اشیای مختلف مرتبط هستند، مثلاً یک خانه به عنوان شیء و مختصات جغرافیایی آن.نمایش زمینه‌ای (Field View): در این نوع نمایش، داده‌ها به واحدهای کوچک‌تری از فضا مربوط می‌شوند و برای هر واحد، یک مقدار مرتبط (مثلاً روشنایی پیکسل) تعریف می‌شود.۳. داده‌های شبکه‌ای یا گراف (Graph Data)داده‌های شبکه‌ای یا گرافی برای نشان‌دادن ارتباطات بین موجودات مختلف استفاده می‌شوند. به عنوان مثال، یک گراف از شبکه‌های اجتماعی، مانند فیسبوک یا لینکدین، ارتباطات بین کاربران را نشان می‌دهد. هر موجود (مانند افراد یا گره‌ها) به صورت یک نقطه (گره) و هر ارتباط بین آن‌ها به صورت یک خط (لبه) نمایش داده می‌شود.ویژگی‌های داده‌های گرافی:گره‌ها (Nodes): هر گره نمایانگر یک موجود (مثلاً یک شخص یا یک محل) است.لبه‌ها (Edges): هر لبه نمایانگر ارتباط بین گره‌ها است (مثلاً یک دوستی در شبکه اجتماعی).اهمیت داده‌های غیرمستطیلیداده‌های غیرمستطیلی اهمیت زیادی در دنیای داده‌محور امروز دارند زیرا بسیاری از سیستم‌ها، از جمله اینترنت اشیا، داده‌های متوالی یا مکانی تولید می‌کنند. همچنین، تحلیل ارتباطات در شبکه‌ها، مانند شبکه‌های اجتماعی و فیزیکی، بر اساس داده‌های گرافی انجام می‌شود.گراف ها در آماردر علوم کامپیوتر، اصطلاح &quot;گراف&quot; معمولاً به نمایش اتصالات بین اشیا اشاره دارد، اما در آمار، &quot;گراف&quot; به انواع نمودارها و تجسم داده‌ها اطلاق می‌شود. این اصطلاح فقط به نمایش داده‌ها و نه به ساختار داده اشاره دارد.پیشنهادات مطالعه بیشتر:مستندات Data Frame در Rمستندات pandas در Pythonمنابعکتاب &quot;Practical Statistics for Data Scientists&quot; نوشته Peter Bruce, Andrew Bruce, و Peter Gedeck</description>
                <category>فاطمه کریمی</category>
                <author>فاطمه کریمی</author>
                <pubDate>Wed, 23 Oct 2024 12:56:31 +0330</pubDate>
            </item>
                    <item>
                <title>عناصر داده‌های ساختاریافته</title>
                <link>https://virgool.io/@Fatemekarimi/%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%DB%8C%D8%A7%D9%81%D8%AA%D9%87-fngsodz0tdp2</link>
                <description>داده‌ها از منابع مختلفی به دست می‌آیند: اندازه‌گیری‌های سنسور، رویدادها، متن، تصاویر و ویدئوها. دنیای اینترنت اشیا (IoT) روزانه حجم عظیمی از اطلاعات تولید می‌کند. بخش زیادی از این داده‌ها ساختارمند نیستند: تصاویر تنها مجموعه‌ای از پیکسل‌ها هستند که هر پیکسل حاوی اطلاعات رنگ RGB (قرمز، سبز، آبی) است. متن‌ها رشته‌هایی از کلمات و کاراکترها هستند که معمولاً به بخش‌ها و زیربخش‌ها تقسیم می‌شوند. برای مثال، جریان‌های کلیک (Clickstreams) رشته‌ای از اقدامات کاربران هنگام کار با یک برنامه یا وب‌سایت است. یکی از چالش‌های اصلی در علم داده، تبدیل داده‌های خام به اطلاعات قابل استفاده است. برای درک بهتر مفاهیم آماری، لازم است این داده‌ها پردازش و به فرم ساختاریافته مانند جدول‌های ردیف و ستونی تبدیل شوند، مشابه داده‌های خروجی از یک دیتابیس رابطه‌ای یا اطلاعات جمع‌آوری شده در یک پژوهش.انواع داده‌های ساختاریافتهداده‌های ساخت‌یافته به دو نوع اصلی تقسیم می‌شوند: عددی و دسته‌بندی شده. داده‌های عددی خود به دو نوع تقسیم می‌شوند: پیوسته و گسسته. داده‌های پیوسته شامل داده‌هایی مانند سرعت باد یا مدت زمان هستند که می‌توانند هر مقداری بین دو نقطه خاص بگیرند. داده‌های گسسته شامل شمارش وقایع یا تعداد وقوع یک اتفاق هستند.داده‌های دسته‌بندی شده فقط مقادیر مشخصی از یک دسته را می‌گیرند؛ مثلاً نوع صفحه نمایش تلویزیون (پلاسما، LCD، LED و غیره) یا نام ایالت (آلاباما، آلاسکا و غیره). داده‌های باینری، نوعی خاص از داده‌های دسته‌بندی شده هستند که فقط دو مقدار می‌گیرند، مثلاً 0 و 1، بله و خیر، یا درست و نادرست.داده‌های ترتیبی نیز نوع دیگری از داده‌های دسته‌بندی شده هستند که یک ترتیب مشخص دارند؛ مثلاً نمرات عددی (1، 2، 3، 4، یا 5).جدول1 دسته‌بندی‌های داده اهمیت نوع داده‌ها نوع داده‌ها تعیین می‌کند چه نوع نمودار، تحلیل داده یا مدل آماری باید استفاده شود. همچنین در نرم‌افزارهایی مانند R و Python این دسته‌بندی‌ها به بهینه‌سازی عملکرد محاسبات کمک می‌کنند. از همه مهم‌تر، نوع داده یک متغیر مشخص می‌کند که نرم‌افزار چگونه باید محاسبات مربوط به آن متغیر را انجام دهد.مطالعه بیشتر مستندات pandas انواع مختلف داده‌ها را توصیف کرده و توضیح می‌دهد که چگونه می‌توان آن‌ها را در زبان Python مدیریت کرد.دسته‌بندی داده‌ها ممکن است در هر زبان برنامه نویسی متفاوت باشد. سایت R Tutorial دسته‌بندی داده‌ها در R را پوشش می‌دهد.پایگاه‌های داده در طبقه‌بندی انواع داده‌ها دقیق‌تر هستند و مواردی مانند سطح دقت، فیلدهای با طول ثابت یا متغیر و موارد دیگر را در نظر می‌گیرند.منابعکتاب &quot;Practical Statistics for Data Scientists&quot; نوشته Peter Bruce, Andrew Bruce, و Peter Gedeck</description>
                <category>فاطمه کریمی</category>
                <author>فاطمه کریمی</author>
                <pubDate>Mon, 21 Oct 2024 08:47:15 +0330</pubDate>
            </item>
                    <item>
                <title>فیلترینگ همکارانه(Collaborative Filtering)</title>
                <link>https://virgool.io/@Fatemekarimi/collaborative-filtering-f3cb0bsdgiun</link>
                <description>فیلترینگ همکارانه(Collaborative Filtering)، یکی از  رایج‌ترین روش های استفاده شده در ساخت سیستم‌های توصیه‌دهنده هوشمند است که با گردآوری اطلاعات بیشتری درباره کاربران، می‌تواند بهترین توصیه‌ها را ارائه دهد.بیشتر وب‌سایت‌ها مانند آمازون، یوتیوب و نتفلیکس از فیلترینگ همکارانه به عنوان بخشی از سیستم‌های پیشنهاد دهنده پیچیده‌ی خود استفاده می‌کنند.فیلترینگ همکارانه یک تکنیک است که می‌تواند اقلامی را که کاربر ممکن است پسندیده باشد بر اساس واکنش‌های کاربران مشابه فیلتر کند. این تکنیک با جستجو در یک گروه بزرگ از افراد و پیدا کردن یک مجموعه کوچک‌تر از کاربران با سلیقه‌های مشابه با یک کاربر خاص عمل می‌کند. این به اقلامی که آن‌ها دوست دارند نگاه می‌کند و آن‌ها را ترکیب کرده و یک لیست رتبه‌بندی شده از پیشنهادها ایجاد می‌کند.مراحل مربوط به فیلترینگ همکارانهبرای ساخت یک سیستم که به طور خودکار می‌تواند به کاربران مواردی را به عنوان پیشنهادات مبتنی بر ترجیحات دیگر کاربران پیشنهاد دهد، اولین مرحله پیدا کردن کاربران یا موارد مشابه است. مرحله دوم پیش‌بینی امتیازات مواردی است که تا کنون توسط یک کاربر امتیاز داده نشده‌اند. بنابراین، شما به پاسخ این سوالات نیاز دارید:۱. چگونه مشخص می‌شود که کاربران یا موارد چگونه به یکدیگر شباهت دارند؟۲. با توجه به اینکه می‌دانید کدام کاربران شبیه به هم هستند، چگونه می‌توانید امتیازی را که یک کاربر به یک مورد می‌دهد بر اساس امتیازهای کاربران مشابه، محاسبه کنید؟۳. چگونه می‌توانید دقت امتیازهای محاسبه شده را اندازه‌گیری کنید؟دو سوال اول پاسخ مشخصی ندارند. فیلترینگ همکارانه خانواده‌ای از الگوریتم‌ها است که در آن چندین روش برای پیدا کردن کاربران یا موارد مشابه و چندین روش برای محاسبه امتیاز بر اساس امتیازهای کاربران مشابه وجود دارد. بسته به انتخاب‌هایی که انجام می‌دهید، به یک نوع رویکرد فیلترینگ همکارانه می‌رسید. در این مقاله، شما متوجه انواع مختلف روش‌های پیدا کردن شباهت و پیش‌بینی امتیازها خواهید شد.یک نکته مهم برای در نظر گرفتن این است که در یک رویکرد کاملاً مبتنی بر فیلترینگ همکارانه، شباهت تنها بر اساس امتیاز (صریح یا ضمنی) که یک کاربر به یک مورد می‌دهد، محاسبه می‌شود. به عنوان مثال، دو کاربر ممکن است مشابه در نظر گرفته شوند اگر از ده فیلم علیرغم تفاوت بزرگی در سن آن‌ها، به یکسان امتیاز دهند. الگوریتم های مبتنی بر حافظه (Memory Based)دسته اول شامل الگوریتم‌های مبتنی بر حافظه است که در آن تکنیک‌های آماری برای کل مجموعه داده‌ها به‌کار می‌روند تا پیش‌بینی‌ها محاسبه شوند.برای یافتن امتیاز R که یک کاربر U به یک مورد I می‌دهد، رویکرد شامل موارد زیر است:یافتن کاربران مشابه با U که به مورد I امتیاز داده‌اندمحاسبه امتیاز R بر اساس امتیازهای کاربرانی که در مرحله قبلی پیدا شده‌اندشما هر کدام از این موارد را در بخش‌های بعدی به‌طور دقیق خواهید دید.چگونگی یافتن کاربران مشابه بر اساس امتیازهابرای درک مفهوم شباهت، ابتدا یک مجموعه داده ساده ایجاد می‌کنیم.داده شامل چهار کاربر A، B، C و D است که به دو فیلم امتیاز داده‌اند. امتیازات در لیست‌ها ذخیره شده‌اند و هر لیست شامل دو عدد است که امتیاز هر فیلم را نشان می‌دهد:- امتیازات A: [1.0، 2.0].- امتیازات B: [2.0، 4.0].- امتیازات C: [2.5، 4.0].- امتیازات D: [4.5، 5.0].برای شروع با یک اشاره بصری، امتیازات دو فیلم داده شده توسط کاربران را روی یک نمودار رسم کرده و الگویی را جستجو کنید. نمودار به شکل زیر است:در نمودار بالا، هر نقطه نمایانگر یک کاربر است و بر اساس امتیازاتی که به دو فیلم داده‌اند، رسم شده‌اند.نگاه کردن به فاصله بین نقاط به نظر یک روش خوب برای تخمین شباهت است، درست است؟ می‌توانید با استفاده از فرمول فاصله اقلیدسی بین دو نقطه، فاصله را محاسبه کنید. پس از تعیین لیستی از کاربران مشابه یک کاربر U، شما باید امتیاز R را که کاربر U به یک مورد I خاص خواهد داد، محاسبه کنید. دوباره، مانند شباهت، شما می‌توانید این کار را به چندین روش انجام دهید.می‌توانید پیش‌بینی کنید که امتیاز R کاربر به یک مورد I نزدیک به میانگین امتیازات داده شده به I توسط 5 یا 10 کاربر برتر مشابه با U خواهد بود.  مقایسه فیلترینگ مبتنی بر کاربر و مبتنی بر آیتم در سیستم‌های توصیه (User-Based vs Item-Based Collaborative Filtering)روش‌هایی که در مثال‌های بالا توضیح داده شده‌اند، جایی است که ماتریس امتیازات برای پیدا کردن کاربران مشابه بر اساس امتیازاتی که از آن‌ها می‌گیرند استفاده می‌شود، به نام فیلترینگ همکاری‌ای کاربر یا کاربر-کاربر است. اگر از ماتریس امتیازات برای پیدا کردن موارد مشابه بر اساس امتیازات داده شده به آن‌ها توسط کاربران استفاده شود، آنگاه این رویکرد به عنوان فیلترینگ همکاری‌ای مبتنی بر آیتم شناخته می‌شود.این دو رویکرد در نظریه ریاضی کاملاً مشابه هستند، اما بین آن‌ها تفاوت مفهومی وجود دارد. اینجاست که دو رویکرد با یکدیگر مقایسه می‌شوند:مبتنی بر کاربر: برای یک کاربر U، با یک مجموعه از کاربران مشابه که بر اساس بردارهای امتیازدهی شامل امتیازات داده‌شده به موارد تعیین می‌شود، امتیاز برای یک مورد I که تاکنون امتیاز نگرفته است، با انتخاب N کاربر از لیست شباهتی که مورد I را امتیاز داده‌اند و محاسبه امتیاز بر اساس این N امتیازها پیدا می‌شود.مبتنی بر آیتم : برای یک مورد I، با یک مجموعه از موارد مشابه که بر اساس بردارهای امتیازدهی شامل امتیازات کاربران دریافتی تعیین می‌شود، امتیاز توسط یک کاربر U که آن را امتیاز نداده است، با انتخاب N مورد از لیست شباهتی که توسط U امتیاز داده شده‌اند و محاسبه امتیاز بر اساس این N امتیازها پیدا می‌شود.رویکرد مبتنی بر مورد توسط آمازون توسعه داده شده است. در یک سیستم که تعداد کاربران بیشتری از موارد دارد، فیلترینگ مبتنی بر آیتم نسبت به مبتنی بر کاربر سریع‌تر و پایدارتر است. این موثر است زیرا معمولاً میانگین امتیاز دریافتی توسط یک مورد به همان سرعتی که میانگین امتیاز داده شده توسط یک کاربر به موارد مختلف تغییر نمی‌کند. همچنین این رویکرد بهتر از رویکرد مبتنی بر کاربر عمل می‌کند هنگامی که ماتریس امتیازات پراکنده است.اگرچه، رویکرد مبتنی بر آیتم برای مجموعه‌داده‌هایی با موارد اکسپلور یا سرگرمی مانند MovieLens عملکرد ضعیفی دارد و توصیه‌هایی که به کاربران هدف داده می‌شود بسیار واضح به نظر می‌رسد. الگوریتم های مبتنی بر مدل (Model Based)الگوریتم‌های مبتنی بر مدل، به روش‌هایی اطلاق می‌شود که شامل یک مرحله برای کاهش یا فشرده‌سازی ماتریس کاربر-مورد بزرگ اما پراکنده است. برای درک این مرحله، داشتن یک فهم اولیه از کاهش ابعاد بسیار مفید است. کاهش ابعاددر ماتریس کاربر-مورد، دو بعد وجود دارد:1. تعداد کاربران2. تعداد موارداگر ماتریس اغلب خالی باشد، کاهش ابعاد می‌تواند عملکرد الگوریتم را از نظر هم فضا و هم زمان بهبود ببخشد. می‌توانید از روش‌های مختلفی مانند تجزیه ماتریس یا اتوانکدرها برای این کار استفاده کنید.تجزیه ماتریس را می‌توان به عنوان شکستن یک ماتریس بزرگ به تولید حاصلضرب دو ماتریس کوچک‌تر دانست. این مشابه تجزیه عددی است، که در آن ۱۲ می‌تواند به شکل ۶ × ۲ یا ۴ × ۳ نوشته شود. در مورد ماتریس‌ها، ماتریس A با ابعاد m × n می‌تواند به حاصلضرب دو ماتریس X و Y با ابعاد به ترتیب m × p و p × n کاهش یابد.بسته به الگوریتم استفاده شده برای کاهش ابعاد، تعداد ماتریس‌های کاهش یافته ممکن است بیشتر از دو باشد.ماتریس‌های کاهش یافته در واقع کاربران و موارد را به صورت جداگانه نشان می‌دهند. سطرهای m در ماتریس اول کاربران را نشان می‌دهند و ستون‌های p درباره ویژگی‌ها یا ویژگی‌های کاربران اطلاعاتی ارائه می‌دهند. به همین ترتیب، برای ماتریس مورد، n مورد و p ویژگی وجود دارد. در ادامه مثالی از نحوه تجزیه ماتریس آورده شده است.در تصویر بالا، ماتریس به دو ماتریس کاهش یافته تقسیم می‌شود. کسی که در سمت چپ است، ماتریس کاربر با m کاربر است و کسی که در بالا است، ماتریس مورد با n مورد است. امتیاز ۴ کاهش یافته یا تجزیه شده به:1. بردار کاربر (۲، -۱)2. بردار مورد (۲.۵، ۱)دو ستون در ماتریس کاربر و دو ردیف در ماتریس مورد، عوامل نهان نامیده می‌شوند و نشان دهنده ویژگی‌های مخفی درباره کاربران یا موارد هستند. تفسیر ممکن از تجزیه ممکن است به این شکل باشد:- فرض کنید در بردار کاربری (u، v)، u نشان‌دهنده این است که چقدر یک کاربر دوست دارد که ژانر ترسناک باشد و v نشان‌دهنده این است که چقدر آنها از ژانر عاشقانه خوششان می‌آید.- بردار کاربر (۲، -۱) بنابراین نشان‌دهنده یک کاربر است که از فیلم‌های ترسناک خوششان می‌آید و آنها را به صورت مثبت امتیاز می‌دهند و از فیلم‌هایی که عاشقانه هستند و امتیازات منفی می‌دهند انتقاد دارند.- فرض کنید در بردار مورد (i، j)، i نشان دهنده این است که چقدر یک فیلم به ژانر ترسناک تعلق دارد و j نشان دهنده این است که چقدر این فیلم به ژانر عاشقانه تعلق دارد.- فیلم (۲.۵، ۱) امتیاز ۲.۵ ترسناک و امتیاز ۱ عاشقانه دارد. ضرب آن با بردار کاربر با استفاده از قوانین ضرب ماتریس به شما می‌دهد (۲ × ۲.۵) + (-۱ × ۱) = ۴.بنابراین، فیلم به ژانر ترسناک تعلق داشت و کاربر ممکن است آن را ۵ امتیاز دهد، اما درجه ورود آهسته عاشقانه باعث می‌شود امتیاز نهایی به ۴ کاهش یابد.در مثال، دو عامل پنهان برای ژانرهای فیلم داشتیم، اما در سناریوهای واقعی، این عوامل پنهان نیاز به تجزیه و تحلیل زیادی ندارند. این الگوها در داده‌ها وجود دارند که به طور خودکار نقش خود را ایفا می‌کنند، بدون این که معنای پایه آنها را بازگشتی کنید.تعداد عوامل پنهان تاثیری بر توصیه‌ها دارد به نحوی که هر چه تعداد عوامل بیشتر باشد، توصیه‌ها به شخصیت‌ها نزدیک‌تر می‌شوند. اما تعداد زیادی از عوامل پنهان می‌تواند به اورفیتینگ در مدل منجر شود.الگوریتم‌هایی برای تجزیه ماتریسیکی از الگوریتم‌های محبوب برای تجزیه ماتریس، الگوریتم تجزیه مقادیر تکین (SVD) است. SVD زمانی به معرض توجه قرار گرفت که تجزیه ماتریس عملکرد خوبی در مسابقه جایزه Netflix ارائه داد. الگوریتم‌های دیگر شامل PCA و تغییرات آن، NMF و غیره می‌باشند. در مقاله بعدی، قصد داریم الگوریتم‌های فیلترینگ همکارانه را به زبان پایتون پیاده‌سازی کنیم. با استفاده از این الگوریتم‌ها، می‌توانیم به طور اتوماتیک به کاربران پیشنهادهایی در مورد مواردی که ممکن است آن‌ها را جذب کند، ارائه دهیم. در این پیاده‌سازی، قرار است از کتابخانه‌هایی مانند Surprise استفاده کنیم که امکان ایجاد سیستم‌های توصیه با الگوریتم‌های مختلف را در زبان پایتون فراهم می‌کنند. این الگوریتم‌ها عبارتند از: الگوریتم‌های مبتنی بر K-Nearest Neighbours (k-NN)، مدل‌های مبتنی بر ماتریس مانند Singular Value Decomposition (SVD) و روش‌های مبتنی بر افزایش بعد مانند Principle Component Analysis (PCA). </description>
                <category>فاطمه کریمی</category>
                <author>فاطمه کریمی</author>
                <pubDate>Sun, 03 Mar 2024 20:03:41 +0330</pubDate>
            </item>
            </channel>
</rss>