2013-05-29 4 views
-1

У меня есть эти два классаКлассификация в Java

public class Iris_Setosa { 

private double sepal_length; 
private double sepal_width; 
private double petal_length; 
private double petal_width; 


//Constractor 
public Iris_Setosa(double s_length,double s_width,double p_length,double p_width) 
{ 
    this.sepal_length=s_length; 
    this.sepal_width=s_width; 
    this.petal_length=p_length; 
    this.petal_width=p_width; 
} 

public double sepal_length() 
{ 
    return this.sepal_length; 
} 

public double sepal_width() 
{ 
    return this.sepal_width; 
} 

public double petal_length() 
{ 
    return this.petal_length; 
} 

public double petal_width() 
{ 
    return this.petal_width; 
} 
} 

public class Iris_Versicolour { 
private double sepal_length; 
private double sepal_width; 
private double petal_length; 
private double petal_width; 


//Constractor 
public Iris_Versicolour(double s_length,double s_width,double p_length,double p_width) 
{ 
    this.sepal_length=s_length; 
    this.sepal_width=s_width; 
    this.petal_length=p_length; 
    this.petal_width=p_width; 

} 


public double sepal_length() 
{ 
    return this.sepal_length; 
} 

public double sepal_width() 
{ 
    return this.sepal_width; 
} 

public double petal_length() 
{ 
    return this.petal_length; 
} 

public double petal_width() 
{ 
    return this.petal_width; 
} 
} 

I определены два вектора и набор данных:

Vector <Iris_Setosa> I_Setosa = new Vector <Iris_Setosa>(); 
Vector <Iris_Versicolour> I_Versicolour = new Vector <Iris_Versicolouלr>(); 
//data 
I_Setosa.add(new Iris_Setosa (4.6,3.4,1.4,0.3)); 
I_Setosa.add(new Iris_Setosa (5.4,3.9,1.7,0.4)); 
I_Versicolour.add(new Iris_Versicolour(6.4,3.2,4.5,1.5)); 
I_Versicolour.add(new Iris_Versicolour(6.9,3.1,4.9,1.5)); 
....... 

Как мы классифицируем эти два вектора вместе для того, чтобы рассматриваться в качестве точек пространство?

+3

Какова ваш ожидаемый результат? –

+0

Если вы пытаетесь выполнить задачу машинного обучения, было бы выгоднее разместить данные в csv со всеми входами и ожидаемым выходом. Затем создайте объекты для реализации вашего метода машинного обучения, то есть ANN, RBF, SVM и т. Д. Они будут выводить 0 или 1 в зависимости от того, какой цвет он есть. Эти проблемы машинного обучения не предназначены для решения, представляя каждый возможный выпуск классификации как класс, представьте, была ли это проблемой класса 20, вы не можете и не должны выполнять все эти классы – user1646196

ответ

0

Так что теперь у Вас есть новый образец, с = [4.7, 3.3, 1.5, 0.5]

Первый быстрый и грязный метод будет 1NN (K Ближайшие соседи с К = 1). В этом случае вы должны вычислить эвклидовое расстояние между s и каждый из ваших четырех очков.
Вы обнаружили, что четыре ваших четырех случая у вас есть расстояния 5.93, 6.40, 6.94 и 7.12. В этом случае вы выбираете первый образец обучения, так как он ближе всего, что приводит к предсказанию I_Setosa. Более конкретно, это был наиболее близок к Iris_Setosa (4.6,3.4,1.4,0.3)

Надеется, что это помогает