亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? patternhw4view.cpp

?? Neural Network program for pattern classification
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// PatternHW4View.cpp : implementation of the CPatternHW4View class
//

#include "stdafx.h"
#include "PatternHW4.h"

#include "PatternHW4Doc.h"
#include "PatternHW4View.h"
#include "Chart.h"
#include "PrmDlg.h"
#include <math.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPatternHW4View

IMPLEMENT_DYNCREATE(CPatternHW4View, CScrollView)

BEGIN_MESSAGE_MAP(CPatternHW4View, CScrollView)
	//{{AFX_MSG_MAP(CPatternHW4View)
	ON_COMMAND(IDC_TRAINING1, OnTraining1)
	ON_UPDATE_COMMAND_UI(IDC_TRAINING1, OnUpdateTraining1)
	ON_COMMAND(IDC_TESTING1, OnTesting1)
	ON_UPDATE_COMMAND_UI(IDC_TESTING1, OnUpdateTesting1)
	ON_COMMAND(IDC_REGRESSTRN, OnRegresstrn)
	ON_COMMAND(IDC_REGRESSTST, OnRegresstst)
	ON_UPDATE_COMMAND_UI(IDC_REGRESSTRN, OnUpdateRegresstrn)
	ON_UPDATE_COMMAND_UI(IDC_REGRESSTST, OnUpdateRegresstst)
	ON_COMMAND(IDC_TESTTRAIN, OnTesttrain)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPatternHW4View construction/destruction

CPatternHW4View::CPatternHW4View()
{
	CreateMode = 0;
	m_Chart2d.SetChartTitle("Pattern Recognition Homework #4");
	m_Chart2d.SetChartLabel("Epoch","Learning Curve");
	m_Chart2d.SetRange(0,5000,-1,1);
	m_Chart2d.SetGridXYNumber(8,15);
	m_Chart2d.mpSerie[0].m_plotColor = RGB(30,255,30);
	m_Chart2d.mpSerie[0].IsLine=TRUE;
	m_Chart2d.m_BGColor = RGB(255,255,255);
	for(int i=0;i<m_Chart2d.nSerieCount;i++)
	{
		m_Chart2d.Graph_Name[i].Format("Graph");
	}
	TrainFinish = FALSE;
	TrRgFinish = FALSE;
	EnterFile = FALSE;
}

CPatternHW4View::~CPatternHW4View()
{
}

BOOL CPatternHW4View::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CPatternHW4View drawing

void CPatternHW4View::OnDraw(CDC* pDC)
{
	CPatternHW4Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	
	series = 0;
	
	CRect Rect;
	GetClientRect(Rect);
	Rect.bottom-=5;
	Rect.top+=5;
	Rect.left+=5;
	Rect.right-=5;
	
	//Allocate space for series .
	if ( !m_Chart2d.AllocSerie(MAX_INDEX) ) {
		AfxMessageBox("Error allocating chart serie") ;
        return;
	}
	
	if(CreateMode == 0){
		m_Chart2d.Create(WS_CHILD|WS_VISIBLE,Rect,this,0);
		CreateMode = 1;
	}
}

void CPatternHW4View::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();

	CSize sizeTotal;
	// TODO: calculate the total size of this view
	sizeTotal.cx = sizeTotal.cy = 100;
	SetScrollSizes(MM_TEXT, sizeTotal);
}

/////////////////////////////////////////////////////////////////////////////
// CPatternHW4View printing

BOOL CPatternHW4View::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CPatternHW4View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CPatternHW4View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CPatternHW4View diagnostics

#ifdef _DEBUG
void CPatternHW4View::AssertValid() const
{
	CScrollView::AssertValid();
}

void CPatternHW4View::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

