Как вычислить взвешенное среднее значение одного класса с двумя функциями в Python - PullRequest
0 голосов
/ 25 сентября 2019

На самом деле я работаю с SVM (Support Vector Machine).Я хочу вычислить средневзвешенное значение баллов одного класса.вот визуализация моего класса.

enter image description here

Я пытаюсь минимизировать этот вмещающий шар.

Примечание : Как вы можете видеть пунктирную букву D. На самом деле это круг, я просто его обрезал, потому что он пересекает линию (гиперплоскость).

Я только что вычислилсредние значения этих точек и евклидово расстояние каждой точки от среднего.и затем точка, имеющая максимальное расстояние от среднего, я считаю его радиусом окружности.

def compute_mean(negative_x):

    negative_x = list(negative_x)
    no_of_samples = len(negative_x)
    sum_of_samples = sum(negative_x)
    num_of_features = len(negative_x[0])
    means = []
    for i in range(0,num_of_features):
        means.append(sum_of_samples[i]/no_of_samples)
    distances = compute_distance(means,negative_x)
    mean_and_distance =  [means,distances]
    return mean_and_distance

Теперь, используя радиус и среднее значение, я просто рисую круг, используя окружность (но это длинная история).Я просто пришел к моему вопросу, что, как показано на рис. Выше, из-за некоторых точек вмещающий шар слишком велик.поэтому я хочу вычислить взвешенное среднее, чтобы среднее сместилось в сторону точек, оказывающих небольшое влияние на простое среднее.За счет чего Круг сокращается.

Если у кого-то есть другая идея уменьшить этот вмещающий шар, я буду очень благодарен.

...