📄 d2cmatlab.m
字号:
function varargout = radiobutton2_Callback(h, eventdata, handles, varargin)off=[handles.radiobutton1, handles.radiobutton3];set(off,'Value',0);% set(handles.edit6,'Enable','On');% set(handles.edit6,'BackgroundColor',[1 1 1]);handletype=[handles.edit6];EnableHandle(handletype);handletype=[handles.edit7, handles.edit8, handles.edit9];DisableHandle(handletype);handles.ktype=2;guidata(h, handles);% --------------------------------------------------------------------%% Polynomial Kernel%function varargout = radiobutton3_Callback(h, eventdata, handles, varargin)off=[handles.radiobutton2, handles.radiobutton1];set(off,'Value',0);handletype=[handles.edit7, handles.edit8, handles.edit9];EnableHandle(handletype);handletype=[handles.edit6 ];DisableHandle(handletype);handles.ktype=1;guidata(h, handles);% --------------------------------------------------------------------function varargout = edit6_Callback(h, eventdata, handles, varargin)handles.sigma=str2double(get(handles.edit6,'string'));guidata(h, handles);% --------------------------------------------------------------------function varargout = edit7_Callback(h, eventdata, handles, varargin)handles.p=str2double(get(handles.edit7,'string'));guidata(h, handles);% --------------------------------------------------------------------function varargout = edit8_Callback(h, eventdata, handles, varargin)handles.q=str2double(get(handles.edit8,'string'));guidata(h, handles);% --------------------------------------------------------------------function varargout = edit9_Callback(h, eventdata, handles, varargin)handles.d=str2double(get(handles.edit9,'string'));guidata(h, handles);% Number of CrossValidation Folds function edit10_Callback(hObject, eventdata, handles)% hObject handle to edit10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)handles.NoFolds=str2double(get(handles.edit10,'string'));guidata(hObject, handles);% Status Windowfunction edit11_Callback(hObject, eventdata, handles)% --------------------------------------------------------------------function edit12_Callback(hObject, eventdata, handles)% --- Executes during object creation, after setting all properties.function edit10_CreateFcn(hObject, eventdata, handles)% hObject handle to edit10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns calledif ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on button press in checkbox5.function checkbox5_Callback(hObject, eventdata, handles)if(get(handles.checkbox5,'Value')==1) DisableHandle(handles.checkbox3); EnableHandle(handles.edit10);else EnableHandle(handles.checkbox3); DisableHandle(handles.edit10);end% --- Executes during object creation, after setting all properties.function edit11_CreateFcn(hObject, eventdata, handles)% hObject handle to edit11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Plot Graph and Cycle Through Available Graphsfunction pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) if(handles.simRun==0) set(handles.edit11,'String','Run Sim First'); guidata(hObject,handles);else if(handles.numplots>0) handles.plotctr=handles.plotctr+1; handles.crrplot=handles.plotID(handles.plotctr,1); switch handles.crrplot case 1 plotSVMROC(handles); case 4 plotSVMpos(handles); end if(get(handles.pushbutton5,'String')=='Plot Graph') set(handles.pushbutton5,'String','Next Graph'); end if (handles.plotctr==handles.numplots) handles.plotctr=0; end set(handles.pushbutton2,'Enable','On'); guidata(hObject,handles); else set(handles.pushbutton5,'String','No Graph'); set(handles.edit11,'String','No Graph Outputs Selected'); guidata(hObject,handles); end end %big if% --- Save Graph Buttonfunction pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)if(handles.simRun==0) set(handles.edit11,'String','No Graph to Save. Run Sim First'); guidata(hObject,handles);else set(handles.edit11,'String','Saving Graph'); a=figure; switch handles.crrplot case 1 plotSVMROC(handles); case 4 plotSVMpos(handles); endend% --- Exits Simulationfunction pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)close(handles.figure1);% --- Executes during object creation, after setting all properties.function popupmenu3_CreateFcn(hObject, eventdata, handles)% hObject handle to popupmenu3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on selection change in popupmenu3.function popupmenu3_Callback(hObject, eventdata, handles)% hObject handle to popupmenu3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns popupmenu3 contents as cell array% contents{get(hObject,'Value')} returns selected item from popupmenu3% --- Executes on selection of 2D SVM surfacefunction checkbox6_Callback(hObject, eventdata, handles)% hObject handle to checkbox6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)A=load(get(handles.edit2,'String'));[r c]=size(A);if(c < 3) set(handles.edit11,'String','Error! Training File has less than 2 features'); set(handles.edit11,'BackgroundColor',[1 0 0]); set(handles.checkbox6,'Value',0);endif(get(handles.checkbox7, 'Value')==1) set(handles.checkbox7,'Value',0); end guidata(hObject,handles);% --- Executes on selection of 3D SVM surfacefunction checkbox7_Callback(hObject, eventdata, handles)% hObject handle to checkbox7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)A=load(get(handles.edit2,'String'));[r c]=size(A);if(c < 4) set(handles.edit11,'String','Error! Training File has less than 3 features'); set(handles.edit11,'BackgroundColor',[1 0 0]); set(handles.checkbox7,'Value',0);endif(get(handles.checkbox6, 'Value')==1) set(handles.checkbox6,'Value',0);end guidata(hObject,handles);% --------------------------------------------------------------------function varargout = checkbox8_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = edit13_Callback(h, eventdata, handles, varargin)% --- Executes Simulation Resetfunction pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)axes(newplot);D2CReset(hObject,handles); %---------------------------------------------------------------------%% Simulation Functions %% %% %%---------------------------------------------------------------------%function D2CRun(cmdline,handles)% set Statusset(handles.edit11,'String',cmdline);set(handles.edit11,'BackgroundColor',[1 0 0]);system(cmdline);set(handles.edit11,'String','Sim Finished');set(handles.edit11,'BackgroundColor',[0 1 0]);function D2CAnalysis(h, handles)% Calculate ROC graphif(get(handles.checkbox1,'Value')==1) FX=load(handles.SVMdecisionfile); EnableHandle(handles.pushbutton5); calc_ROC(FX,h,handles);end% Calculate Best Feature if(get(handles.checkbox2,'Value')==1) %calc_best EnableHandle(handles.pushbutton5);end% Calculate 2D surface if(get(handles.checkbox6,'Value')==1) %calc_2D EnableHandle(handles.pushbutton5);end% Calculate 3D surface if(get(handles.checkbox7,'Value')==1) %calc_3D EnableHandle(handles.pushbutton5);end% Calculate SVM posterior if(get(handles.checkbox4,'Value')==1) calc_posprob(h,handles); EnableHandle(handles.pushbutton5);end%read accuracy file and outputif((get(handles.checkbox3,'Value')==1) | (get(handles.checkbox5,'Value')==1) ) A=load(handles.SVMaccuracyfile); [r, c]= size(A); set(handles.edit12,'String',num2str(A(r,1))); set(handles.edit12,'Enable','On'); set(handles.edit12,'BackgroundColor','green');end%----------------------------------------------------------------------%% %% Graph Plotting Functions %% %% %%----------------------------------------------------------------------%function plotSVMROC(handles)axes(newplot);[r c]=size(handles.ROCData);plot(handles.ROCData(1:r,1),handles.ROCData(1:r,2),'-b*','LineWidth',2);xlabel('1-Specificity');ylabel('Sensitivity');title(strcat('ROC Curve with Area=',num2str(handles.ROCArea)));function plotSVMpos(handles)axes(newplot);x_label='Example ID';y_label='P(+1|f(X))';title('SVM Posterior Probability');P=[];N=[];[TotalRows, TotalCols]=size(handles.SVMPP);for i=1:TotalRows if (handles.SVMPP(i,1)==1) P=[P handles.SVMPP(i,2)]; else N=[N handles.SVMPP(i,2)]; endendplot(P,'o','MarkerFaceColor','b');hold on;plot(N,'s','MarkerFaceColor','r');hold off;xlabel(x_label);ylabel(y_label);legend('+1','-1');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -