-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
الان این دستور را وارد کنید
[i j]=find(cc>.9);
ij=[i j]
نقل قول:
نوشته شده توسط
rahnema1
الان این دستور را وارد کنید
[i j]=find(cc>.9);
ij=[i j]
مهندس به جای size(ij)
دوباره با تعریفی که از rows کردی rows گذاشتم.
برنامه اجرای شد. یعنی خطا نداد.
خروجی ij هم اینه :
ij =
Empty matrix: 0-by-2
-
نقل قول: ساخت ماتریس تصادفی
خب حالا با دیتای خودم اجرا کردم. همون خطایی که قبل از همبستگی کردن میداد رو میده!
??? Error using ==> evalfismex
Illegal parameters in fisGaussianMF() --> sigma = 0
Error in ==> evalfis at 84
[output,IRR,ORR,ARR] = evalfismex(input, fis, numofpoints);
Error in ==> pro at 105
TrainOutputs=evalfis(TrainInputs,fis);
-
نقل قول: ساخت ماتریس تصادفی
این خروجی ij مربوط به اتمام برنامه هست باید ij این خروجی را بده
ij =
5 2
6 2
43 2
8 4
6 5
43 5
43 6
9 7
10 7
38 12
24 23
25 23
25 24
37 36
-
نقل قول: ساخت ماتریس تصادفی
خب پس من اول با داده های فرضی به این جواب ij برسم بعد روی داده های واقعی اجرا کنم.
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
خب پس من اول با داده های فرضی به این جواب ij برسم بعد روی داده های واقعی اجرا کنم.
این داده های شماست. همون فایل اکسل
-
نقل قول: ساخت ماتریس تصادفی
توی فایل من data.1 داده های فرضی هستن و data.2 داد های واقعی.با داده های فرض که اجرا میکنم خطا نمیده ولی ij رو هم خالی میده.با داد های واقعی که اجرا میکنم همون خطایی که گفتم قبل از همبستگی میداد رو میده و ij هم که نمیده.
-
نقل قول: ساخت ماتریس تصادفی
یه سوال:
من ماتریس ورودی قبل و بعد از نرمالسازی و همبستگی رو میبینم، میبینم که درایه های ماتریس اولیه همه مثبت بودن ولی بعد از نرمال سازی یه سری منفی شدن.
مشکلی بوجود نمیآد؟
-
نقل قول: ساخت ماتریس تصادفی
-
نقل قول: ساخت ماتریس تصادفی
مهندس من هنوز به این جوابم نرسیدم که چطوری میشه دو ماتریس رو با هم مقایسه کرد که سطرهای شبیه به هم ندارن؟کاری به این برنامه ندارم!
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
مهندس من هنوز به این جوابم نرسیدم که چطوری میشه دو ماتریس رو با هم مقایسه کرد که سطرهای شبیه به هم ندارن؟کاری به این برنامه ندارم!
دقیقا متوجه نمیشم منظورتون چیه
-
نقل قول: ساخت ماتریس تصادفی
دو تا ماتریس داریم a و bهر دو 50 تا سط دارن. حالا چطوری میتونیم تشخیص بدیم که آیا سطرهای شبیه به هم دارن یا نه؟ هر دو سطر مقادیر یکسانی داشته باشه.
-
نقل قول: ساخت ماتریس تصادفی
این خطای چیه؟
??? Error using ==> evalfismex
Illegal parameters in fisGaussianMF() --> sigma = 0
-
نقل قول: ساخت ماتریس تصادفی
گفتم که احتمالا بعد از ستور genfis3 باید پارامترهای تابع عضویت را اصلاح کنید
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
دو تا ماتریس داریم a و bهر دو 50 تا سط دارن. حالا چطوری میتونیم تشخیص بدیم که آیا سطرهای شبیه به هم دارن یا نه؟ هر دو سطر مقادیر یکسانی داشته باشه.
این دستور را بزنید اگه از 100 کمتر شد سطرهای مشابه دارن
size(unique([a;b],'rows'),1)
حالا اگه این دستور را بزنید سطرهایی از a که در b هم وجود داره را مشخص می کنه یعنی اگه 1 بود معادلش در b وجود داره واگه 0 بود یکتا هست
ismember(a,b,'rows')
-
نقل قول: ساخت ماتریس تصادفی
شما در این برنامه قسمتی رو هم گذاشتین که بگه ماتریس های رندومی که درست میکنه اگه سطرهای مشابه داشت دوباره تولید کنه؟
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
شما در این برنامه قسمتی رو هم گذاشتین که بگه ماتریس های رندومی که درست میکنه اگه سطرهای مشابه داشت دوباره تولید کنه؟
کدوم برنامه؟
-
نقل قول: ساخت ماتریس تصادفی
همون قسمت ماتریس تصادفی رو که برای برنامه ی من نوشتین.
myfun
-
نقل قول: ساخت ماتریس تصادفی
آره دیگه این شرط while( numel(i1)~=163) همین کار رو می کنه
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
آره دیگه این شرط while( numel(i1)~=163) همین کار رو می کنه
آخه از اون دستور استفاده نکردین. فکر کردم نیس! :))
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
آخه از اون دستور استفاده نکردین. فکر کردم نیس! :))
بازم نگفتین کدوم دستور؟ :)
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
بازم نگفتین کدوم دستور؟ :)
size(unique([a;b],'rows'),1)
-
نقل قول: ساخت ماتریس تصادفی
مهندس عزیز
هنوز متوجه نشدی واسه چی دستور
[i j]=find(cc>.9);
ij=[i j];
جواب Empty matrix: 0-by-2
میده؟
-
نقل قول: ساخت ماتریس تصادفی
این دستور را بزن تا نتیجه را ببینیم
r=rand(10,5);
[i j]=find(r>0.5);
[i j]
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
این دستور را بزن تا نتیجه را ببینیم
r=rand(10,5);
[i j]=find(r>0.5);
[i j]
جواب میده.
ans =
6 1
8 1
10 1
1 2
2 2
3 2
4 2
9 2
1 3
2 3
3 3
6 3
8 3
9 3
10 3
3 4
5 4
6 4
7 4
8 4
9 4
10 4
1 5
3 5
5 5
8 5
9 5
-
نقل قول: ساخت ماتریس تصادفی
-
نقل قول: ساخت ماتریس تصادفی
ببین!
من این خط برنامه رو به جای 10 گذاشتم 2 . یعنی به دو کلاس تقصیم کن.
fis=genfis3(TrainInputs,TrainTargets,'sugeno',2);
با داده واقعی جواب گرفتم و خطا هم نداد!
ولی قرار بود که از ستون اول 5 تا 5 تا بره تا 43 که میشد 9 تا dataset.
ولی تا 7 تا dataset رفت و برنامه جواب هم داد.
آخرین dataset رو با 33 تا ستون انجام داد.
احتمالن بعض از ستون ها رو بخاطر همبستگی حذف کرد که دیگه نتوست تا 43 تا ستون بره.
درسته؟
-
نقل قول: ساخت ماتریس تصادفی
بله. به خاطر همبستگی تعداد ستونها از 43 به 34 تا کاهش پیدا کرد در نتیجه این جور شد
5 10 15 20 25 30 34
-
نقل قول: ساخت ماتریس تصادفی
یه بار دیگه اجرا کردم دوباره همون خطای قبلی رو داد :
??? Error using ==> evalfismex
Illegal parameters in fisGaussianMF() --> sigma = 0
Error in ==> evalfis at 84
[output,IRR,ORR,ARR] = evalfismex(input, fis, numofpoints);
Error in ==> pro at 101
TrainOutputs=round(evalfis(TrainInputs,fis));
احتمالن بعضی موقع داده های تصادفی رو طوری انتخاب میکنه که با شبکه سازگار نیست!
-
نقل قول: ساخت ماتریس تصادفی
برای کدوم داده این خطا را داد سایز ستونش چنده؟
معمولا وقتی تعداد ستونها از سطر ها بیشتر میشه روش least square جواب نمیده
چون anfis هم ترکیبی از روش least square و شبکع عصبی هست
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
برای کدوم داده این خطا را داد سایز ستونش چنده؟
معمولا وقتی تعداد ستونها از سطر ها بیشتر میشه روش least square جواب نمیده
چون anfis هم ترکیبی از روش least square و شبکع عصبی هست
همون داده اصلی دیگه.
ماتریس 163 در 44 که ستون آخرش خروجی هست.
برات آپلود کرده بودم. به اسم data.2
-
نقل قول: ساخت ماتریس تصادفی
نه دیگه مرحله به مرحله سایز ستون زیاد میشه اولش 5 بعد 10 و همین طور زیاد میشه
میخوام بدونم این خطا کدوم زمان رخ میده
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
نه دیگه مرحله به مرحله سایز ستون زیاد میشه اولش 5 بعد 10 و همین طور زیاد میشه
میخوام بدونم این خطا کدوم زمان رخ میده
dataset7 با 33 ستون
این دیتا ست آخری بود. 10 تا ستون رو حذف کرد.
-
نقل قول: ساخت ماتریس تصادفی
به احتمال زیاد دلیلش همین می تونه باشه
یعنی کمتر شدن نسبت بین مشاهدات و متغیرها
-
نقل قول: ساخت ماتریس تصادفی
ضریب همبستگی رو کردم 99 درصد
الآن اینبار روی دیتاست 6 با 30 تا ستون خطا داد.
??? Error using ==> evalfismex
Illegal parameters in fisGaussianMF() --> sigma = 0
Error in ==> evalfis at 84
[output,IRR,ORR,ARR] = evalfismex(input, fis, numofpoints);
Error in ==> pro at 101
TrainOutputs=round(evalfis(TrainInputs,fis));
-
نقل قول: ساخت ماتریس تصادفی
چه جالب!
هر چی ضریب همبستگی رو کمتر میکنم. تعداد دیتاست ها کمتر میشه.
مثلن با 50 درصد 3 تا دیتاست میسازه
با 5 و 10 و 13 ستون
-
نقل قول: ساخت ماتریس تصادفی
باید هم همین طور بشه داده ها با هم همبستگی دارن اما اگه این همبستگی خیلی زیاد باشه مدل را خراب می کنه
-
نقل قول: ساخت ماتریس تصادفی
موقعی که خوب کار میکنه نهایتش تا 7 تا دیتاست میره با 33 ستون.
-
نقل قول: ساخت ماتریس تصادفی
آقا مرسی.به یه جاهایی رسیدم فعلن.
-
نقل قول: ساخت ماتریس تصادفی
سلام دوستان عزیز برای رفع مشکلات خودتون در مورد متلب می تونید به سایت مرجع متلب مراجعه کنید :
-
نقل قول: ساخت ماتریس تصادفی
اگه من 10 تا ماتریس داشته باشم از a1 تا a10 و بخوام توی 10 مرحله اینا رو از اکسل فراخونی کنم چطوره؟
به این صورت :
TRR=xlsread('C:\a1.xlsx',1);
بعد دفعه بعد :
TRR=xlsread('C:\a2.xlsx',1);
و الی آخر ...
-
نقل قول: ساخت ماتریس تصادفی
به این صورت
for i=1:10
TRR=xlsread(sprintf('C:\\a%d.xlsx',i),1);
end
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
به این صورت
for i=1:10
TRR=xlsread(sprintf('C:\\a%d.xlsx',i),1);
end
نشد!
Warning: Invalid escape sequence appears in format string. See
help sprintf for valid escape sequences.
??? Error using ==> xlsread at 219
XLSREAD unable to open file C:.
File C:\.xls not found.
-
نقل قول: ساخت ماتریس تصادفی
این را امتحان کن
TRR=xlsread(sprintf('C:/a%d.xlsx',i),1);
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
این را امتحان کن
TRR=xlsread(sprintf('C:/a%d.xlsx',i),1);
نه همون قبلی درست تره!
اگه منظورت slash و back slash هست که همون اولی ولی با یکی درسته. مثل این :
TRR=xlsread(sprintf('C:\a%d.xlsx',i),1);
ولی اصلن مشکل از یه جای دیگه هست.
-
نقل قول: ساخت ماتریس تصادفی
جدا بنویسی هم فایده ای نداره؟ من توی octave انجام میدم مشکلی نیست.
for i=1:10
reshte=sprintf('C:/a%d.xlsx',i);
TRR=xlsread(reshte,1);
end
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
جدا بنویسی هم فایده ای نداره؟ من توی octave انجام میدم مشکلی نیست.
for i=1:10
reshte=sprintf('C:/a%d.xlsx',i);
TRR=xlsread(reshte,1);
end
نه متاسفانه :
Warning: Invalid escape sequence appears in format string. See
help sprintf for valid escape sequences.
??? Error using ==> xlsread at 219
XLSREAD unable to open file E:.
File E:\.xls not found.
-
نقل قول: ساخت ماتریس تصادفی
آقا حل شد.
مرسی
برای رشته باید از / استفاده بشه.
من اشتباه میکردم.
-
نقل قول: ساخت ماتریس تصادفی
مهندس ببخشید!
این برنامه ای که واسه نرمالیزه کردن نوشته بودی از چه روشی استفاده کردی؟
به استادم که گفتم وقتی داده ها نرمالیزه شد ، نتیجه شبکه بدتر شد.
گفت از چه تکنیکی استفاده کردی؟
مگه چند روش داریم؟
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
coronaa
مهندس ببخشید!
این برنامه ای که واسه نرمالیزه کردن نوشته بودی از چه روشی استفاده کردی؟
به استادم که گفتم وقتی داده ها نرمالیزه شد ، نتیجه شبکه بدتر شد.
گفت از چه تکنیکی استفاده کردی؟
مگه چند روش داریم؟
اومدیم از هر داده میانگین داده ها را کم کردیم و حاصل را تقسیم بر انحراف معیار کردیم
همچنین به علت اینکه بین بعضی متغیرها همبستگی بسیار زیاد بود اومدیم متغیرهایی که همبستگی بالای 90 درصد داشتند یکیشون را حذف کردیم
-
نقل قول: ساخت ماتریس تصادفی
نقل قول:
نوشته شده توسط
rahnema1
اومدیم از هر داده میانگین داده ها را کم کردیم و حاصل را تقسیم بر انحراف معیار کردیم
همچنین به علت اینکه بین بعضی متغیرها همبستگی بسیار زیاد بود اومدیم متغیرهایی که همبستگی بالای 90 درصد داشتند یکیشون را حذف کردیم
برای نرمالیزه کردن روش های دیگه ای هم وجود داره؟
راستی، شما با روش های ترکیبی طبقه بندی داده ها هم کار کردین؟