View Full Version : Naivebayes
hhamidy
یک شنبه 30 فروردین 1394, 18:08 عصر
سلام.
کسی از دوستان میدونن چطور میشه خطای اجرای این برنامه رو رفع کرد؟
البته اسم تابع رو هم تغییر دادم ولی باز هم خطا داره.
http://uplod.ir/i3rla8xmoajs/nbayes.rar.htm
rahnema1
دوشنبه 31 فروردین 1394, 22:37 عصر
سلام
این دو تا خط را کامنت کنید احتمالا درست بشه
% trainLabels = str2num(char(trainLabels));
%testLabels = str2num(char(testLabels));
hhamidy
دوشنبه 31 فروردین 1394, 23:38 عصر
سلام
این دو تا خط را کامنت کنید احتمالا درست بشه
% trainLabels = str2num(char(trainLabels));
%testLabels = str2num(char(testLabels));
ممنون.
بعد از کامنت هم این خطا رو داره:
The constructor for class 'NaiveBayes' must return only one output value.
rahnema1
سه شنبه 01 اردیبهشت 1394, 21:48 عصر
من روی نرم افزار octave تست کردم نتونستم اجرا کنم چون octave بعضی تابعهای متلب را نداره
hhamidy
چهارشنبه 02 اردیبهشت 1394, 12:46 عصر
من روی نرم افزار octave تست کردم نتونستم اجرا کنم چون octave بعضی تابعهای متلب را نداره
الاتن خطا نداره ولی روی هر دیتایی که تست می کنم در نهایت تمام عناصر مانریس predictedLabels صفر هست.
یعنی خروجی برنامه تماما صفر هست.
من تا حالا با NaiveBayes کار نکردم و نمیدونم الان این predictedLabels لیبل کلاس متیجه هست و یا باز هم احتمالی از این پیشگویی کلاس هست و اینکه چرا جواب در هر صورت فقط صفر هست؟
نمیدونم این کد صحیحه و یا خیر.
hhamidy
چهارشنبه 02 اردیبهشت 1394, 13:03 عصر
از این کد آماده هم استفاده کردم منتها علاوه بر خروجی 0و1 یه تعداد Nan هم داره میدونید باید چیکار کنم:
load fisheriris
ord = randperm(size(meas,1));
meas = meas(ord,:);
species = species(ord);
%# lets split into training/testing
training = meas(1:100,:); %# 100 rows, each 4 features
testing = meas(101:150,:); %# 50 rows
train_class = species(1:100); %# three possible classes
test_class = species(101:150);
%# train model
nb = NaiveBayes.fit(training, train_class);
%# prediction
y = nb.predict(testing);
%# confusion matrix
confusionmat(test_class,y)
rahnema1
چهارشنبه 02 اردیبهشت 1394, 15:11 عصر
ممکنه به نوع داده و تنظیم پارامترها مربوط باشه دقیقا نمیتونم بگم
hhamidy
چهارشنبه 02 اردیبهشت 1394, 22:19 عصر
ممکنه به نوع داده و تنظیم پارامترها مربوط باشه دقیقا نمیتونم بگم
ستون خروجی من یه تک ستونه که یا 0 هست یا 1 دلیل اینکه بعد از تخمین بعضی از ستونا یک دارن بعضی صفر اما علاوه بر این دو تا حالت nan چیه؟
میدونم که nan همون بینهایته و از تقسیم عدد بر 0 حاصل میشه اما دلیلش الان رو متوجه نمیشم.
خروجی یا 0 نتیجه داده یا 1 دیگه.
rahnema1
پنج شنبه 03 اردیبهشت 1394, 00:11 صبح
نمیدونم چرا اینطور شده شاید الگوریتمش درست نوشته نشده یا دلایل دیگه از جمله داده ها
hhamidy
پنج شنبه 03 اردیبهشت 1394, 22:59 عصر
نمیدونم چرا اینطور شده شاید الگوریتمش درست نوشته نشده یا دلایل دیگه از جمله داده ها
الگوریتمش که کد آماده ی متلبه:
NaiveBayes.fit و...
اون مشکلی نداره.
داده هامم نتیجه ی استخراج ویژگی هست و ب اsvm , knn خودم داره خیلی خوب جواب میده.
نمیدونم چرا بیز اینشکلی دسته بندی می کنه.
به هر حال ممنون.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.