@scala_ru

Страница 1168 из 1499
Yan?
25.12.2017
17:25:43
или уже есть нормальные?

Oleg
25.12.2017
17:26:40
Oleg
25.12.2017
17:36:27
Зашёл, а там срач, котлин против кложы

Google
Oleg
25.12.2017
17:36:35
Вот это хардкор

sherzod
25.12.2017
17:36:54
и такой вялый, нетоксичный, неуютно как-то

Daniel
26.12.2017
05:50:32
https://github.com/typelevel/cats/releases/tag/v1.0.0 ?

Aleksei
26.12.2017
06:04:28
ДОЖДАЛИСЬ!

Daniel
26.12.2017
06:05:11
в репах нет еще

Aleksei
26.12.2017
06:06:21
ну вот, нещитово тогда

Grigory
26.12.2017
06:10:47
в репах нет еще
http://repo1.maven.org/maven2/org/typelevel/cats-core_2.12/1.0.0/

Daniel
26.12.2017
06:11:13
хм, в поиске не увидел

Grigory
26.12.2017
06:11:39
индексация она не сразу

Oleg
26.12.2017
06:30:40
RC2 > Change forEffect/followedBy to productL/productR да как они надоели

хорошо хоть задепрекейтили просто

Alexander
26.12.2017
09:11:06
Привет! Подскажите короткий способ Integral[T] смапить через T=>U в Integral[U]. (хочу в slick объявить sequence с конкретным типом вроде MyNumber(value: Long) ext AnyVal) Пока на ум приходит только определять каждый метод (а их там много)

Google
Alexander
26.12.2017
09:12:14
Ах если б :)

но его там нет

Nick
26.12.2017
09:12:47
Сделай

Alexey
26.12.2017
09:14:26
integral это вообще что?

линк хоть дай

Grigory
26.12.2017
09:16:20
math.Integral (я полагаю)

Alexey
26.12.2017
09:17:17
ааа

Alexander
26.12.2017
09:17:50
Сделай
И по идее там надо contramap :)

Nick
26.12.2017
09:21:03
И по идее там надо contramap :)
эм, да из T=>U имея на руках Integral[T] это map

Grigory
26.12.2017
09:24:13
А что там мапить? это тайп классы операций...

Alexey
26.12.2017
09:24:47
ну, чтобы получить другой инстанц тайпкласса? )

Denis
26.12.2017
09:25:32
Попробовали бы они так в своем хаскеле

Alexander
26.12.2017
09:25:42
эм, да из T=>U имея на руках Integral[T] это map
Для функтора - да, но Integral это скорее функция , точнее несколько функций %)

Alexey
26.12.2017
09:26:11
нужен всего лишь функтор для инстанцов этих тайпклассов. напиши сам.

Alexander
26.12.2017
09:30:44
implicit object IntegralFunctor extends Functor[Integral] { override def imap[A, B](fa: Integral[A])(toB: (A) => B)(toA: (B) => A): Integral[B] = new Integral[B] { override def minus(x: B, y: B) = toB(fa.minus(toA(x), toA(y))) override def negate(x: B) = toB(fa.negate(toA(x))) override def fromInt(x: Int) = toB(fa.fromInt(x)) override def toDouble(x: B) = fa.toDouble(toA(x)) override def compare(x: B, y: B) = fa.compare(toA(x), toA(y)) } override def map[A, B](fa: Integral[A])(f: (A) => B): Integral[B] = ??? }

Alexey
26.12.2017
09:31:51
типа того. но для (toB: (A) => B)(toA: (B) => A) подозреваю есть свой тайп клас )

Alexander
26.12.2017
09:32:04
implicit object IntegralInvariant extends Invariant[Integral] :)

Google
Daniel
26.12.2017
09:35:08
?

Alexey
26.12.2017
09:35:37
это не я. это мой хардварный генератор ключей )

Alexander
26.12.2017
09:37:38
в слике есть такая штука object Sequence { def apply[T : TypedType : Integral](name: String) = new Sequence[T](name, None, None, None, None, false) }

у меня T = case class SashaId(value: Long) extends AnyVal

Grigory
26.12.2017
09:40:38
объяви прост интеграл нужный над твоим типом

и там делай что хочешь

Alexander
26.12.2017
09:42:48
Да, это вариант выше только без понтов :)

В общем, код выше норм, только Invariant, а не Functor. В результате получается так: implicit val integralMyId = IntegralInvariant.imap(implicitly[Integral[Long]])(MyId.apply)(_.value) implicit val integralTheirId = IntegralInvariant.imap(implicitly[Integral[Long]])(TheirId.apply)(_.value) val myIdSeq: Sequence[MyId] = Sequence[MyId]("my_id_seq") val myIdSeq: Sequence[TheirId] = Sequence[TheirId]("their_id_seq") Спасибо за наводки :)

Alex
26.12.2017
09:52:38
Не подскажите, как случайный вектор (нормальный) генерировать с заданными параметрами? Не для i.i.d. случая.

Vasiliy
26.12.2017
09:55:55
в breeze или spark для этого есть api . Нужно просто в scala или какие-то либы используются?

Alex
26.12.2017
09:57:23
спасибо

Vasiliy
26.12.2017
09:58:00
import org.apache.spark.mllib.random.RandomRDDs._ normalRDD(sc, size, seed = seed).map(v => noise * v)

типа так

ну т.е. он тебе генерит rdd с матожиданием 0 и дисперсией 1, а дальше мапом умножаешь на нужную дисперсию и прибавляешь матожидание

Alex
26.12.2017
10:20:49
про не i.i.d. я не очень понял
одинаково + независимо распределенные.

Vasiliy
26.12.2017
10:22:29
одинаково + независимо распределенные.
я расшифровал, просто не понял, как это к задаче относится ? Что должно быть распределено нормально? Элементы вектора?

Google
Vasiliy
26.12.2017
10:22:44
я, скорее всего, не очень понял задачу

Vasiliy
26.12.2017
10:23:11
а элементы вектора - действительные числа?

Alex
26.12.2017
10:23:17
я, скорее всего, не очень понял задачу
да прост сгенерировать многомерное норм. распределение с недиагональной кор. матрицей

Vasiliy
26.12.2017
10:23:43
так, а где тогда возникает многомерность? ?

Admin
ERROR: S client not available

Vasiliy
26.12.2017
10:24:02
ну т.е. это же одномерное распределение

Vasiliy
26.12.2017
10:24:16
со стандартным отклонением а не матрицей ковариаций

ну говорю, видимо, не понял задачу. Если нужно сгенерировать один вектор, значения которого распределены нормально, с заданным стандартным отклонением и матожиданем, то это решается, как я показал

Alex
26.12.2017
10:26:00
ну т.е. это же одномерное распределение
одномерное это R, мне надо R^n

Vasiliy
26.12.2017
10:28:05
ну т.е. у тебя есть некоторая размерность пространства, допустим 3, и тебе нужно сгенерировать набор векторов количеством n штук размерности 3, чтобы они были распределны согласно 3хмерному нормальному распределению?

так?

ну т.е. должно же быть тогда два числа

размерность пространства - d и количество векторов - n в виборке

Vasiliy
26.12.2017
10:30:53
да, понял, надо смотреть mllib.random.RandomRDDs

по идее должно быть

Google
Alex
26.12.2017
10:31:10
Vasiliy
26.12.2017
10:31:18
не за что ?

Daniel
26.12.2017
10:33:19
немного мат. нубства Если все размерности вектора распределены нормально, то сам вектор "распределен согласно 3хмерному нормальному распределению"? Если так, то чем не устроит простой цикл? Наверняка зависимость векторов между собой все равно проверять отдельно.

Vasiliy
26.12.2017
10:34:15
это в случае диагональной матрицы ковариаций сработает

Vasiliy
26.12.2017
10:44:22
только iid есть. * Generates an RDD[Vector] with vectors containing `i.i.d.` samples drawn from the * standard normal distribution.
я так и не понял, что значит без iid. Т.е. первый вектор сгенерился согласно одному распределению, а другой - другому?

или генеразция второго вектора должна зависеть от генерации перового?

Daniel
26.12.2017
10:46:09
вероятно 2ой вектор должен быть похож с заданной степенью

Vasiliy
26.12.2017
10:47:37
интересно

Oleg
26.12.2017
10:56:17
Если Var(x) = I, то Var(A * x) = E[(A*x) * (A*x)^T] = E[ A * x * x^T * A^T ] = A * E[x * x^T] *A^T = A * Var(x) * A^T = A * A^T

то есть нужно найти такую матрицу A, чтобы желаемая матрица ковариации была равна A * A^T

Pavel
26.12.2017
10:59:43
Oleg
26.12.2017
10:59:52
разложение матрицы ковариации на произведение A * A^T называется разложением Холецкого https://en.wikipedia.org/wiki/Cholesky_decomposition

Что за вары/мутабельность, это скальный чат...
к сожалению, пока не научился общаться стикерами ?

Alex
26.12.2017
11:07:06
или генеразция второго вектора должна зависеть от генерации перового?
просто некоторые элементы вектора коррелируют друг с другом.

Vasiliy
26.12.2017
11:07:18
это нормально

ну т.е. это не значит , что это не i.i.d.

просто распределение с недиагональной ковариационной матрицей

Страница 1168 из 1499