Я построил модель регрессии RandomForest в виде python сценария. Он принимает два файла csv: тренировка и тестирование, проводит обучение и тестирование. Затем он печатает прогнозы и точность и, наконец, сохраняет прогнозы в виде файла CSV. Я сохранил файл кода как RandomForest.py. После чего я создал файл пакетного выполнения (.bat) для RandomForest.py. После этого я использовал Windows Task Scheduler, чтобы запланировать выполнение моего Python Script (RandomForest.py) один раз в неделю. После этого я экспортировал запланированное задание в виде файла. xml. Мой вопрос: я хочу поместить этот файл. xml в контейнер docker, чтобы он запускался один раз в неделю.
Код RandomForest.py:
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import numpy as np
import pandas as pd
class Modelrf():
def __init__(self, train = "train.csv", test = "test.csv"):
self.X_train = pd.read_csv(train)
self.X_test = pd.read_csv(test)
self.linear_reg = LinearRegression()
self.random_forest = RandomForestRegressor()
def split(self):
self.X_train.dropna(axis=0, subset=['final_hourly_fee'], inplace=True)
self.X_test.dropna(axis=0, subset=['final_hourly_fee'], inplace=True)
self.y_train = self.X_train.final_hourly_fee
self.y_test = self.X_test.final_hourly_fee
def fit(self):
self.model = self.random_forest.fit(self.X_train, self.y_train)
def predict(self):
self.result = self.random_forest.predict(self.X_test)
return self.result
model_instance = Modelrf()
model_instance.split()
model_instance.fit()
model_instance.predict()
print(model_instance.result)
print("Accuracy: ", model_instance.model.score(model_instance.X_test, model_instance.y_test))
output = pd.DataFrame({'Id': model_instance.X_test.index,'Y Original': model_instance.y_test, 'Y predicted':model_instance.result})
output.to_csv('outputTest.csv', index=False)
.bat файл:
python C:\Python\Headstrt\gitlab_pricing\myproject.git\RandomForest.py
pause