Попробуем рекурсивное вычисление чисел Фибоначчи:   def fib(n): if n<2: return n return fib(n-1)+fib(n-2) %timeit fib(20) 100 loops, best of 3: 5.53 ms per loop   Процесс можно ускорить в ~3 раза если выполнить данную операцию в Cython:   %load_ext Cython   %%cython def fib_cython(n): if n<2: return n return fib_cython(n-1)+fib_cython(n-2)   %timeit fib_cython(20)…

Suppose we need to convert array members to integers in an old-fashioned way via a for loop (not as x.astype(int)) : import numpy as np x = np.array([[ 2016., 1., 1.], [ 2016., 12., 31.]]) x array([[ 2.01600000e+03, 1.00000000e+00, 1.00000000e+00], [ 2.01600000e+03, 1.20000000e+01, 3.10000000e+01]]) In a for loop this would have been achieved as: y…

%pwd ‘/home/sergey/Py_Matplotlib’ При отображении двух графиков с двумя осями Y масштаб дополнительной оси Y не всегда являтся оптимальным. Например, на графике ниже не вполне понятно где начинается и где заканчивается «медвежий» рынок. plt.rcParams['figure.figsize'] = (15,3) %load_ext rpy2.ipython %%R -o micex library(rusquant) getSymbols(‘MICEX’, src=’Finam’, from =’1970-01-01′) micex <- data.frame(MICEX) micex.index = micex.index.to_datetime() mx = micex['2007':'2009'] def…

  Иногда позиция «лэйблов» данных, которые Matplotlib размещеает автоматически, не является оптимальной. Например, в следующем графике лэйблы по оси Х сдвинуты влево   %load_ext rpy2.ipython plt.rcParams['figure.figsize'] = (15,5)   %%R -o micex library(rusquant) getSymbols(‘MICEX’, src=’Finam’, from =’1970-01-01′) micex <- data.frame(MICEX)   micex.index = micex.index.to_datetime() micex['MICEX.Close'].plot();   Для того, чтобы изменить позицию лэйблов, у тикеров суеществует свойство…

def add_and_sum(x, y): added = x + y summed = added.sum(axis=1) return summed def call_function(): x = np.random.randn(1000, 1000) y = np.random.randn(1000, 1000) return add_and_sum(x, y) x = np.random.randn(3000, 3000) y = np.random.randn(3000, 3000) %lprun -f add_and_sum add_and_sum(x,y) Timer unit: 1e-06 s Total time: 0.104848 s File: <ipython-input-1-d7add890ce66> Function: add_and_sum at line 1 Line #…

pwd ‘/home/sergey/Py_Models_at_Work’ Распределение объема торгов по часам в течение дня неравномерно. Сначала приблизительно оценим эту неравномерность: Шаг 1. Просуммируем объем всех сделок в течение данного часа по всем торговым дням. Шаг 2. Нормируем полученные значения на общую сумму проведенных сделок. usdrub = pd.read_csv(‘./data/SiZ5.csv’,index_col=[0],usecols=[0,5], parse_dates=True) usdrub.columns = ['volume'] (usdrub.groupby(usdrub.index.hour).agg(‘sum’)/usdrub.sum()).\ plot(kind=’bar’, title=’Распределение объема сделок в течение дня’);…

R по сравнению с Python имеет продвинутые возможности отображения финансовой графики. Ниже, я привожу пошаговый алгоритм для построения графика в пакете quantmod на основе данных, передаваемых из Python Шаг 1: Загрузка данных в Python import pandas as pd micex = pd.read_csv(‘micex.csv’, index_col=’Date’, parse_dates=True) Шаг 2: Передача данных в R Передача данных в R происходит при…

import matplotlib.pyplot as plt import numpy as np import pandas as pd df = pd.DataFrame({‘icao’: ['kk','bb', 'a1', 'a1']}) df icao 0 kk 1 bb 2 a1 3 a1 pd.DataFrame(data = {‘icao’: np.unique(df.icao, return_inverse=1)[1]}) icao 0 2 1 1 2 0 3 0

Stochastic Gradient Descent (SGD) — это метод, который подходит как для online обучения, или обучения в режиме реального времени, когда данные поступают постепенно, так и для Big Data. Причина универсальности этого метода состоит в том, что SGD не нужен полный объем данных для решения задач классификации или регрессионного анализа: апдейт модели происходит постепенно, по мере…

import math as mt import numpy as np import collections as cl Допустим, у нас есть список клиентов, интересы которых нам известны. user_items = [ ["Hadoop", "Big Data", "HBase", "Java", "Spark", "Storm", "Cassandra"], ["NoSQL", "MongoDB", "Cassandra", "HBase", "Postgres"], ["Python", "scikit-learn", "scipy", "numpy", "statsmodels", "pandas"], ["R", "Python", "statistics", "regression", "probability"], ["machine learning", "regression", "decision trees", "libsvm"],…

© 2014 In R we trust.
Top
Follow us: