Giter Site home page Giter Site logo

mipt_data_mining_in_action_2016's People

Contributors

aguschin avatar ilirhin avatar justheuristic avatar kirillbobyrev avatar ohld avatar persiyanov avatar senya-ashukha avatar stevenrush avatar vkantor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mipt_data_mining_in_action_2016's Issues

Повторяющиеся элементы в рекомендациях

Нужно ли при построении рекомендации в списке просмотренных товаров выбирать уникальные элементы, чтобы не рекомендовать один и тот же товар несколько раз?

Резултат для precision@5 и recall@5 отличается больше, чем на 0.01.

Не устанавливается pylab

Здравствуйте. У меня Mac OS X El Capitan. На попытку установить pylab терминал выдаёт: Collecting pylab:
Collecting pylon Could not find a version that satisfies the requirement pylab (from versions: )
No matching distribution found for pylab.
Либо если через Анаконду:
Jayms17-2:~ Anna$ conda install pylab
Fetching package metadata ......
Solving package specifications: .
PackageNotFoundError: Package not found: '' Package missing in current osx-64 channels:

  • pylab

Close matches found; did you mean one of these?

pylab: impyla

You can search for packages on anaconda.org with

anaconda search -t conda pylab

И я не знаю как это обойти. Подскажите, пожалуйста, что делать?

Precision@5 и recall@5

Здравствуйте. Когда считаем Precision@5 и recall@5 в сессии, где меньше 5 просмотренных товаров, мы рекомендуем все просмотренные товары и считаем точность и полноту на них, или вообще не учитываем такие сессии, ничего на них не считаем и в оценках средних точности и полноты их не учитываем?

Deepcopy и base_estimator

В задании по бустингу необходимо каждый раз обучать новое дерево и добавлять его в список estimators. Обучать одно и тоже дерево (base_estimator) естественно неправильно, поэтому должен быть способ копировать это дерево, за этим я предполагаю и импортится deepcopy.
Я пишу вот так:
estimator=deepcopy(self.base_regressor)
estimator.fit(X,grad)
self.estimators_.append(estimator)
Но ничего не работает, потому что если вместе deepcopy(..) писать просто DecisionTreeRegressor, то всё работает прекрасно.
Что я делаю не так?

Неограниченное потребление оперативной памяти cnn, lasagne, ubuntu 16.04

Сверточная нейронная сеть с парой слоев (элементарный пример) при обучении начинает линейно увеличивать потребление оперативной памяти (вплоть до 16гб + 10 гб файла подкачки). Слышал от ребят, что такая проблема встречалась, может кто знает, в чем дело?
Стоит ubuntu 16.04 (под windows данной проблемы нет).
Anaconda 2.7 64 bit
Последние версии lasagne и theano.

ImportError: cannot import name 'stable_cumsum'

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

from sklearn.model_selection import train_test_split

выдает такую ошибку:
from ..utils.extmath import stable_cumsum
ImportError: cannot import name 'stable_cumsum'

image

sklearn у меня установлен. Что я сделал не так?

Заранее спасибо!

LaTex matplotlib

Здравствуйте, возникает проблема при попытке использования LaTex в matplotlib: графики 3х элементарных функций из задания по Python рисуются отлично до тех пор, пока не используется LaTex. Если написать:

rc('text', usetex=True),

то возникает ошибка

RuntimeError: LaTeX was not able to process the following string:
'lp'
Here is the full report generated by LaTeX:

<matplotlib.figure.Figure at 0x11501bf90>,

от которой спасает только перенесение всего кода в новый ноутбук. В чем может быть причина?

theano, логрегрессия

