Sklearn PCA: правильная размерность ПК

С Swift 1.1 вы можете напрямую передать параметр String в const char *.

import Foundation

let str = "123.4567"
let num = atof(str) // -> 123.4567

atof("123.4567fubar") // -> 123.4567

Если вам не нравятся устаревшие atof:

strtod("765.4321", nil) // -> 765.4321

Одно предупреждение: поведение преобразования отличается от NSString.doubleValue.

atof и strtod принять 0x префикс шестнадцатеричной строки:

atof("0xffp-2") // -> 63.75
atof("12.3456e+2") // -> 1,234.56
atof("nan") // -> (not a number)
atof("inf") // -> (+infinity)

Если вы предпочитают поведение .doubleValue, мы все еще можем использовать мост CFString:

let str = "0xff"
atof(str)                      // -> 255.0
strtod(str, nil)               // -> 255.0
CFStringGetDoubleValue(str)    // -> 0.0
(str as NSString).doubleValue  // -> 0.0
0
задан desertnaut 5 March 2019 в 10:39
поделиться

1 ответ

В документации Sklearn говорится, что количество компонентов, сохраняемых, если вы не укажете параметр n_components, равно min(n_samples, n_features).

Теперь перейдем к вашему примеру:

В вашем первом примере число выборок данных 1797 меньше количества измерений 64, поэтому оно сохраняет всю размерность (так как вы не указав количество компонентов). Тем не менее, во втором примере количество выборок данных намного меньше количества функций, поэтому PCA sklearns уменьшает количество измерений до n_samples.

0
ответ дан Gustavo Fonseca 5 March 2019 в 10:39
поделиться
Другие вопросы по тегам:

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