Я использую NumPy ежедневно, а R почти так.
Для обработки больших чисел я предпочитаю NumPy-R с большим отрывом (включая R-пакеты, такие как 'Matrix'). Я считаю, что синтаксический очиститель, набор функций больше и вычисления выполняются быстрее (хотя я не нахожу R медленно любым способом). Например, функция вещания NumPy, я не думаю, что имеет аналог в R.
Например, для считывания набора данных из файла CSV и «нормализации» его для ввода в алгоритм ML (например, средний центр, а затем масштабирование каждого измерения) требуется только это:
data = NP.loadtxt(data1, delimiter=",") # 'data' is a NumPy array
data -= NP.mean(data, axis=0)
data /= NP.max(data, axis=0)
Кроме того, я обнаружил, что при кодировании алгоритмов ML мне нужны структуры данных, которые я могу оперировать поэлементно и которые также понимают линейную алгебру (например, умножение матриц, транспонирование и т. Д.). NumPy получает это и позволяет вам легко создавать эти гибридные структуры (без перегрузки или подклассов операторов и т. Д.).
Вы не будете разочарованы NumPy / SciPy, скорее всего, вы будете поражены.
Итак, несколько рекомендаций - в целом и в частности, учитывая факты в вашем вопросе:
установить NumPy и Scipy . В качестве приблизительного руководства, NumPy предоставляет
основные структуры данных (в частности,
ndarray) и SciPy (который является
на самом деле в несколько раз больше, чем
NumPy) предоставляет домен-специфичный
функции (например, статистика, сигнал
обработка, интеграция).
установить версии репозитория , особенно с N / P NumPy, потому что
версия для разработчиков - 2.0. Matplotlib и NumPy тесно интегрированы, вы можете использовать одно без другого, конечно, но оба являются лучшими в своем классе среди библиотек Python. Вы можете получить все три через easy_install , который, я полагаю, вы уже сделали.
NumPy / SciPy имеют несколько модулей
специально направлено на машину
Обучение / Статистика, включая пакет Clustering и пакет Statistics .
А также пакеты, направленные на
общие вычисления, но которые
сделать много алгоритмов кодирования ML
быстрее, в частности,
Оптимизация и Линейная алгебра .
Есть также SciKit s , not , включенные в базовую NumPy или
Библиотеки SciPy; вам нужно установить их отдельно.
Вообще говоря, каждый SciKit является
набор удобных оберток для
оптимизировать кодирование в данной области. SciKits, которые вы, вероятно, найдете наиболее подходящими: ann (приблизительный ближайший сосед) и learn (набор алгоритмов регрессии и классификации ML / Statistics, например, Logistic Regression, Multi -Слой перцептрон, машина опорных векторов).