Ошибка в логрегрессии в задании по theano. Не представляю, что с этим делать :(


UnicodeEncodeError Traceback (most recent call last)
in ()
2
3 for i in range(5):
----> 4 loss_i = train_function(X_train,y_train)
5 print "loss at iter %i:%.4f"%(i,loss_i)
6 print "train auc:",roc_auc_score(y_train,predict_function(X_train))

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/theano/compile/function_module.pyc in call(self, *args, **kwargs)
869 node=self.fn.nodes[self.fn.position_of_error],
870 thunk=thunk,
--> 871 storage_map=getattr(self.fn, 'storage_map', None))
872 else:
873 # old-style linkers raise their own exceptions

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/theano/gof/link.pyc in raise_with_op(node, thunk, exc_info, storage_map)
176 for subtr in tr:
177 traceback.print_list(subtr, sio)
--> 178 detailed_err_msg += str(sio.getvalue())
179 else:
180 hints.append(

UnicodeEncodeError: 'ascii' codec can't encode characters in position 1486-1498: ordinal not in range(128)

Градиентный бустинг learning_rate

На каком шаге в градиентном бустинге добавляется коэффициент learning_rate: до последнего шага, в котором оптимизируется коэффициент перед добавляемым новым деревом или после этого шага?

Веса нейросети почти не меняются в процессе обучения

Я использую сверточную нейросеть со следующей архитектурой:
input_layer = lasagne.layers.InputLayer(shape=(None, 3, 32, 32), input_var=input_X)
conv1 = lasagne.layers.Conv2DLayer(input_layer, num_filters = 16, filter_size = (10, 10))
pool1 = lasagne.layers.MaxPool2DLayer(conv1, pool_size = (2, 2))
dense1 = lasagne.layers.DenseLayer(pool1, num_units = 50, nonlinearity = sigmoid)
dense_output = lasagne.layers.DenseLayer(dense1, num_units = 10, nonlinearity=softmax)

Все функции для обучения скопированы с домашки 3 (mnist). Там свертка с примерно такой же архитектурой работает прекрасно (98.5-98.6%).

Когда ставлю ее обучаться на датасете cifar, loss меняется лишь в пределах 10^(-4), а качество на трейне и тесте не меняется за 100 эпох никак, оставаясь на уровне около 10%. Правильность передачи данных на вход нейросети проверял (когда передача была неправильной, качество скакало на уровне 10 +- 1%, а как исправил - перестало меняться). Не подскажете, с чем это может быть связано?

Как открыть cifar на 3м питоне?

На 3м питоне функция load_CIFAR_batch

def load_CIFAR_batch(filename):
    """ load single batch of cifar """
    with open(filename, 'rb') as f:
        datadict = pickle.loads(f, fix_imports=True, encoding="bytes", errors="strict")
        X = datadict['data']
        Y = datadict['labels']
        X = X.reshape(10000, 3, 32, 32).transpose(0,2,3,1).astype("float")
        Y = np.array(Y)
    return (X, Y)

выдает ошибку 'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)
Что делать?

Как работать с loss?

Добрый вечер, пара вопросов насчет вот этой функции, вопросы помечены в комментах:
def loss(self, X_batch, y_batch, reg):
"""Logistic Regression loss function
Inputs:
- X: N x D array of data. Data are D-dimensional rows
- y: 1-dimensional array of length N with labels 0-1, for 2 classes
Returns:
a tuple of:
- loss as single float
- gradient with respect to weights w; an array of same shape as w
"""
dw = np.zeros_like(self.w) # initialize the gradient as zero
loss = 0
# Compute loss and gradient. Your code should not contain python loops.

    pred = self.predict(X_batch)
    loss = hl(y_batch , pred) #hamming function
    dw = X_batch.transpose() * (pred - y_batch).transpose()
    dw /= X_batch.shape[0]


    # Right now the loss is a sum over all training examples, but we want it
    # to be an average instead so we divide by num_train.
    # Note that the same thing must be done with gradient.

<-----Что здесь вообще надо сделать и зачем это??? Почему моя ошибка - это сумма по всем выборкам?

    # Add regularization to the loss and gradient.
    # Note that you have to exclude bias term in regularization.
    <--------------Как исключить "термин смещения"?

    loss *= reg
    dw *= reg

    return loss, dw

Не подключаются модули

Столкнулся с такой проблемой:
screen shot 2016-10-26 at 20 15 15
Как это можно исправить? Ничего в структуре, поставляемой заданием, я не менял

Автоэнкодер target

Насколько я понимаю принципы тренировки любого классификатора с обучением, мы берем тренировочную выборку данных с классами (обучающую), запускаем классификатор и сравниваем выданный им класс для строки выборки с реально записанным классом для этой строки. Т.е. мы подбираем функцию F(X_train)->Y_train, так, чтобы в правой части максимально близко было равно левой части.
Я не понял, что у нас является Train_Y в в коде обучения автоэнкодера. Я плохо разбираюсь в коде lasagne и theano, но здесь
http://joxi.ru/gmvRYX0hx7nv7m у нас 2 раза X_train
и в коде http://joxi.ru/823OLYaf6o38G2
здесь вроде бы target_x похоже на y_train, но я не нашел выше указания, что target_x = y_train.
Т.е. если не понятно написал, где у нас в коде автоэнкодера заданы реальные лэйблы обучающей выборки, на которых и тренируем нашу сеть?

cPickle module not found

При выполнении задания 4 по трендам выдает такую ошибку:

ImportError: No module named 'cPickle'

Пытаюсь через pip установить или проапгрейдить cPickle:

pip install --upgrade cPickle
pip install cPickle

Выдает такой результат:

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-o0zr4qpl/cPickle/
При этом другие модули ставятся и апгрейдятся нормально.

Дело в том, что у меня питон 3?

задание на коллекции.

Хочу уточнить условие.
Я правильно понимаю, что мы не рассматриваем окна, выходящие за границу потока, и получившийся поток получается короче на 999 элементов?

base/hw1 append_biases

Не работает метод,а вообще не работает sparse.hstack()

`X_train_sample = X_train[:10000]
y_train_sample = y_train[:10000]

clf = LogisticRegression()
clf.w = np.random.randn(X_train_sample.shape[1]+1) * 2
LogisticRegression.append_biases(X_train_sample)`

ValueError: could not broadcast input array from shape (10000,2000) into shape (10000)

scr1
scr2

Wabbit Wappa

Всем привет!
Долго мучался с установкой vowpal_wabbit отсюда (так и не получилось) на Ubuntu:

https://github.com/JohnLangford/vowpal_wabbit#compiling

В итоге с легкостью установил отсюда:

https://github.com/mokelly/wabbit_wappa

вместе с какой-то надстройкой для python (Wabbit Wappa). Не знаю как это повлияет на работу, поэтому и завёл эту тему. С другой стороны, я не вижу проблемы, и это облегчит многим страдальцам установку этого пакета. А заодно, если верить их словам, и работу улучшит.

/base/hw1 Import error

from sklearn.model_selection import train_test_split

ImportError: cannot import name cluster

Как с этим жить? или надо train_test_split брать из какой-то другой библиотеки?

from __future__ import division

Может стоит добавлять эту строчку в файлы домашки? а то люди, выросшие на python 3 мучаются, не понимая, почему у них какой-нибудь check_grad() не сходится.

производные и матрицы

Есть ли способ считать производные от выражения с матрицами прямо в матричном виде? Например производную от log loss.

Вопрос по потоку данных

Какие должны быть ориентировочные желательные времена подсчета? В задании написано "в течении часа", но вроде как это очень много, самый простой алгоритм без учета особенностей каждого из потоков выдает мне ~25 минут по каждому.

Часть "Соберем нейросеть".

"Мы хотим сделать нейросеть, которая будет принимать картинку (вектор 28 x 28) и сжимать ее в вектор длины 10 (к примеру). Нашим основным инструментом будет lasagne.layers.DenseLayer."
а где можно получить информацию о том, как описывается нейросеть в lasagne? Курс ориентирован на тех, кто уже делал нейросети на Python?
http://joxi.ru/YmEVy5WSZd9PQ2
тут поставил средний слой "тупо по аналогии", взяв его из примеров в http://lasagne.readthedocs.io/en/latest/modules/layers/dense.html

почему у нас в последнем слое как вводный слой берется первый слой (net), а не средний (mid)?

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

Я один такой "тупой" или все остальные просто молчат?:)

np.random.choice

Если я правильно понял, после того как мы разделили исходную выборку на тренировочную и тестовую, нам необходимо в logistic_regression.py разбить X_train и y_train на батчи размером 200 и высчитывать функцию ошибки на каждом батче, а не на каждом элементе. np.random.choice принимает на вход вектор. Собственно, вопрос: как обучающие sparse-матрицы преобразовать в вектор?

Модуль utils не найден

При попытке работы с блокнотом получаю вот такую ошибку:

ImportError: No module named utils

Где можно найти этот модуль utils?

Поиск приводит на mlxtend, но мне кажется, это немного не то.

Скорость обучения

Как определить сколько потребуется времени на обучение сети?
Сколько должно занимать в среднем?
Какие есть варианты ускорения обучения, если у меня есть только ноут с виндой? Будет ли принципиально лучше, если поставить юбунту?
Интересует задача для трека "Тренды" - стоит уже более 3х часов, даже 1 эпоха не прошла.

гугл форма для industry/hw0

Если я правильно понял, то в задачке на выдачу рекомендаций у нас есть два алгоритма - рекомендовать из просмотренных по общей статистике просмотров, и рекомендовать из просмотренных по общей статистике покупок.
В форму требуется внести average recall и average precision для двух параметров (1 и 5), но для какого метода?