CPatternHW4Doc* CPatternHW4View::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CPatternHW4Doc)));
	return (CPatternHW4Doc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CPatternHW4View message handlers
/************************************************************************/
/* OnTraining1()														*/
/* Name: OnTraining1													*/
/* Parameter: No														*/
/* Return: No															*/
/* Explain: Training													*/
/************************************************************************/
void CPatternHW4View::OnTraining1() 
{
	CPatternHW4Doc* pDoc = GetDocument();
	CPrmDlg pDlg;
	ASSERT_VALID(pDoc);

	if(pDlg.DoModal() == IDOK){
		register int i;
		pDoc->EnterData(TRAINMODE);								// Enter data into the train data array

		m_Chart2d.ClearChart();
		m_Chart2d.SetChartTitle("PR HW #4 Training Result");
		m_Chart2d.SetChartLabel("Epoch","Sum of Squared Error");
		m_Chart2d.SetRange(0,MAXEPOCH,0,0.5);
		m_Chart2d.SetGridXYNumber(10,5);
		
		m_Chart2d.mpSerie[0].m_plotColor = RGB(255,0,0);
		m_Chart2d.mpSerie[1].m_plotColor = RGB(0,255,0);
		m_Chart2d.mpSerie[2].m_plotColor = RGB(0,0,255);
		m_Chart2d.mpSerie[3].m_plotColor = RGB(255,255,0);
		m_Chart2d.mpSerie[4].m_plotColor = RGB(255,0,255);
		m_Chart2d.mpSerie[5].m_plotColor = RGB(0,255,255);
		
		m_Chart2d.mpSerie[0].IsLine = TRUE;
		m_Chart2d.mpSerie[1].IsLine = TRUE;
		m_Chart2d.mpSerie[2].IsLine = TRUE;
		m_Chart2d.mpSerie[3].IsLine = TRUE;
		m_Chart2d.mpSerie[4].IsLine = TRUE;
		m_Chart2d.mpSerie[5].IsLine = TRUE;

		m_Chart2d.Graph_Name[0].Format("MMT 0.0");
		m_Chart2d.Graph_Name[1].Format("MMT 0.1");
		m_Chart2d.Graph_Name[2].Format("MMT 0.3");
		m_Chart2d.Graph_Name[3].Format("MMT 0.5");
		m_Chart2d.Graph_Name[4].Format("MMT 0.7");
		m_Chart2d.Graph_Name[5].Format("MMT 0.8");
/*		
		m_Chart2d.Graph_Name[0].Format("HN 3");
		m_Chart2d.Graph_Name[1].Format("HN 4");
		m_Chart2d.Graph_Name[2].Format("HN 5");
		m_Chart2d.Graph_Name[3].Format("HN 6");
		m_Chart2d.Graph_Name[4].Format("HN 7");
		m_Chart2d.Graph_Name[5].Format("HN 8");
		
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,3,pDlg.m_momentum,pDlg.m_threshold);
		series = 0;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,4,pDlg.m_momentum,pDlg.m_threshold);
		series = 1;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,5,pDlg.m_momentum,pDlg.m_threshold);
		series = 2;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,6,pDlg.m_momentum,pDlg.m_threshold);
		series = 3;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,7,pDlg.m_momentum,pDlg.m_threshold);
		series = 4;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,8,pDlg.m_momentum,pDlg.m_threshold);
		series = 5;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
*/
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,pDlg.m_hid_node,0.0,pDlg.m_threshold);
		series = 0;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,pDlg.m_hid_node,0.1,pDlg.m_threshold);
		series = 1;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,pDlg.m_hid_node,0.3,pDlg.m_threshold);
		series = 2;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,pDlg.m_hid_node,0.5,pDlg.m_threshold);
		series = 3;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,pDlg.m_hid_node,0.7,pDlg.m_threshold);
		series = 4;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
		pDoc->MLP(pDlg.m_hid_lay,pDlg.m_learn_rate,pDlg.m_hid_node,0.8,pDlg.m_threshold);
		series = 5;
		for(i=0;i<MAXEPOCH;i++){
			m_Chart2d.SetXYValue(i,pDoc->m_SSE[i],i,series);
		}
	}
	TrainFinish = TRUE;
}

/************************************************************************/
/* OnUpdateTraining1(CCmdUI* pCmdUI)									*/
/* Name: OnUpdateTraining1												*/
/* Parameter: CCmdUI* pCmdUI - For checking								*/
/* Return: No															*/
/* Explain: Constraint for training										*/
/************************************************************************/
void CPatternHW4View::OnUpdateTraining1(CCmdUI* pCmdUI) 
{
	CPatternHW4Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	pCmdUI->Enable((pDoc->m_Data1 != NULL) || (pDoc->m_Data2 != NULL) || (pDoc->m_Data3 != NULL));
	// For training, the files should be inputted
}

