Программа в Python Machine Learning( Scikit-learn, Tensorflow и Keras)
базовой структурой. В этой структуре мы имеем ряд файлов, "main", "handler", "utils" и "helpers".
Название файла с данными: REE_hist_Tenerife.csv (В файле представлены данные по производству возобновляемой энергии по типу производства, количеству и пр.) Наша цель - предсказать будущие данные, в частности, спрос, и определить, какой алгоритм машинного обучения лучше всего подходит для этого и с каким
подходом. Чтобы достичь этого, необходимо:
- Выполните необходимые преобразования данных чтобы получить чистые и точные данные. Чтобы решить имеющиеся проблемы необходимо делать это по дням. Для этого мы должны сгруппировать данные.
- Представьте данные и убедитесь, что любой человек сможет понять их, чтобы решить проблему. С помощью графиков мы должны объяснить каждый из имеющихся у нас данных (это необходимо сделать в файле .ipynb, даже если в дальнейшем будет использоваться только один из них).
- Использовать различные модели машинного обучения и сравнивать их результаты.
Следует использовать метрики ошибок MAE, RMSE и R2.
- Используйте алгоритмы, в частности, дерево решений, SVM, KNN, нейронная сеть LSTM и линейная регрессия с регуляризацией Лассо, Ридж и Эластик.
- Используйте правильные подходы при работе с временными рядами. Важно правильно определить проблемы и найти индивидуальные решения для каждой из них. Выберите хотя бы один из подходов, которые мы видели вфайле временного ряда .ipynb.
ИТОГ проекта - это zip-файл с файлами python, из которых состоит весь процесс, и, с другой стороны, отчет в формате .pdf с кратким описанием проекта, как вы организовали код и какие трудности возникли. Он должен обладать следующими характеристиками:
- Какими библиотеками вы пользовались и для чего? Общее описание того, как вы организовали код в различные классы/функции/структуры данных и файлы, и почему. Какую работу вы провели, чтобы убедиться, что в данных не было ошибочно принятых значений? Какие подходы вы использовали и почему? Какова средняя ошибка на день недели и на каждую сгенерированную модель?
Покажите графики, чтобы вы могли видеть, как прогноз обучения согласуется с фактическими данными, которые вы использовали для обучения. Покажите графики, чтобы можно было увидеть, как обученный прогноз сочетается с фактическими данными, использованными для прогнозирования.
Прогноз на 1 месяц на основе данных, на которых обучалась модель.
ЗАДАЧА:
- Функциональный код: необходимо правильно решить поставленную задачу. Это включает в себя соблюдение предположения, структурирование данных, проверку того, что среди них нет ни одного ошибочно взятого, разделение их на обучающие и тестовые и использование одного из рассмотренных подходов к временным рядам и алгоритмов Machine Learning и Deep Learning.
- Создайте надежный и функциональный проект на Python, соблюдая то, что было запрошено ранее. Избегайте избыточного кода, используя функции, а также комментируйте и структурируйте код.
- Хорошо структурированный отчет в формате PDF, отвечающий на поставленные
вопросы.
- Четкое и репрезентативное графическое представление данных.
ПОМНИТЕ:
1. У вас есть шаблоны ipynb для Neural Networks, Time Series и Machine Learning for Time Series.
2. При упорядочивании данных о РЗЭ Тенерифе по дням, или по тому, что мы
собираемся тестировать, нам нужно иметь возможность разделить полученные обучающий и тестовый наборы на 7 для проверки подходов. В этом случае я рекомендую не использовать данные во время коронавируса, что ухудшит результаты.
Код для заданных данных REE, которые должны быть возведены в квадрат из семи блоков, будет выглядеть следующим образом:
data = dataset.iloc[5:-263].values
train, test = data[:-322], data[-322:]
Где dataset - набор данных REE по дням. Обучающие и тестовые наборы данных Numpy. Таким образом, метод .values преобразует фрейм данных Pandas в массив Numpy.
3. Чтобы облегчить получение результатов, необходимо изменить некоторые дни, которые были взяты неправильно. На графике (I) *(загружен в pdf), который представляет спрос в день, мы можем видеть, что тот, который опускается до 0, на самом деле опускается еще больше.
Исправление этого является частью функционального кода.
4. В .ipnyb, просмотренном в классе, есть код, созданный на основе различных
подходов, алгоритмы ML и DL, а также ошибки. Необходимо понять и
использовать его для завершения проекта.
5. Модели Support Vector Machine и Naives Bayes требуют, чтобы выходные данные были одномерными. В зависимости от подхода это может быть не так, поэтому помните об этом, чтобы обосновать его в отчете, когда увидите, что при его выполнении возникает ошибка.