<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های محمدسجاد خسروآبادی</title>
        <link>https://virgool.io/feed/@m_97980780</link>
        <description>من سجادم. با داده فکر می‌کنم و با محصول خلق می‌کنم. به NLP، مدیریت محصول داده‌محور و حکمرانی داده علاقه‌مندم و اینجا درباره خلق، تصمیم‌گیری و اثر فناوری بر دنیای واقعی می‌نویسم.</description>
        <language>fa</language>
        <pubDate>2026-06-17 21:58:43</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1656966/avatar/yTzWKX.jpg?height=120&amp;width=120</url>
            <title>محمدسجاد خسروآبادی</title>
            <link>https://virgool.io/@m_97980780</link>
        </image>

                    <item>
                <title>پیش‌بینی نتایج فوتبال - قسمت اول</title>
                <link>https://virgool.io/@m_97980780/%D9%BE%DB%8C%D8%B4-%D8%A8%DB%8C%D9%86%DB%8C-%D9%86%D8%AA%D8%A7%DB%8C%D8%AC-%D9%81%D9%88%D8%AA%D8%A8%D8%A7%D9%84-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-y7bvi2u9hfn2</link>
                <description>پروژهٔ پایتون برای بررسی نتایج فوتبال و ضرایب شرط‌بندیراهکارهای داده‌محور در انجام وظایف مختلف در سراسر جامعه جایگاه ویژه‌ای پیدا کرده‌اند و با قدرتمندتر شدن مدل‌سازی داده، این حوزه به ابزاری مؤثر برای مواجهه با تصادفی‌بودن پدیده‌ها تبدیل شده است. در این مجموعه نوشته‌ها، هدف ما ساخت یک راهکار برای پیش‌بینی نتایج فوتبال بر اساس داده‌هایی است که از سراسر وب جمع‌آوری می‌شوند.هدف اصلیپیش از هر چیز لازم است هدف اصلی پروژه را مشخص کنیم؛ هدفی که هستهٔ اصلی کار ما را تشکیل می‌دهد. در زمان نگارش این مطلب، جام جهانی فوتبال فیفا در حال نزدیک شدن است و معمولاً در چنین رویدادهایی مردم دور هم جمع می‌شوند و روی نتایج بازی‌ها و مسابقات گفت و گو می‌کنند؛ چه برای برنده شدن جایزه و چه صرفاً برای سرگرمی. این رفتار یک پدیدهٔ جهانی است و پیش بینی نتایج ورزشی صنعتی چند میلیارد دلاری به شمار می‌رود که میلیون‌ها نفر را برای بررسی و تحلیل ضرایب به خود جذب می‌کند.در چنین بستری، هدف اصلی این پروژه شکل می‌گیرد: ساخت ابزاری که بتواند به ما در پیش بینی نتایج فوتبال کمک کند. پس از مشخص شدن این هدف، می‌توانیم مراحل لازم برای رسیدن به آن را به‌صورت ساخت‌یافته ترسیم کنیم.راه‌اندازی پروژهاکنون هدف نهایی مشخص شده، اما هنوز هدفی کلی و دور به نظر می‌رسد. استفاده از نوعی مهندسی معکوس می‌تواند به شفاف‌تر شدن مسیر کمک کند. نخستین ایده‌ای که به ذهن می‌رسد، ساخت یک برنامه کاربردی است که به ما امکان شبیه‌سازی استراتژی‌های پیش بینی نتایج را بر اساس نوعی پیش‌بینی بدهد.همان‌طور که قابل حدس است، چارچوب اصلی ما برای پیش‌بینی نتایج، یک مدل یادگیری ماشین یا یادگیری عمیق خواهد بود، چرا که قصد داریم از اطلاعات گذشته برای پیش‌بینی رویدادهای آینده استفاده کنیم. بر این اساس، لازم است داده‌های ورودی را از منابع مختلف وب جمع‌آوری کنیم که اتفاقاً موضوع اصلی این مقالهٔ نخست محسوب می‌شود.پیش از ورود به جزئیات وب‌اسکریپینگ، مراحل مطرح‌شده را به‌طور خلاصه مرور می‌کنیم:جمع‌آوری دادهمهندسی ویژگی و مدل‌سازیساخت شبیه‌ساز استراتژی‌های شرط‌بندیدر نهایت، این پروژه در زمان نگارش همچنان در حال توسعه است و هدف اصلی آن، ارائهٔ یک گزارش مطالعاتی برای خود من است. بنابراین بهتر است با همین نگاه به آن بنگرید و در ارائهٔ پیشنهاد یا نقد کاملاً آزاد باشید. می‌توانید به مخزن کد پروژه از طریق ارتباط با من دسترسی داشته باشید. خب، کافی است؛ بیایید وارد بحث جمع‌آوری داده شویم.منابع دادهدر جست‌وجوهای انجام‌شده در وب، با منابع دادهٔ مختلفی روبه‌رو شدم که هر کدام با هدف خاصی انتخاب شدند. در ادامه آن‌ها را معرفی کرده و ویژگی‌هایشان را توضیح می‌دهم.اولین مجموعه‌داده‌ای که قصد داریم بسازیم، دیتاستی است که برای تغذیهٔ مدل با آمارها و رویدادهای گذشتهٔ مسابقات فوتبال استفاده می‌شود. منبعی که از آن داده جمع‌آوری می‌کنیم وب‌سایت fbref است و می‌توانید نتیجهٔ نمونهٔ وب‌اسکریپینگ را در فایل sample.pkl در مخزن پروژه مشاهده کنید. نگاهی به ساختار صفحهٔ اصلی وب‌سایت fbref بیندازید:در ادامه، هدف ما تهیهٔ یک مجموعه‌دادهٔ سری زمانی است که شامل اطلاعات موجود در این صفحه در تاریخ‌های مختلف باشد؛ همچنین داده‌هایی که در لینک‌های گزارش مسابقات قرار دارند نیز جمع‌آوری خواهند شد، چرا که این گزارش‌ها آمارهای دقیق‌تر و جزئی‌تری از هر بازی ارائه می‌دهند. در تصویر زیر نیز نمونه‌ای از گزارش یک مسابقه نشان داده شده است.سپس با نگاهی به وب‌سایت و ساختار آن مشخص می‌شود که نیازی به پردازش کدهای JavaScript نداریم؛ موضوعی که در غیر این صورت می‌توانست کار وب‌اسکریپینگ را کمی پیچیده‌تر کند. بنابراین از این مرحله به بعد از BeautifulSoup استفاده می‌کنیم.اکنون باید ساختار اسکریپینگ خود را بر اساس اطلاعات موردنیازمان طراحی کنیم، چرا که اسکریپر به‌صورت خطی عمل کرده و داده‌های مورد نظر را جمع‌آوری می‌کند. کد نیز در قالب یک کلاس با نام scrapper پیاده‌سازی شده و تمام قابلیت‌ها و عملکردهای لازم درون این کلاس تعریف شده‌اند.حال بیایید مراحلی را که قدم‌به‌قدم طی کرده‌ام مرور کنیم:اسکریپر بازی‌های گذشته (Old Matches Scraper)1. رفتن به تاریخ مشخص‌شده در صفحهٔ مسابقاتدر صفحهٔ مسابقات، به تاریخ موردنظر می‌رویم. این فرآیند و تمام مراحل بعدی، به‌صورت روزانه در بازه‌ای که کاربر تعریف می‌کند تکرار می‌شوند. تابع getMatches() یک تاریخ شروع و یک تاریخ پایان دریافت می‌کند که محدوده‌ای را مشخص می‌کنند که اسکریپر در آن اجرا خواهد شد.2. دریافت جدول هر لیگ / قهرمانیمطابق مثال مرحلهٔ اول، متغیر leagues می‌تواند توسط کاربر مقداردهی شود تا لیگ‌هایی که قصد اسکریپ آن‌ها را دارد انتخاب کند. همچنین در کد می‌توان یک بلوک try-except مشاهده کرد که برای مدیریت خطاهای ساختاری استفاده می‌شود؛ خطاهایی مانند جدول‌های جعلی یا غیرواقعی که ممکن است در وب‌سایت ظاهر شوند.3. استخراج اطلاعات هر مسابقه از سطر جدولدر این مرحله، علاوه بر اضافه کردن اطلاعات موردنظر به لیست‌ها، به استفاده از time.sleep توجه ویژه‌ای شده است؛ این کار برای کنترل تعداد درخواست‌ها در یک بازهٔ زمانی مشخص انجام می‌شود تا از مسدود شدن IP جلوگیری شود.نکتهٔ مهم دیگر، ذخیره‌سازی لینک گزارش هر مسابقه است که در متغیر score قرار دارد. با استخراج لینک از متغیر score به‌جای لینک مستقیم «Match Report»، می‌توان از ذخیره شدن لینک مسابقاتی که به تعویق افتاده یا لغو شده‌اند جلوگیری کرد. این موضوع ما را به مرحلهٔ بعد هدایت می‌کند.4. ورود به گزارش هر مسابقه و استخراج اطلاعاتهمان‌طور که مشاهده می‌کنید، این مرحله کمی پیچیده‌تر است؛ بنابراین توضیح کوتاهی ارائه می‌شود:کارت‌های زرد و قرمز با شمارش و جمع‌کردن تعداد آبجکت‌های کارت در دسته‌های زرد و قرمز محاسبه می‌شوند.سایر آمارها به این روش استخراج شده‌اند:بررسی اینکه آیا آماری خاص در دیکشنری آمارهای مورد انتظار وجود دارد یا خیردر صورت وجود، دیکشنری با مقادیر مرتبط با آن آمار به‌روزرسانی می‌شود؛ مقادیری که معمولاً قبل و بعد از نام آن آمار در ساختار صفحه قرار دارندخوانندهٔ دقیق احتمالاً متوجه شده است که مرحلهٔ ۲ (دریافت جدول هر لیگ) الزاماً ضروری نیست، اما این مرحله انعطاف‌پذیری لازم برای فیلتر کردن مسابقات بر اساس لیگ‌های موردنظر را در اختیار ما قرار می‌دهد؛ رویکردی که من در این پروژه انتخاب کرده‌ام.مرحلهٔ تکمیلی: ایجاد Checkpointبه‌عنوان یک گام اضافی، نیاز به تعریف یک مکانیزم Checkpoint احساس شد، زیرا اسکریپر ممکن است با خطاهای غیرقابل پیش‌بینی مواجه شود یا وب‌سایت fbref دسترسی IP را مسدود کند. در چنین شرایطی، از دست رفتن زمان پردازش می‌تواند بسیار زیاد باشد.به همین دلیل، در اولین روز هر ماه، وضعیت فعلی فرآیند اسکریپ ذخیره می‌شود تا در صورت بروز خطای غیرمنتظره، یک نقطهٔ امن برای ادامهٔ کار در اختیار داشته باشیم.و این عملاً تمام فرایند است. در انتهای کد، می‌توانید حلقهٔ به‌روزرسانی روزانه (iterator تاریخ) و همچنین عملیات لازم برای قالب‌بندی DataFrame نهایی را مشاهده کنید.تمام این فرایند به ما امکان می‌دهد داده‌هایی را جمع‌آوری کنیم تا مدلی برای پیش‌بینی نتایج مسابقات فوتبال بسازیم؛ با این حال، هنوز لازم است داده‌های مربوط به مسابقات پیشِ‌رو را نیز اسکریپ کنیم تا بتوانیم از داده‌هایی که تاکنون جمع‌آوری کرده‌ایم، به شکلی کاربردی استفاده کنیم.بهترین منبعی که برای این منظور پیدا کردم SofaScore بود؛ یک اپلیکیشن که اطلاعات مربوط به مسابقات و بازیکنان را جمع‌آوری و ذخیره می‌کند. علاوه بر این، SofaScore ضرایب واقعی شرط‌بندی در Bet365 را نیز برای هر مسابقه در اختیار قرار می‌دهد.وب‌سایت SofaScore به‌طور خاص از JavaScript برای بارگذاری محتوا استفاده می‌کند؛ به این معنا که کد HTML به‌صورت کامل و مستقیم در دسترس نیست تا بتوان از آن با BeautifulSoup استفاده کرد. بنابراین لازم است از یک چارچوب دیگر برای استخراج داده‌ها بهره ببریم. در این پروژه، من پکیج پرکاربرد Selenium را انتخاب کردم که به ما اجازه می‌دهد از طریق کد پایتون، وب را درست مانند یک کاربر انسانی مرور کنیم.در عمل، می‌توانید مشاهده کنید که وب‌درایور مرورگر را باز می‌کند، کلیک انجام می‌دهد و بین صفحات جابه‌جا می‌شود. مرورگری که من انتخاب کردم Chrome بوده است.در تصویر زیر، صفحهٔ اصلی SofaScore با مسابقات در حال برگزاری یا پیشِ‌رو نمایش داده شده است و در سمت راست می‌توانید نتیجهٔ کلیک روی یکی از مسابقات و سپس انتخاب گزینهٔ LINEUPS را مشاهده کنید.همان‌طور که توضیح داده شد، Selenium مانند یک کاربر انسانی وب را مرور می‌کند؛ بنابراین طبیعی است که این فرایند کمی کندتر باشد و همین موضوع صحت دارد. در نتیجه باید در هر مرحله دقت بیشتری به خرج دهیم تا روی دکمه‌ای که هنوز وجود ندارد کلیک نکنیم؛ چرا که کدهای JavaScript تنها پس از انجام برخی تعاملات کاربر رندر می‌شوند.به‌عنوان مثال، وقتی روی یک مسابقه خاص کلیک می‌کنیم، سرور به زمانی نیاز دارد تا منوی کناری‌ای که در تصویر دوم مشاهده می‌شود را بارگذاری کند. اگر در همین فاصله کد بخواهد روی دکمهٔ Lineup کلیک کند، با خطا مواجه خواهد شد. حالا بیایید وارد بخش کد شویم.اسکریپر مسابقات پیشِ‌رو (Forecoming Matches Scraper)1. باز کردن صفحهٔ اصلی و فعال‌سازی دکمهٔ «نمایش ضرایب» (Show Odds)همان‌طور که اشاره شد، پس از راه‌اندازی درایور و ورود به آدرس SofaScore، باید منتظر بمانیم تا دکمهٔ نمایش ضرایب رندر شود و سپس روی آن کلیک کنیم. همچنین لیست‌هایی ایجاد می‌کنیم تا اطلاعات استخراج‌شده را در آن‌ها ذخیره کنیم.2. ذخیرهٔ اطلاعات اصلی مسابقاتدر این بخش کار خاص یا پیچیده‌ای انجام نمی‌شود، اما توجه به این نکته مهم است که در خط ۸ تنها مسابقاتی فیلتر می‌شوند که هنوز آغاز نشده‌اند. دلیل این کار آن است که پردازش مسابقات در حال برگزاری، اسکریپ ضرایب را بسیار پیچیده‌تر می‌کند. علاوه بر این، هنوز مشخص نیست شبیه‌ساز شرط‌بندی آینده چگونه عمل خواهد کرد و ممکن است با نتایج زنده عملکرد درستی نداشته باشد.3. دریافت ترکیب تیم‌ها (Lineups)به‌طور خلاصه، مطابق توضیحات بالا، منتظر می‌مانیم تا منوی کناری مربوط به هر مسابقه به‌طور کامل بارگذاری شود، سپس روی دکمهٔ Lineup کلیک می‌کنیم و نام بازیکنان را استخراج می‌کنیم. در این مرحله باید دقت ویژه‌ای به خرج داد، زیرا نام کاپیتان هر تیم در وب‌سایت با قالب‌بندی متفاوتی نمایش داده می‌شود؛ به همین دلیل، یک تابع کمکی (helper function) برای مدیریت این مورد پیاده‌سازی کردیم.پس از آن، نام بازیکنان هر مسابقه در یک DataFrame مجزا ذخیره می‌شود و در نهایت، پس از اتمام کل فرایند، اطلاعات مسابقات با ترکیب‌های پیش‌بینی‌شدهٔ تیم‌ها با یکدیگر ادغام (concatenate) می‌شوند.نتیجه‌گیریخب، این هم از مطلب امروز. در این مقاله دو ابزار اسکریپینگ ساختیم که می‌توانند:اطلاعات مربوط به مسابقات گذشتهٔ فوتبال را جمع‌آوری کنندو داده‌های مربوط به مسابقات پیشِ‌رو را استخراج نماینداین تنها آغاز پروژه است. در ادامه می‌توانید منتظر مقالات جدیدی دربارهٔ:ساخت مجموعه‌داده شامل اطلاعات بازیکنانمدل‌سازی پیش‌بینی نتایجو در نهایت، پیاده‌سازی شبیه‌ساز استراتژی‌های پیش بینیباشید. امیدوارم از این مطلب لذت برده باشید! 😊</description>
                <category>محمدسجاد خسروآبادی</category>
                <author>محمدسجاد خسروآبادی</author>
                <pubDate>Fri, 19 Dec 2025 15:20:04 +0330</pubDate>
            </item>
                    <item>
                <title>ده درس زندگی برای همه</title>
                <link>https://virgool.io/@m_97980780/%D8%AF%D9%87-%D8%AF%D8%B1%D8%B3-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%87%D9%85%D9%87-div6fdzv0wrf</link>
                <description>ده درسی که کاش خیلی زودتر یاد گرفته بودم؛نه در کلاس‌ها، نه در کتاب‌ها،بلکه وسط پروژه‌ها، کار تیمی، تصمیم‌های سخت، معماری‌ها، شکست‌ها و جلسات کوچینگ کسب‌وکار.۱. بیش‌ازحد مهربان بودن، الزاماً احترام نمی‌آورد.مرزها اگر زود مشخص نشوند، دیر و با هزینه زیاد تحمیل می‌شوند. مهربانیِ بدون چارچوب، فرسوده‌کننده است.۲. همیشه پای غرور در میان نیست؛ گاهی مسئله عزت‌نفس است.از خودت دفاع کن؛ این دفاع از ارزش کارت و مسیری‌ست که با زحمت ساخته‌ای.۳. در نهایت، تنها کسی که همیشه کنارت می‌ماند، خودت هستی.هیچ‌کس مسئول ساختن مسیر حرفه‌ای تو نیست. این طراحی، انتخاب و مسئولیت خود توست.۴. چیزها تمام می‌شوند، آدم‌ها تغییر می‌کنند و بعضی مسیرها دیگر جواب نمی‌دهند.پذیرش، تطبیق و حرکت، نشانه ضعف نیست؛ نشانه بلوغ است.۵. همه‌چیز با یک رؤیا شروع می‌شود،اما رؤیایی که اجرا نشود، فقط یک فکر قشنگ باقی می‌ماند.۶. بعضی خداحافظی‌ها دردناک‌اند، اما برای رشد ضروری.رها کردن آنچه کار نمی‌کند، فضا را برای چیزهای درست باز می‌کند.۷. به صدای درونت گوش بده، نه به قضاوت دیگران.آن‌ها مسیر تو را زندگی نمی‌کنند؛ تو می‌کنی.۸. یک «نه» صریح و شفاف، از ده‌تا قول مبهم ارزشمندتر است.شفافیت حرکت می‌سازد؛ ابهام، توقف.۹. گاهی می‌بری و گاهی یاد می‌گیری.و هر دو، اگر درست فهمیده شوند، یعنی رشد.۱۰. توجه زودگذر است، اما احترام می‌ماند.و چیزی که می‌ماند، سرمایه واقعی مسیر حرفه‌ای است.همه ما این درس‌ها را دیر یاد می‌گیریم؛ من هم همین‌طور.اما وقتی بفهمی‌شان، زاویه نگاهت به کار، تیم و آینده عوض می‌شود.</description>
                <category>محمدسجاد خسروآبادی</category>
                <author>محمدسجاد خسروآبادی</author>
                <pubDate>Fri, 19 Dec 2025 14:57:24 +0330</pubDate>
            </item>
                    <item>
                <title>X‑Mind چیست و چرا این‌همه آدم از آن برای فکر کردن استفاده می‌کنند؟</title>
                <link>https://virgool.io/@m_97980780/x%E2%80%91mind-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D8%B1%D8%A7-%D8%A7%DB%8C%D9%86-%D9%87%D9%85%D9%87-%D8%A2%D8%AF%D9%85-%D8%A7%D8%B2-%D8%A2%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%81%DA%A9%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D9%85%DB%8C-%DA%A9%D9%86%D9%86%D8%AF-igt6h9wydccy</link>
                <description>تا حالا شده سرت شلوغ باشد،ایده داشته باشی،ولی ندانی از کجا شروع کنی؟یا بخواهی چیزی را یاد بگیری،اما اطلاعات توی ذهنت مثل کلاف درهم‌پیچیده باشند؟اینجا دقیقاً جایی است که X‑Mind به درد می‌خورد.X‑Mind یک نرم‌افزار برای «مرتب فکر کردن» است.نه به روش دفترچه و لیست، بلکه به شکلی که شبیه کار واقعی ذهن انسان است.X‑Mind دقیقا چیست؟X‑Mind یک نرم‌افزار Mind Mapping یا «نقشه ذهنی» است.به زبان ساده:به‌جای این‌که افکارت را خطی و پشت‌سرهم بنویسی،آن‌ها را شاخه‌شاخه، تصویری و مرتبط ثبت می‌کنی.در X‑Mind:یک ایده‌ی اصلی وسط صفحه استبقیه‌ی ایده‌ها مثل شاخه از آن بیرون می‌زنندهر شاخه می‌تواند شاخه‌های کوچک‌تر داشته باشددقیقا شبیه طرز کار مغز.Mind Map یعنی چی؟ (خیلی ساده)فرض کن می‌خواهی درباره‌ی «سفر» برنامه‌ریزی کنی.در حالت عادی شاید بنویسی:مقصدهزینهزمانوسایلاما در Mind Map:«سفر» وسط استچهار شاخه اطرافشهر شاخه، زیرشاخه داردهم دید کلی داری، هم جزئیات گم نمی‌شوند.X‑Mind چه مشکلی را حل می‌کند؟X‑Mind برای آدم‌هایی است که:ذهن شلوغ دارندایده زیاد دارندبا لیست‌های خطی کنار نمی‌آیندزود گیج می‌شونداین نرم‌افزار کمک می‌کند:فکرهایت را خالی کنیارتباط بین ایده‌ها را ببینیو به جای آشفتگی، تصویر داشته باشیچرا X‑Mind از نوشتن معمولی بهتر است؟نوشتن خطی یک مشکل دارد:فقط یک مسیر را نشان می‌دهد.ولی فکر کردن، خطی نیست.X‑Mind اجازه می‌دهد:همزمان چند مسیر را ببینیبرگردیشاخه جدید اضافه کنیبدون به‌هم ریختن کل نوشتهبرای همین خیلی‌ها می‌گویند:X‑Mind بیشتر شبیه «فکر کردن» است تا «نوشتن».X‑Mind بیشتر به چه دردهایی می‌خورد؟1. برنامه‌ریزیبرای:سفرپروژههدف‌های شخصیکارهای روزانهبه جای لیست خشک،یک نقشه‌ی زنده داری.2. درس خواندن و یادگیریدانشجوها از X‑Mind استفاده می‌کنند برای:خلاصه‌نویسیفهم ساختار یک درسارتباط دادن مفاهیمبه‌خصوص وقتی متن زیاد است.3. ایده‌پردازی (Brainstorming)وقتی هنوز هیچ چیز قطعی نیست،X‑Mind عالی است.ایده‌ها را می‌ریزی وسط صفحه،بعد کم‌کم مرتبشان می‌کنی.4. نوشتنقبل از:مقالهپست وبلاگپایان‌نامهحتی استوریخیلی‌ها اول نقشه ذهنی می‌کشند،بعد تبدیلش می‌کنند به متن.آیا X‑Mind فقط برای آدم‌های خلاق است؟نه.برعکس،خیلی از کاربرهای X‑Mind آدم‌هایی هستند که:نظم ذهنی ندارندیا از بی‌نظمی خسته شده‌اندX‑Mind قرار نیست نابغه‌ات کند،فقط کمک می‌کند ذهنت را ببینی.فضای X‑Mind چه حسی دارد؟این نرم‌افزار:شلوغ نیستاسترس نمی‌دهداجبار نداردمی‌توانی:هر وقت خواستی تغییرش بدهیشاخه‌ای را حذف کنیدوباره بسازیهمیشه حس «موقتی بودن» دارد، که برای فکر کردن خیلی مهم است.جمع‌بندیX‑Mind یک نرم‌افزار ساده استبرای کار پیچیده‌ای به نام «فکر کردن».نه قرار است زندگی‌ات را عوض کند، نه ذهنت را کامل مرتب کند.اما اگر:ذهنت شلوغ استایده داریو دوست داری قبل از عمل، واضح‌تر فکر کنیX‑Mind یکی از بهترین جاهایی است که می‌توانی فکرهایت را آنجا بچینی.</description>
                <category>محمدسجاد خسروآبادی</category>
                <author>محمدسجاد خسروآبادی</author>
                <pubDate>Mon, 15 Dec 2025 14:32:06 +0330</pubDate>
            </item>
                    <item>
                <title>استفاده از تحلیل داده در جنگ جهانی !!!</title>
                <link>https://virgool.io/@m_97980780/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%D8%AF%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%AC%D9%86%DA%AF-%D8%AC%D9%87%D8%A7%D9%86%DB%8C-oiypi0hzgeqg</link>
                <description>در جنگ جهانی دوم، بمباران هوایی یکی از ابزارهای مؤثر متفقین برای از بین بردن زیرساخت‌های صنعتی و نظامی آلمان و درنهایت شکست آن کشور بود؛ اما این رویکرد همراه با تلفات سنگینی برای نیروی هوایی انگلیس و آمریکا بود. برآوردها حاکی است دوره عمر انتظاری خدمه یک بمب‌افکن بین ۱۲ تا ۱۵ مأموریت بود. در یک دوره‌ای از جنگ، اگر شما خلبان یک بمب‌افکن در اروپا بودید، شانس این‌که سالم از مأموریت خود بازگردید، چیزی در حدود ۵۰ درصد بود. رهبران نظامی به این نتیجه رسیده بودند که باید زره تقویتی بیشتری به هواپیماهای خود اضافه کنند تا آن‌ها را در برابر آتش ضدهوایی و جنگنده‌ها حفاظت کند؛ اما افزودن زره به همه قسمت‌های هواپیما امکان‌پذیر نبود و سرعت را بسیار کم و آن را آسیب‌پذیرتر می‌کرد؛ بنابراین آنان باید تصمیم می‌گرفتند که به کدام قسمت‌های هواپیما زره بیفزایند.به همین دلیل نیروی هوایی جمع‌آوری داده در مورد نقاطی را که هواپیماها آسیب می‌دیدند، شروع کرد. آنان پس از هر مأموریت هواپیماهایی را که بازگشته بودند به‌دقت بررسی می‌کردند و تعداد آسیب‌های ناشی از ترکش‌ها و گلوله‌ها و جای آن‌ها را روی هواپیما مشخص می‌کردند. به‌تدریج مشخص شد الگوی خاصی در توزیع آسیب‌ها روی هواپیما وجود دارد. شکل-۱ نشان می‌دهد که بیشتر آسیب‌ها روی ناحیه بال و بدنه هواپیما بوده است.بر این اساس کارشناسان نظامی نتیجه‌گیری کردند ازآنجاکه بیشترین گلوله‌ها به نواحی بال و بدنه هواپیما اصابت کرده پس این قسمت‌ها نیازمند زره حفاظتی بیشتر هستند. در نگاه اول این نتیجه‌گیری درست به نظر می‌رسد.اما آبراهام والد (Abraham Wald) با این نتیجه‌گیری کاملاً مخالف بود. او از جمله ریاضی‌دانانی بود که در جنگ جهانی دوم برای ارتش آمریکا کار می‌کرد. والد نشان داد که خطای مهمی در تحلیل‌ها صورت گرفته چراکه نتیجه‌گیری تنها بر اساس داده‌های هواپیماهایی است که از مأموریت بازگشته‌اند؛ اما در مورد هواپیماهایی که در طول مأموریت سقوط کردند، چه می‌دانیم؟ درواقع نمونه آماری به سمت هواپیماهایی که بازگشته‌اند سوگیری داشته است. والد نشان داد که دقیقاً برعکس، آن قسمت‌هایی از هواپیما نیاز به حفاظت دارند که در شکل-۱ کمترین اصابت را داشته‌اند. درواقع نقاط آسیب در هواپیماهای بازگشتی بیانگر آن است که اگر هواپیما در این نقاط هدف قرار داده شود، با احتمال بیشتری می‌تواند سالم بازگردد. پیشنهاد‌های والد در عمل به بهبود نرخ برگشت هواپیماها کمک کرد.</description>
                <category>محمدسجاد خسروآبادی</category>
                <author>محمدسجاد خسروآبادی</author>
                <pubDate>Mon, 29 Apr 2024 12:05:57 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی کتاب داستان سرایی با داده ها</title>
                <link>https://virgool.io/@m_97980780/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%AF%D8%A7%D8%B3%D8%AA%D8%A7%D9%86-%D8%B3%D8%B1%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-rdtnkw4vak7j</link>
                <description>تقریبا تمام افراد می‌توانند داده‌ها را در نرم‌افزاری مثل اکسل وارد و نموداری خلق کنند. اما در این داده‌ها داستانی وجود دارد که نرم‌افزار شما از آن بی‌خبر است و نمی‌تواند به مخاطب توضیح بدهد. به همین دلیل اغلب افراد در فهم پیام شما سردرگم می‌شوند و تصور می‌کنند که فقط با مجموعه‌ای از داده‌ها و نمودارهای غیرقابل فهم محاصره شده‌اند.این‌جا درست جایی است که به شما نیاز است تا مفهوم نمودارها را به صورت مصور یا در بستری مناسب به مخاطب ارائه کنید. شما باید بتوانید داده‌ها و نمودارها را تحلیل‌کرده و پیام آن را به زبان ساده به افراد منتقل کنید.این موضوعی است که این کتاب بر آن تمرکز کرده است. کتاب «داستان‌پردازی با داده‌ها» راهنمایی گام به گام است که به شما کمک می‌کند مخاطب و بستر تعامل پیام را بشناسید و بدانید او به چه چیزهایی توجه می‌کند تا درنهایت بتوانید داده‌ها، اطلاعات و پیام‌هایتان را به درستی به مخاطبتان منتقل کنید.مرسی از انتشارات خوب آریانا قلم#سجاد_خسروآبادی#دیتا#داده#هوش_تجاری</description>
                <category>محمدسجاد خسروآبادی</category>
                <author>محمدسجاد خسروآبادی</author>
                <pubDate>Sun, 15 Jan 2023 21:20:02 +0330</pubDate>
            </item>
            </channel>
</rss>