/************************************************************************/
/* OnTesting1()															*/
/* Name: OnTesting1														*/
/* Parameter: No														*/
/* Return: No															*/
/* Explain: Testing														*/
/************************************************************************/
void CPatternHW4View::OnTesting1() 
{
	CPatternHW4Doc* pDoc = GetDocument();
	CPrmDlg pDlg;
	ASSERT_VALID(pDoc);
	
	if(pDlg.DoModal() == IDOK){
		pDoc->EnterData(TESTMODE);							// Enter the data into test data array
		pDoc->Test(pDlg.m_hid_lay,pDlg.m_learn_rate,pDlg.m_hid_node,pDlg.m_momentum,pDlg.m_threshold);
		
		m_Chart2d.SetChartTitle("PR HW #4 Test Result");
		m_Chart2d.SetChartLabel("Number of Data","Classification");
		m_Chart2d.SetRange(0,75,0,1);
		m_Chart2d.SetGridXYNumber(3,10);
		
		m_Chart2d.mpSerie[0].m_plotColor = RGB(255,0,0);
		m_Chart2d.mpSerie[1].m_plotColor = RGB(0,255,0);
		m_Chart2d.mpSerie[2].m_plotColor = RGB(0,0,255);
		
		m_Chart2d.mpSerie[0].IsLine = FALSE;
		m_Chart2d.mpSerie[1].IsLine = FALSE;
		m_Chart2d.mpSerie[2].IsLine = FALSE;
		
		m_Chart2d.Graph_Name[0].Format("Setosa");
		m_Chart2d.Graph_Name[1].Format("Versicolour");
		m_Chart2d.Graph_Name[2].Format("Virginica");
		
		m_Chart2d.ClearChart();
		series = 0;
		
		int maxIdx;
		double maxVal;
		numOfErr = 0;
		/************************************************************************/
		/* Result Showing														*/
		/************************************************************************/
		for(int i=0;i<75;i++){
			maxIdx = -100;
			maxVal = -100.0;
			for(int j=0;j<3;j++){
				if(pDoc->Test_Result[i][j] > maxVal){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu另类欧美亚洲曰本| 五月婷婷久久综合| 日韩av中文在线观看| 高清不卡一二三区| 欧美一区二视频| 亚洲国产日韩一区二区| 国产成人精品影院| 日韩欧美电影在线| 五月天一区二区三区| 91在线观看地址| 国产午夜精品一区二区三区四区| 亚洲成人在线网站| 日本久久精品电影| 国产精品久久777777| 国产精品一区不卡| 欧美刺激脚交jootjob| 亚洲bt欧美bt精品| 欧美色视频在线观看| 亚洲免费观看高清完整版在线观看 | 久久久久久黄色| 美女视频免费一区| 日韩精品一区二区三区在线| 午夜精品久久久久久久| 欧美日韩日日骚| 亚洲自拍偷拍九九九| 色综合久久久久综合体| 国产精品久久久久aaaa| 成人一道本在线| 中文字幕不卡三区| 99国产精品久久久| 亚洲激情五月婷婷| 91精彩视频在线观看| 亚洲人成小说网站色在线 | 精品一区二区在线看| 91精品国产色综合久久不卡电影| 亚洲激情图片小说视频| 欧美亚洲高清一区二区三区不卡| 亚洲视频你懂的| 91麻豆免费在线观看| 亚洲精品美国一| 欧美日韩精品一区二区在线播放| 亚洲一区二区三区中文字幕在线| 欧美丝袜丝交足nylons| 天堂va蜜桃一区二区三区漫画版| 欧美另类变人与禽xxxxx| 日产精品久久久久久久性色| 精品国偷自产国产一区| 国产高清不卡一区| 亚洲特级片在线| 在线视频欧美精品| 日本不卡一二三区黄网| 国产亚洲精品久| www.欧美.com| 午夜成人在线视频| 久久综合狠狠综合久久综合88| 国产精品77777| 亚洲色图欧美偷拍| 欧美一区二区网站| 成人晚上爱看视频| 日欧美一区二区| 久久香蕉国产线看观看99| 91丨porny丨户外露出| 亚洲h在线观看| 中文字幕精品一区| 欧美精品第1页| 国产一区 二区 三区一级| 亚洲裸体在线观看| 精品国产第一区二区三区观看体验| 成人一区在线看| 热久久免费视频| 亚洲丝袜制服诱惑| 欧美精品一区二区在线观看| 色诱视频网站一区| 国产老妇另类xxxxx| 亚洲国产精品久久久男人的天堂 | 91精品国产日韩91久久久久久| 国产电影精品久久禁18| 香蕉av福利精品导航 | 欧美成va人片在线观看| 日本韩国欧美一区二区三区| 国产一区二区调教| 日韩综合在线视频| 亚洲综合色噜噜狠狠| 久久久久久久久97黄色工厂| 欧美精品vⅰdeose4hd| 成人av在线资源网| 国产一二三精品| 日韩精品每日更新| 亚洲综合久久久久| 国产精品成人免费| 国产日韩精品一区二区三区| 欧美大片一区二区| 777久久久精品| 欧洲亚洲国产日韩| 97国产一区二区| 国产成人av资源| 国产福利91精品| 精品亚洲成a人| 日韩成人免费看| 亚洲午夜在线视频| 亚洲国产wwwccc36天堂| 中文字幕在线观看不卡视频| 亚洲国产精品av| 国产三级欧美三级| 欧美国产在线观看| 久久精品在线免费观看| 久久精品亚洲国产奇米99| 精品少妇一区二区三区日产乱码| 欧美一区二区三区在线电影| 精品视频全国免费看| 在线观看网站黄不卡| eeuss影院一区二区三区| 国产不卡视频一区二区三区| 久久不见久久见免费视频1| 奇米四色…亚洲| 精品一区二区三区在线播放视频| 天天色 色综合| 免费观看一级特黄欧美大片| 日韩av中文字幕一区二区三区| 天天操天天色综合| 另类的小说在线视频另类成人小视频在线 | 国产欧美精品国产国产专区| 久久亚洲一级片| 国产亲近乱来精品视频| 中文字幕一区二区三区在线不卡 | 日本伦理一区二区| 欧美日韩久久一区| 国产精品福利一区二区| 综合久久综合久久| 亚洲一区在线观看免费观看电影高清| 亚洲一级二级在线| 免费人成在线不卡| 国产99精品国产| 91美女视频网站| 4438亚洲最大| 2024国产精品| 亚洲主播在线播放| 裸体健美xxxx欧美裸体表演| 懂色av一区二区夜夜嗨| 91精彩视频在线| 精品捆绑美女sm三区| 亚洲天堂2014| 久久国产精品无码网站| 99久久99久久精品国产片果冻| 欧美性受xxxx| 久久久精品日韩欧美| 亚洲欧美日本在线| 蜜臀av一区二区在线免费观看| 国产suv精品一区二区883| 欧美性感一区二区三区| 久久久久久久久久久久久久久99 | 91看片淫黄大片一级| 7777精品久久久大香线蕉| 国产日韩欧美精品综合| 亚洲国产日韩精品| 国产99久久久国产精品免费看| 欧美伊人精品成人久久综合97| 精品国产免费一区二区三区四区| 亚洲欧美一区二区三区国产精品 | 亚洲一区在线看| 国产成人精品亚洲777人妖| 欧美日本一道本在线视频| 国产情人综合久久777777| 天天色天天操综合| 一本大道久久精品懂色aⅴ| 亚洲精品在线观看网站| 一区2区3区在线看| 国产传媒久久文化传媒| 国产精品初高中害羞小美女文| 秋霞av亚洲一区二区三| 在线精品视频免费播放| 中文字幕高清不卡| 久久不见久久见免费视频1| 欧美在线一二三四区| 国产精品女同互慰在线看| 精品系列免费在线观看| 91精品国产综合久久久久| 尤物在线观看一区| caoporn国产精品| 欧美国产97人人爽人人喊| 久久99精品久久久久| 911精品国产一区二区在线| 亚洲男人天堂av| 色综合网色综合| 欧美国产禁国产网站cc| 国产盗摄精品一区二区三区在线| 日韩一级大片在线观看| 亚洲不卡在线观看| 欧美中文字幕一区二区三区 | 欧美在线看片a免费观看| 中文字幕乱码一区二区免费| 国产精品一区二区在线观看不卡 | 精品动漫一区二区三区在线观看| 91免费在线播放| 中文字幕在线免费不卡| fc2成人免费人成在线观看播放| 久久久美女毛片| 国产suv一区二区三区88区| 欧美韩日一区二区三区| 成人国产在线观看|