جستجو در سایت : عنوان یا موضوع مورد نظر خود را در کادر زیر وارد کنید و enter بزنید

Loading
09354382544
حراج!

ماشین بردار پشتیبان برای چند کلاسی

3.60 از 5 امتیاز بر اساس مشتری 10
(دیدگاه کاربر 22)

29,000 تومان 20,000 تومان

توضیحات

ماشین بردار پشتیبان یک دسته بندی کننده باینری می باشد. به عبارت دیگر تنها می تواند دو کلاس را دسته بندی کند.

در بیشتر کاربردها ما تنها با دو کلاس سر و کار نداریم لذا لازم است که به نحوی این دسته بندی کننده را برای تعداد کلاسهای بیشتر استفاده کنیم.

یکی از این روشها ، روش درختی می باشد. د راین روش شما برای n کلاس ، به n-1 ماشین بردار پشتیبان نیاز دارید.

مثلا اگر تعداد کلاسهای شما سه باشد، شما به دو ماشین بردار پشتیبان دارید. همانطور که در شکل زیر نیز این مفهوم نشان داده شده است.

multiclass Support Vector Machine MATLAB Code

 

ما برای شما یک کد متلب آماده کردیم که شما از ماشین بردار پشتیبان می توانید برای هر چند کلاس استفاده کنید و لازم نیست درگیر حلقه ها و برنامه نویسی شرطی پیچیده شوید.

این برنامه به صورت یک تابع می باشد که از شما داده های آموزش و تست را می گیرد و با داده های آموزش ، سیستم آموزش پیدا می کند و با داده های تست سیستم آموزش یافته را تست می کند و خروجی متناظر هر داده تست را بر می گرداند.

این کد به همراه مثال می باشد

