KlassenKlassenKlassenKlassen | | | | Operatoren

set_feature_lengths_class_train_dataT_set_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataSetFeatureLengthsClassTrainData (Operator)

Name

set_feature_lengths_class_train_dataT_set_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataSetFeatureLengthsClassTrainData — Definiert benachbarte Spalten in Trainingsdaten als zusammengehörige Merkmalsgruppen.

Signatur

set_feature_lengths_class_train_data( : : ClassTrainDataHandle, SubFeatureLength, Names : )

Herror T_set_feature_lengths_class_train_data(const Htuple ClassTrainDataHandle, const Htuple SubFeatureLength, const Htuple Names)

Herror set_feature_lengths_class_train_data(const HTuple& ClassTrainDataHandle, const HTuple& SubFeatureLength, const HTuple& Names)

void HClassTrainData::SetFeatureLengthsClassTrainData(const HTuple& SubFeatureLength, const HTuple& Names) const

void SetFeatureLengthsClassTrainData(const HTuple& ClassTrainDataHandle, const HTuple& SubFeatureLength, const HTuple& Names)

void HClassTrainData::SetFeatureLengthsClassTrainData(const HTuple& SubFeatureLength, const HTuple& Names) const

void HOperatorSetX.SetFeatureLengthsClassTrainData(
[in] VARIANT ClassTrainDataHandle, [in] VARIANT SubFeatureLength, [in] VARIANT Names)

void HClassTrainDataX.SetFeatureLengthsClassTrainData(
[in] VARIANT SubFeatureLength, [in] VARIANT Names)

static void HOperatorSet.SetFeatureLengthsClassTrainData(HTuple classTrainDataHandle, HTuple subFeatureLength, HTuple names)

void HClassTrainData.SetFeatureLengthsClassTrainData(HTuple subFeatureLength, HTuple names)

Beschreibung

set_feature_lengths_class_train_dataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataSetFeatureLengthsClassTrainData definiert benachbarte Spalten in den Trainingsdaten ClassTrainDataHandleClassTrainDataHandleClassTrainDataHandleClassTrainDataHandleClassTrainDataHandleclassTrainDataHandle als zusammengehörige Merkmale. Es können dafür die Längen der jeweiligen Merkmalsgruppen mit SubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthsubFeatureLength angegeben werden. Das bedeutet, dass die Summe aller Werte in SubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthsubFeatureLength der Anzahl der Spalten in den Trainingsdaten entsprechen muss. Die Anzahl der Spalten wird beim Aufruf von create_class_train_datacreate_class_train_dataCreateClassTrainDatacreate_class_train_dataCreateClassTrainDataCreateClassTrainData im Parameter NumDim angegeben. Zusätzlich zu den Gruppierungen kann für jede Gruppierung ein Name in NamesNamesNamesNamesNamesnames angegeben werden.

Beispielsweise kann dieser Operator nützlich sein um das folgende Problem zu beschreiben: Es sind zwei verschiedene Datenquellen für ein bestimmtes Klassifikationsproblem verfügbar, beide liefern pro Beobachtung einen Vektor einer bestimmten Länge, z.B. liefert die erste Datenquelle Vektoren der Länge n und die andere Datenquelle Vektoren der Länge m. Um zu entscheiden, welche der Datenquellen nützlich für das Klassifikationsproblem ist, sollte man Trainingsdaten dieser zwei Quellen folgendermaßen erzeugen: man sollte create_class_train_datacreate_class_train_dataCreateClassTrainDatacreate_class_train_dataCreateClassTrainDataCreateClassTrainData mit NumDim =n+m=w aufrufen. Anschließend sollte set_feature_lengths_class_train_dataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataSetFeatureLengthsClassTrainData aufgerufen werden mit den Werten [n,m] für SubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthsubFeatureLength und [Name1, Name2] in NamesNamesNamesNamesNamesnames. Anschließend können den Trainingsdaten zugeordnete Daten aus beiden Datenquellen (Länge des Merkmalsvektors: w, zuerst das erste Feature der Länge n dann das zweite Feature der Länge m) mit Hilfe von add_sample_class_train_dataadd_sample_class_train_dataAddSampleClassTrainDataadd_sample_class_train_dataAddSampleClassTrainDataAddSampleClassTrainData hinzugefügt werden. Dann können Operatoren wie select_feature_set_knnselect_feature_set_knnSelectFeatureSetKnnselect_feature_set_knnSelectFeatureSetKnnSelectFeatureSetKnn oder select_feature_set_svmselect_feature_set_svmSelectFeatureSetSvmselect_feature_set_svmSelectFeatureSetSvmSelectFeatureSetSvm aufgerufen werden. Das Ergebnis dieser Operatoren wäre dann entweder [Name1], falls die erste Datenquelle alleine ausreicht [Name2], falls die zweite Datenquelle alleine ausreicht, oder [Name1, Name2] wenn beide Datenquellen benötigt werden.

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

