
fann_test_data 함수의 첫 번째 인자로 모델을 입력할 때, 모델의 구조와 관련된 옵션을 설정하는 방법은 다음과 같습니다.
- 모델의 구조: fann_create_standard() 함수를 사용하여 모델의 입력 뉴런 수, 은닉 뉴런 수, 출력 뉴런 수를 설정할 수 있습니다. 예를 들어, fann_create_standard(3, 10, 1) 함수를 사용하여 3개의 입력 뉴런, 10개의 은닉 뉴런, 1개의 출력 뉴런을 가진 모델을 생성할 수 있습니다.
fann_test_data 함수의 두 번째 인자로 모델에 학습 데이터와 테스트 데이터를 입력할 때, 데이터의 형식과 관련된 규칙은 다음과 같습니다.
- 데이터의 형식: 학습 데이터와 테스트 데이터는 2차원 배열로 입력해야 합니다. 각 행은 입력 뉴런의 값과 출력 뉴런의 값으로 구성됩니다. 예를 들어, [[0.5, 0.2, 0.1], [0.8, 0.4, 0.3], [0.9, 0.6, 0.7]]은 3개의 입력 뉴런과 1개의 출력 뉴런을 가진 모델에 입력할 수 있는 데이터입니다.
fann_test_data 함수의 사용법은 다음과 같습니다.
- fann_test_data 함수는 모델의 정확도를 측정하기 위해 학습 데이터와 테스트 데이터를 사용합니다. 함수의 반환 값은 모델의 정확도입니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
// 모델 생성
struct fann *ann = fann_create_standard(3, 10, 1);
// 학습 데이터와 테스트 데이터 생성
float *input = new float[3];
float *output = new float[1];
input[0] = 0.5;
input[1] = 0.2;
input[2] = 0.1;
output[0] = 0.8;
float *test_input = new float[3];
float *test_output = new float[1];
test_input[0] = 0.8;
test_input[1] = 0.4;
test_input[2] = 0.3;
test_output[0] = 0.9;
// 학습 데이터와 테스트 데이터를 모델에 입력
fann_type *data = new fann_type[4];
data[0] = input[0];
data[1] = input[1];
data[2] = input[2];
data[3] = output[0];
fann_type *test_data = new fann_type[4];
test_data[0] = test_input[0];
test_data[1] = test_input[1];
test_data[2] = test_input[2];
test_data[3] = test_output[0];
// 모델의 정확도 측정
float accuracy = fann_test_data(ann, data, test_data);
// 결과 출력
printf("모델의 정확도: %fn", accuracy);
// 메모리 해제
delete[] input;
delete[] output;
delete[] test_input;
delete[] test_output;
delete[] data;
delete[] test_data;
fann_destroy(ann);
return 0;
}
이 예제에서는 3개의 입력 뉴런과 1개의 출력 뉴런을 가진 모델을 생성하고, 학습 데이터와 테스트 데이터를 모델에 입력하여 모델의 정확도를 측정합니다.
2025-08-03 00:19