22 دیدگاه برای ماشین بردار پشتیبان برای چند کلاسی

  1. امتیاز 5 از 5

    مرسي ايران متلب
    خيلي كار منو جلو انداخت
    واقعا كار مشكلي هست خود ادم بخواهد براي تعداد كلاسهاي بالا خودش كدش را بنويسد
    اما كد شما كار را خيلي راحت ميكنه

  2. سلام من میخواستم بدونم کدهای متلب برای بردار پشتیبان چند کلاسه را چطور در برنامه متلب استفاده کنم .آیا در ماشین بردار چنندکلاسه این توضیحات وجود دارد یا خیر؟

    • سلام

      یک فایل مثال در کنار کد قرار دارند که نحوه استفاده از کد را به شما نشان می دهد.

  3. لیک دانلود خطا میدهد

    • با سلام و احترام

      مشکل برطرف شد. لینک های دانلود کد ماشین بردار پشتیبان برای چند کلاسی ایمیل شد.

      شاد باشید

  4. لینک دانلود که غیر فعاله

    • سلام
      کد برای شما ایمیل شد.

  5. با سلام،
    لینک دانلود مشکل دارد و به این کد نیاز فوری دارم. لطفا بررسی کنید.

    • سلام
      لطفا دوباره ایمیل خود را چک بفرمایید

  6. سلام کد ماشین بردار چند کلاسه رو میخواستم دانلود کنم ولی لینک غیر فعال هستش لطفا راهنمایی کنید.

    • سلام

      هزینه را واریز کنید

      کدها براتون ایمیل می شود

  7. مبلغ خواسته شده واریز شد ولی لینک دانلود کد خطا می دهد

    • سلام
      جهت دریافت کدها منتظر بمانید.

  8. سلام. وقتی بردار هدف شامل ارقامی هست که همگی مثبت هستند چگونه میتوان انهارا بامدل svm کلاس بندی کرد و بعد از آن مدلسازی؟
    این کدها شامل آموزش هم هست؟

    • با سلام و احترام
      در بردار هدف بايد ببينيد چه تعداد كلاس داريد. اگر دو كلاسي باشد با يك ماشين بردار پشتيبان دسته بندي را مي توانيد انجام دهيد. اما اگر چند كلاسي باشد از اين كد بايد استفاده كنيد.
      يك مثال هم در كنار اين كد قرار دارد كه به شما نحوه استفاده را نشان مي دهد.

  9. سلام لینک دانلود مشکل داره لطفا به ایمیلم بفرستید

  10. سلام لینک دانلود مشکل داره اگه میشه به ایمیلم بفرستید سپاس

    • سلام
      لینک های دانلود کد متلب ماشین بردار پشتیبان نسخه 2016 برای شما ایمیل شد.

  11. با سلام
    ببخشید این کدهای متلبی که برای svm یا خیلی از الگوریتم ها هست نسبت به الگوریتم های شما چه فرقی دارند

    • با سلام و احترام
      هر کدی که برای ماشین بردار پشتیبان نوشته می شود ، نمی تواند تغییری در الگوریتم svm انجام دهد. ما فقط یک تابع برای شما تهیه کردیم که مشکل دو کلاسی svm را حل کند.
      شما بتوانید برای هر تعداد کلاس استفاده کنید.

  12. باسلام. من یه سوال داشتم اونم اینکه ایا در حین کلاسه بندی یک مثال سه کلاسه ایا خروجی به صورت شکل هم می باشد یعنی بیاد نمونه ها رو به شکلی که در هلپ متلب می باشد تفکیک شون قابل رویت هست یا نه؟ برای سه کلاسه منطورم هست. یعنی منطورم این هست که ابرصفحه ای که غیرخطی هست و بیاد نمونه ها رو تفکیک کنه قابل رویت باشه در یک شکل. ممنون میشم سریع تر حواب بدین. ممنون

    • با سلام و احترام
      برای نمایش ابرصفحه ای سه کلاسه ، شما خودتون کد بنویسید.
      بردار خروجی ماشین بردار پشتیبان برای داده های تست و آموزش را به شما می دهد. بعدش خودتون شبیه help متلب ، باید نمایش سه بعدی را کدنویسی کنید.
      در اصل کار خاصی هم لازم نیست انجام دهید ، کافی است ، بردار خروجی را نمایش دهید و برای هر کلاس یک رنگ متمایز در نظر بگیرید.

  13. امتیاز 5 از 5

    بله ولی دوکلاسش رو میدونم ججوری باید نوشت ولی سه کلاسه ان رو نمیدونم شما میتونین در این باره کمک کنین برام یک کد ساده هست ولی هرجقد میتوسیم به جایی نمیرسم. شدید نیاز دارم ممنون هزینش رو هم بفرمایین

    • ما انجام پروژه نداریم.
      ولی میتونی قسمتی از کدت را بگذاری تا جواب بدهیم.

  14. امتیاز 5 از 5

    سلام, مرسی بابت سایت خوبتون
    لینک دانلود منم خطا میده, میشه بررسیش کنید

    • با سلام و احترام
      تشکر از شما
      با عرض معذرت خواهی برای بوجود آمدن ای مشکل
      لینک های دانلود برای شما ایمیل شد.

  15. امتیاز 1 از 5

    آیا امکان استفاده از این کد برای شناسایی چهره در قالب 10 کلاس یا بیشتر وجود دارد؟

    • با سلام و احترام
      هيچ محدوديتي در تعداد كلاس ها وجود ندارد.

  16. امتیاز 5 از 5

    سلام خسته نباشید این کد ایا تک ورودی هس ؟ ورودی من 19 تا است ایا نجام میده ؟ یه SVM چند کلاسه که با چند ورودی کار میکنه منظورمه ایا این کد همونه ؟ لطفا زود جوابمو بدین

    • سلام
      این کد برای چند ورودی و چند خروجی هم می تواند استفاده شود.

  17. با سلام.من آموزش ماشین بردار پشتیبان برای چند کلاسی را خریداری کردم ولی لینک دانلود آموزش آن برایم ارسال نشده لطفا لینک مربوط به آموزش آن را برایم ارسال کنید.با تشکر

    • با سلام
      این فایل برای شما ایمیل شد.

  18. امتیاز 1 از 5

    لینک مشکل داره

    • ایمیلتون دوباره چک بفرمایید.

  19. امتیاز 5 از 5

    سلام خسته نباشید؟
    این کد یک کد کامل است ؟
    من یه کد میخوام برای تشخیص موضوع متون فارسی با استفاده از svm.به این صورت که تعدادی مقاله برای آموزش سیستم بگیره و بعد با داده های آموزش درستی آن را بررسی کند.میخواستم ببینم این کد چقدر به من کمک میکنه؟و چه قسمت هایی از کار من را انجام داده !

    • سلام و تشكر از شما
      اين كد ، يك كد تست شده و كامل مي باشد.
      اين كد براي هر كاربرد ماشين بردار پشتيبان قابل استفاده است. همان طور كه مي دانيد svm براي دسته بندي قابل استفاده است. لذا اين كد در دسته بندي يا classification و تشخيص‌ يا recognition ميتونه به شما كمك كند.

  20. امتیاز 1 از 5

    سلام. مفید بود .

  21. امتیاز 5 از 5

    سلام شما می تونید این کد رو خط به خط توضیح بدید ؟دسته بندی های بیش از 2 کلاس هست اصل کد در این لینک https://stackoverflow.com/questions/4976539/support-vector-machines-in-matlab/4980055#4980055

    کلا دلیل استفاده از تابع nchoosek و بدست اوردن سایز pairwise برای ساخت مدل رو نمیفهمم چرا سایز یا استفاده از numel برای svm model رو متوجه نمیشم
    هزینه ای هم داشته باشه پرداخت میکنم

    %# load dataset
    load fisheriris
    [g gn] = grp2idx(species); %# nominal class to numeric

    %# split training/testing sets
    [trainIdx testIdx] = crossvalind(‘HoldOut’, species, 1/3);

    pairwise = nchoosek(1:length(gn),2); %# 1-vs-1 pairwise models
    svmModel = cell(size(pairwise,1),1); %# store binary-classifers
    predTest = zeros(sum(testIdx),numel(svmModel)); %# store binary predictions

    %# classify using one-against-one approach, SVM with 3rd degree poly kernel
    for k=1:numel(svmModel)
    %# get only training instances belonging to this pair
    idx = trainIdx & any( bsxfun(@eq, g, pairwise(k,:)) , 2 );

    %# train
    svmModel{k} = svmtrain(meas(idx,:), g(idx), …
    ‘BoxConstraint’,2e-1, ‘Kernel_Function’,’polynomial’, ‘Polyorder’,3);

    %# test
    predTest(:,k) = svmclassify(svmModel{k}, meas(testIdx,:));
    end
    pred = mode(predTest,2); %# voting: clasify as the class receiving most votes

    %# performance
    cmat = confusionmat(g(testIdx),pred);
    acc = 100*sum(diag(cmat))./sum(cmat(:));
    fprintf(‘SVM (1-against-1):\naccuracy = %.2f%%\n’, acc);
    fprintf(‘Confusion Matrix:\n’), disp(cmat)

    • با سلام
      همانطور که در توضیحات کد هم نوشته شده است. چون SVM یک دسته بندی کننده باینری می باشد بعنی تنها می تواند دو کلاس را در خروجی خود دسته بندی کند.
      لذا در این کد با دستور nchoosek به ازای تعداد کلاسها ، یک مدل 1 به 1 ساخته است. این دستور در خروجی یک ماتریس می دهد که تعداد سطرهای آن تعداد ترکیبات 1 به 1 می باشد. لذا در خط بعدش یک آرایه سلولی به ازای تعداد سطرهای این ماتریس تولید کرده است.
      چرا آرایه سلولی ؟ چون تولباکس svm ماشین بردار پشتیبان را به صورت متغییر سلولی ذخیره می کند. پس اندازه این آرایه سلولی تعداد SVM ها را مشخص می کند لذا از دستور numel برای تعداد شمارش حلقه استفاده کرده است. در این حلقه در حقیقت ما هر ماشین بردار پشتیبان را برای کلاس متناظر خود آموزش می دهیم و تست می کنیم.
      اگر از تولباکس libsvm استفاده کنید این دردسر ها را ندارید.
      یا کد زیر را استفاده کنید که از تولباکس خود متلب استفاده می کند. .
      کد SVM چند کلاسه بدون libsvm با تولباکس متلب

  22. امتیاز 3 از 5

    با سلام من برای اجرای برنامه با خطای زیر مواجه می شوم
    Undefined function or method ‘fitcsvm’ for input arguments of type
    ‘double’.
    لطفا راهنمایی کنید

    • با سلام
      تابع fitcsvm در نسخه های متلب 2015 به بالاتر قابل دسترس است.
      نسخه متلب بالاتر از 2015 را نصب کنید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پشتیبانی