Простой многомерный подбор кривых

Angularjs имеет большую поддержку для интернационализации и локализации. Применение интернационализации и локализации зависит от объема вашей заявки. Например, если ваше приложение поддерживает только евро, вам нужна только локализация для евро и не требуется вся валюта и ее форматирование.

В такой ситуации (если ваша ситуация аналогична приведенной выше), вы можете создать конфигурации приложения и установить локаль как локализацию, необходимую вам с помощью некоторых декораторов. Функция декоратора перехватывает создание службы, позволяя ей переопределять или изменять поведение службы.

angular
  .module('app', [])
  .config(['$provide', function($provide) {
    $provide.decorator('$locale', ['$delegate', function($delegate) {
      $delegate.NUMBER_FORMATS = {
        DECIMAL_SEP: '.',
        GROUP_SEP: ',',
        PATTERNS: [{ // Decimal Pattern
          minInt: 1,
          minFrac: 0,
          maxFrac: 3,
          posPre: '',
          posSuf: '',
          negPre: '-',
          negSuf: '',
          gSize: 3,
          lgSize: 3
        }, { //Currency Pattern
          minInt: 1,
          minFrac: 0,
          maxFrac: 1,
          posPre: '\u00A4',
          posSuf: '',
          negPre: '(\u00A4',
          negSuf: ')',
          gSize: 3,
          lgSize: 3
        }],
        CURRENCY_SYM: '€'
      }
      return $delegate;
    }]);
  }])
  .controller('appController', ['$scope', function($scope) {
    $scope.price = 20.55;
  }])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<div ng-app="app">
  <div ng-controller="appController">
    Price : {{price | currency}}
  </div>
</div>

над конфигурацией отображаются все возможные значения для десятичных и валютных настроек. Вы можете изменить в соответствии с вашими требованиями на уровне приложения.

Если вы не хотите, чтобы эффект был во всем приложении лучше, нужно перейти к директиве

19
задан user64258 9 February 2009 в 18:13
поделиться

6 ответов

В случае, если это полезно, вот шаблон Numpy/Scipy (Python), чтобы сделать то, что Вы хотите:

from numpy import array
from scipy.optimize import leastsq

def __residual(params, y, a, b, c):
    p0, e0, p1, e1, p2, e2 = params
    return p0 * a ** e0 + p1 * b ** e1 + p2 * c ** e2 - y

# load a, b, c
# guess initial values for p0, e0, p1, e1, p2, e2
p_opt = leastsq(__residual,  array([p0, e0, p1, e1, p2, e2]), args=(y, a, b, c))
print 'y = %f a^%f + %f b^%f %f c^%f' % map(float, p_opt)

, Если Вы действительно хотите понять то, что продолжается, тем не менее, Вы оказываетесь перед необходимостью инвестировать время для масштабирования кривой обучения для некоторого инструмента или среды программирования - я действительно не думаю, что существует любой путь вокруг этого. Люди обычно не пишут специализированные инструменты для того, чтобы сделать вещи как регрессии питания с 3 терминами исключительно.

12
ответ дан 30 November 2019 в 04:59
поделиться

Существует инструмент для установки 1D и 2D кривые в zunzun.com , но я не думаю, что это идет вне двух переменных. Аналогично, Matlab не поддерживает больше чем две установки размеров (насколько я знаю), и это, конечно, не свободно.

Иначе, Вы смогли находить часть своего решения в Числовые Рецепты .

, Но как другие обозначенные плакаты, Вам, вероятно, будет нужна, по крайней мере, основная идея о Вашей модели функции (который, надо надеяться, линеен или может линеаризоваться, в этом случае у Вас будет намного больший массив решений в Вашем распоряжении)

3
ответ дан 30 November 2019 в 04:59
поделиться

Основы установки данных включают принятие общей формы решения, предположение некоторых начальных значений для констант и затем итерации для уменьшения ошибки предполагаемого решения найти определенное решение, обычно в смысле наименьших квадратов.

Изучают R или Октава для инструментов с открытым исходным кодом. Они оба способны к анализу наименьших квадратов с несколькими учебными руководствами просто поиск Google далеко.

Редактирование: код Октавы для оценки коэффициентов для 2-го многочлена порядка

x = 0:0.1:10;
y = 5.*x.^2 + 4.*x + 3;

% Add noise to y data
y = y + randn(size(y))*0.1;

% Estimate coefficients of polynomial
p = polyfit(x,y,2)

На моей машине, я добираюсь:

ans =

   5.0886   3.9050   2.9577
2
ответ дан 30 November 2019 в 04:59
поделиться

Вы знаете, каким питанием Вы хотите ограничить свой многочлен?

, Если нет никакого предела, то можно всегда получать точное совпадение для точек N путем соответствия ему к многочлену, который имеет коэффициенты N. Чтобы сделать это, Вы включаете различные точки N в свое уравнение, приводя N к уравнениям и неизвестным N (коэффициенты), который можно затем использовать или простую алгебру средней школы или матрицу для решения для неизвестных.

1
ответ дан 30 November 2019 в 04:59
поделиться

Если у Вас есть предположение в форме f, [*] Вам нужен минимизатор для нахождения оптимальных параметров. инструменты Scottie T предлагают , работал бы, как будет КОРЕНЬ , и многие другие.

, Если у Вас нет подсказки, какая форма f могла бы принять Вас, находятся в глубокой проблеме действительно.

<час>

[*] таким образом, Вы знаете что

f = f (x, y, z, w...; p1, p2, p3...)

, где p с являются параметрами и координатами, x, y...

0
ответ дан 30 November 2019 в 04:59
поделиться

Короткий Ответ: это не настолько просто. Рассмотрите непараметрический подход к подмножествам данных.

существует 2 основных вопроса, необходимо ли решить приблизительно (1), Вы на самом деле заботитесь о параметрах функции, т.е. Вашем P1, E1..., или Вы были бы хорошо только с оценкой средней функции (2), необходимо ли действительно оценить функцию на всех данных?

первая вещь, которую я упомяну, состоит в том, что Ваша указанная функция нелинейна (в параметрах, которые будут оценены), таким образом, обычные наименьшие квадраты не будут работать. Давайте притворимся определение линейной функции. У Вас все еще была бы проблема с 10M значения. Линейная регрессия может быть выполнена в эффективном способе использовать QR-факторизацию, но Вас все еще оставляют с O (p * n^2) алгоритм, где p является количеством параметров, Вы пытаетесь оценить. Если Вы хотите оценить нелинейную среднюю функцию, это становится намного хуже.

единственный способ, которым Вы собираетесь быть способными оценить что-либо в таком большом наборе данных, при помощи подмножества для выполнения оценки. В основном Вы случайным образом выбираете подмножество и использование что оценить функцию.

, Если Вы не заботитесь о своих значениях параметров и просто хотите оценить среднюю функцию, Вы, вероятно, будете более обеспеченным использованием непараметрического метода оценки.

, Надо надеяться, это помогает.

leif

0
ответ дан 30 November 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: