<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های فرهنگ اسکندری</title><link>https://virgool.ir/feed/@farhangeskandari1378</link><description>عاشق دنیای اعدادم و الآن دارم مسیر دیتاساینس رو پیش میرم?</description><language>fa</language><pubDate>2026-11-12 06:52:23</pubDate><image><url>https://files.virgool.ir/upload/users/137712/avatar/NCmmPm.jpg</url><title>فرهنگ اسکندری</title><link>https://virgool.ir/@farhangeskandari1378</link></image><item><title>kullback_leibler divergence</title><link>https://virgool.ir/@farhangeskandari1378/kullbackleibler-divergence-mpx0x0psytuo</link><description>در آمار، kullback_leibler divergence یک معیار است برای اینکه متوجه بشویم یک توزیع احتمالی چقدر با یک توزیع احتمالی دیگر اختلاف(تفاوت) دارد.دو توزیع احتمالی P و Q را در نظر بگیرید. به طور معمول P داده های ما را نشان میدهد(داده هایی که میخواهیم بدانیم چقدر با یک توزیع احتمالی دیگر اختلاف دارد). Q نقش یک مدل یا نمونه را دارد( مثلا Q از توزیع نرمال پیروی میکند و آن را به عنوان مدل قرار میدهیم تا بفهمیم P چقدر با توزیع نرمال اختلاف دارد).این معیار به معنی تشخیص واگرایی دو توزیع احتمالی از هم است. این معیار relative entropy نیز نامیده میشود که توسط Solomon kullback و Richard Leibler در سال 1951 با عنوان واگرایی جهت دار بین دو توزیع معرفی شد.فرمولمثال: عکس زیر را مشاهده کنید. P شکل سمت چپ است که از توزیع باینومیال پیروی میکند و شکل سمت راست Q است مه از توزیع یکنواخت پیروی میکند. kullback_Leibler divergence</description><category>فرهنگ اسکندری</category><author>فرهنگ اسکندری</author><pubDate>Sun, 07 Feb 2021 17:04:46 +0330</pubDate></item><item><title>تمرین برای کتابختانه Numpy</title><link>https://virgool.ir/@farhangeskandari1378/تمرین-برای-کتابختانه-numpy-cyzzcvgukour</link><description>تمرین با کتابخانه numpyدر قسمت پاسخ به سوالات در صورت لزوم مثال آورده شده است.تمرین کتابخانه Numpyیک بردار( آرایه یک بعدی) خالی با اندازه 10 ایجاد کنید( منظور از بردار خالی برداری است که تمام مقادیر آن صفر باشد)چطور متوجه بشویم که آرایه یا ماتریس چه مقدار حافظه اشغال میکند؟یک بردار خالی با اندازه 10 ایجاد کنید و سپس عنصر پنجم آن را برابر با یک قرار دهید.یک بردار ایجاد کنید که عناصر آن از 10 تا 49 باشد.یک بردار ایجاد کنید و سپس آن را معکوس کنید.یک ماتریس 3*3 ایجاد کنید(از اعداد 0 تا 8)از یک لیست( آرایه یا بردار)، نشان دهید که کدام عناصر(خانه) خالی یا صفر نیستند.             یک ماتریس همانی( ماتریسی که قطر اصلی آن 1 و بقیه صفر هستند) 3*3 ایجاد کنید.نوع داده ای ماتریس تمرین قبل را به عدد صحیح(int) تبدیل کنید.یک ماتریس 3*3 با اعداد تصادفی ایجاد کنید.پاسخ تمرینات بخش اولپاسخ 1: z = np.zeros(10)پاسخ 2: z = np.zeros((10, 10))print((z.size * z.itemsize), &#39;byte&#39;)&gt;&gt;&gt; 800 byteپاسخ 3: z = np.zeros(10)z[4] = 1پاسخ 4:z = np.arange(10, 50)پاسخ 5:z = np.arange(50)z = z[::-1]پاسخ 6:z = np.arange(9).reshape(3, 3)پاسخ 7:nz = np.nonzero( [1, 2, 0, 0, 4, 0] )&gt;&gt;&gt; array ( ( [0, 1, 4] ) )عنصر های 0 و 1 و 4 مقدارشان صفر نیست.پاسخ 8:z = np.eye(3)پاسخ 9:z = np.eye(3, dtype = int)پاسخ 10:z = np.random.random((3, 3))یک ماتریس 10*10 با اعداد تصادفی ایجاد کنید و سپس کمترین(minimum) و بیشترین(maximum) مقدار ماتریس را نمایش دهید.یک بردار با اعداد تصادفی که 30 عنصر داشته باشد ایجاد کنید و سپس میانگین آن بردار را نمایش دهید.یک ماتریس 2 بعدی ایجاد کنید که مقدار عناصرِ روی حاشیه(border) ماتریس عددِ 1 باشند  و عناصر داخلی همگی صفر.چگونه یک حاشیه(border) به اطراف ماتریس اضافه کنیم؟یک ماتریس ایجاد کنید که قطر اصلی آن ار اعداد 1 و 2 و 3 و 4 تشکیل شده باشد.ماتریسی ایجاد کنید که اعداد 1 و 2 و 3 و 4 زیر قطر اصلی قرار بگیرند.یک ماتریس 8 * 8 به شکل شطرنج ایجاد کنید.تمرین قبل را با تابع tile انجام دهید.یک بردار با مقادیر از 0 تا 10 ایجاد کنید، سپس اعدادی که بین 3 و 8 قرار دارند را منفی کنید.چگونه مقادیر مشترک دو آرایه را پیدا کنیم؟پاسخ تمرینات بخش دومپاسخ 1:z = np.random.random((10, 10))zmin, zmax = z.min(), z.max()print(zmin, zmax) پاسخ 2:z = np.random.random(30)m = z.mean()print(m)پاسخ 3:z = np.ones((5, 5))z[1:-1, 1:-1] = 0print(z)پاسخ 4: z = np.ones((5, 5))z = np.pad(z, pad_width=1, mode=&#39;constant&#39;, constant_values=0)print(z)پاسخ 5: z = np.diag(np.arange(1, 5))print(z)orz = np.diag( [1, 2, 3, 4] )print(z)پاسخ 6:z = np.diag(np.arange(1, 5), k = 1)print(z)پاسخ 7:z = np.zeros((8, 8), dtype = int)z[1::2, ::2] = 1z[::2, 1::2] = 1print(z)پاسخ 8:z = np.tile(np.array( [ [0, 1],[1, 0] ], (4, 4))print(z)پاسخ 9:Z = np.arange(11)Z[(3 &lt; Z) &amp; (Z &lt;= 8)] *= -1print(Z)پاسخ 10:Z1 = np.random.randint(0,10,10)Z2 = np.random.randint(0,10,10)print(np.intersect1d(Z1,Z2))1-  یک ماتریس 5 * 5 ایجاد کنید که هر طر آن از 0 تا 4 باشد.2-  یک بردار 10 عنصری با اعداد تصادفی ایجاد کنید و آن را مرتب کنید.3-  کدی بنویسید که دا آرایه را مقایسه کند و اگر برابر بودند کلمه &#39;equal&#39; و اگر برابر نبودند کلمه &#39;unequal&#39; را      به نمایش دهد.4-  یک بردار با تعداد عناصر 10 ایجاد کنید و به جای بزرگیترین مقدارِ آن بردار عدد 0 را قرار دهید. پاسخ تمرینات بخش سومپاسخ 1:Z = np.zeros((5,5))Z += np.arange(5)print(Z)پاسخ 2:Z = np.random.random(10)Z.sort()print(Z)پاسخ 3:A = np.random.randint(0,2,5)B = np.random.randint(0,2,5)if np.allclose(A,B):    print(&#39;equal&#39;)else:    print(&#39;unequal&#39;)پاسخ 4:Z = np.random.random(10)Z[Z.argmax()] = 0print(Z)</description><category>فرهنگ اسکندری</category><author>فرهنگ اسکندری</author><pubDate>Sun, 09 Aug 2020 03:35:47 +0430</pubDate></item><item><title>شروع یادگیری علم داده( data science)</title><link>https://virgool.ir/@farhangeskandari1378/شروع-یادگیری-علم-داده-data-science-rigm4qsewsl3</link><description>این پست برای کسانی هست که میدونن علم داده و کاربرد های اون چی هست.در این پس به طور مختصر مسیر رو به شما نشون میدم و این شما هستید که باید به دنبال یادگیری باشید.علم داده(data science)اولین قدم برای شروع یادگیری علم داده، یاد گیری یکسری از کتابخانه های کاربردی هست:NumpyScipyPandasMatplotlibقدم دوم آشنایی با مفاهیم پایه هست:پیش پرداکش داده هاطبقه بندیخوشه بندیکاوش الگو های پر تکرارقدم سوم آشنایی با کتاب خانه های داده کاوی هست:Scikit LearnTensorflowKerasPyTorchDaskNumbaseabornقدم چهارم انتخاب یک گرایش هست:پردازش متنپردازش تصویرپردازش صداپردازش ویدیوپردازش گرافآنالیز داده هایِ بر اساس سری زمانیقدم آخر یادگیری تقویتیکتابخانه های مورد نیاز:GYMKeras-RL و... .پرتو های نور تا متمرکز نشوند نمیسوزانند. (الکساندر گراهام بل)ذهنتون رو متمرکز کنید.</description><category>فرهنگ اسکندری</category><author>فرهنگ اسکندری</author><pubDate>Tue, 16 Jun 2020 18:25:18 +0430</pubDate></item><item><title>چگونه مطالب را فراموش نکنیم؟</title><link>https://virgool.ir/@farhangeskandari1378/چگونه-مطالب-را-فراموش-نکنیم-xlxa9d2bmrx5</link><description>مطمئناً برای خیلی از شما این اتفاق افتاده است که مطلبی را میخوانید و بعد از گذشت چند روز آن را فراموش میکنید؛ شما جهت اینکه این مطالب فراموش نشوند هنگام مطالعه سوال گذاری میکنید، یادداشت برداری میکنید، مرور میکنید و ... اما باز هم با سپری شدن چند روز آن مطالب از ذهن شما پاک میشوند.در این پست به شما روش نگه داری مطالب و انتقال آن از حافظه کوتاه مدت به حافظه بلند مدت را خواهم گفت.شما اغلب روش های زیر را برای به یاد ماندن مطالب استفاده میکنید:پیش مطالعه: نگاهی روزنامه وار به سرفصل های کتابمطالعه و خواندن دقیقیادداشت برداریتفکر عمیق هنگام مطالعه و سوال گذاریمرور کردناین روش ها خوب هستند اما کارساز نیستند و زمان زیادی را خواهند گرفت، مگر شما چند بار میتوانید مرور کنید یا یادداشت های خود را مطالعه کنید؟ آیا این روش ها زمان زیادی نمیگیرند؟شما باید مرحله تصویر سازی ذهنی را به مراحل خود اضافه کنید و بعد از دو یا سومین بار که مطلب را به روش های بالا مرور کردید، آن را با تصویر سازی دهنی مرور کنید تا زمان کمتری از شما گرفته شود.توضیح روش تصویر سازی ذهنی: ابتدا تک به تک سرفصل های مطالبی را که مطالعه کرده اید به یاد میاورید و آنها را روی کاغذ مینویسید، سپس سعی میکنید موضوع های مربوط به هر سرفصل را به یاد بیاورید و برای خود روی کاغذ توضیح دهید.اینکار را بعد از مطالعه و قبل از خواب در مدت 30 ال 40 دقیقه انجام دهید، اینگونه مطالب به مرور از حافظه کوتاه مدت به حافظه بلند مدت انتقال پیدا کرده و در دفعات بعد نیز سریع تر آنها را با تصویر سازی ذهنی مرور خواهید کرد.نکته: پرتو های خورشید تا متمرکز نشوند نمیسوزانند «گراهام بل». هنگام مطالعه متمرکز باشید.به امید موفقیت شما عزیزان.</description><category>فرهنگ اسکندری</category><author>فرهنگ اسکندری</author><pubDate>Wed, 19 Feb 2020 19:35:49 +0330</pubDate></item></channel></rss>