Личные данные

Случайно в гугле наткнулся на файл create_all_students.py, в котором есть личные данные участников. Стоит его убрать из открытого доступа. Спасибо!

random_solution.csv

Добрый день, а эти данные проверяются на kaggle, нужно самим их создать или они где-то есть? Я не могу найти на kaggle.

[trends] mid_func not defined

При запуске Cell с TSNE происходит ошибка. mid_func до этого и правда не определен, зато определен в Cell'е "Сдачи домашки". Не уверен как это было задумано, но надо либо определить её до TSNE, либо закинуть визуализацию TSNE уже после сдачи домашки.

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-5-2683586f782c> in <module>()
----> 1 X_mid = mid_func(X_train)[0]
      2 X_tsne = TSNE(n_components=2, n_iter=200).fit_transform(X_mid[:2000])
      3 pylab.scatter(X_tsne[:, 0], X_tsne[:, 1], c=y_train[:2000], cmap=pylab.cm.hot)

NameError: name 'mid_func' is not defined

Ошибка в сверточной сети

Использую нейросеть с простой архитектурой:
input_layer = lasagne.layers.InputLayer(shape=(None,3, 32, 32), input_var=input_X)
nnet = Conv2DLayer(input_layer, num_filters=7, filter_size=(5,5))
dense_output = lasagne.layers.DenseLayer(nnet,num_units = 10, nonlinearity=softmax)

Когда начинаю процесс обучения (код обучения уже был дан) возникает ошибка:
BaseCorrMM: Failed to allocate output of 50 x 7 x 28 x -1
Подскажите, что не так.
( Ссылка на ноутбук https://github.com/Ahan05/MIPT_Data_Mining_In_Action_2016/blob/master/trends/hw4/cifar.ipynb )

AttributeError: module 'xgboost' has no attribute 'DMatrix'

Добрый день!
Пробовал бенчмар по спортивной секции и скачал xgboost. Почему-то получаю следующую ошибку. Пытался ее гуглить, но ничего особо не понял.

AttributeError Traceback (most recent call last)
in ()
----> 1 Xdatatrain = xgboost.DMatrix(data = xtrain, label = ytrain)
2 Xdatatest = xgboost.DMatrix(data = xval, label = yval)
3
4 plst = list(param.items())
5 watchlist = [(Xdatatrain, 'train'), (Xdatatest, 'eval')]

AttributeError: module 'xgboost' has no attribute 'DMatrix'

что делать?

[industry] hw_0_result

Всем привет!
Получила результаты, проверила вручную на коротких входных данных, тут все ок. Проблема в том, что итоговые ответы по выборкам train и test после запятой имеют 3-4 нуля. То есть м.б. я получила неправильный результат/ не поняла условия или определения/ так и должно быть, хотелось бы получить комментарий.

can't import name 'load_mnist'

при подклчении библиотек после строчки from utils import load_mnist консоль сообщает об ошибке в импорте переменной load_mnist из utils,
с чем это связано? :(

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.