ClassTrainDataHandleClassTrainDataHandleClassTrainDataHandleClassTrainDataHandleClassTrainDataHandleclassTrainDataHandle (input_control, Zustand wird modifiziert)  class_train_data HClassTrainData, HTupleHTupleHClassTrainData, HTupleHClassTrainDataX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Trainingsdaten.

SubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthSubFeatureLengthsubFeatureLength (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Längen den Merkmalsgruppen.

NamesNamesNamesNamesNamesnames (input_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der Merkmalsgruppen.

Beispiel (HDevelop)

* Find out which of the two features distinguishes two Classes
NameFeature1 := 'Good Feature'
NameFeature2 := 'Bad Feature'
LengthFeature1 := 3
LengthFeature2 := 2
* Create training data
create_class_train_data (LengthFeature1+LengthFeature2,\
  ClassTrainDataHandle)
* Define the features which are in the training data
set_feature_lengths_class_train_data (ClassTrainDataHandle, [LengthFeature1,\
  LengthFeature2], [NameFeature1, NameFeature2])
* Add training data
*                                                          |Feat1| |Feat2|
add_sample_class_train_data (ClassTrainDataHandle, 'row', [1,1,1,  2,1  ], 0)
add_sample_class_train_data (ClassTrainDataHandle, 'row', [2,2,2,  2,1  ], 1)
add_sample_class_train_data (ClassTrainDataHandle, 'row', [1,1,1,  3,4  ], 0)
add_sample_class_train_data (ClassTrainDataHandle, 'row', [2,2,2,  3,4  ], 1)
* Add more data 
* ...
* Select the better feature
select_feature_set_knn (ClassTrainDataHandle, 'greedy', [], [], KNNHandle,\
  SelectedFeature, Score)
clear_class_train_data (ClassTrainDataHandle)
classify_class_knn (KNNHandle, [1,1,1], Result, Rating)
classify_class_knn (KNNHandle, [2,2,2], Result, Rating)
* Use the classifier
* ...
clear_class_knn (KNNHandle)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert set_feature_lengths_class_train_dataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataset_feature_lengths_class_train_dataSetFeatureLengthsClassTrainDataSetFeatureLengthsClassTrainData den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_class_train_datacreate_class_train_dataCreateClassTrainDatacreate_class_train_dataCreateClassTrainDataCreateClassTrainData, add_sample_class_train_dataadd_sample_class_train_dataAddSampleClassTrainDataadd_sample_class_train_dataAddSampleClassTrainDataAddSampleClassTrainData

Nachfolger

select_feature_set_knnselect_feature_set_knnSelectFeatureSetKnnselect_feature_set_knnSelectFeatureSetKnnSelectFeatureSetKnn, select_feature_set_svmselect_feature_set_svmSelectFeatureSetSvmselect_feature_set_svmSelectFeatureSetSvmSelectFeatureSetSvm, select_feature_set_mlpselect_feature_set_mlpSelectFeatureSetMlpselect_feature_set_mlpSelectFeatureSetMlpSelectFeatureSetMlp, select_feature_set_gmmselect_feature_set_gmmSelectFeatureSetGmmselect_feature_set_gmmSelectFeatureSetGmmSelectFeatureSetGmm

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren