[英]Python Scheduled Script to a docker container
我已經構建了一個 RandomForest 回歸模型作為 python 腳本。 它接受兩個 csv 文件訓練和測試,執行訓練和測試。 然后打印預測和准確性,最后將預測保存為 csv 文件。 我已將代碼文件保存為 RandomForest.py。 之后,我為 RandomForest.py 創建了一個批處理執行 (.bat) 文件。 之后,我使用 Windows 任務計划程序來安排我的 Python 腳本(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
您可以在 docker 容器中運行cron 作業。
此 cron 字符串將每周運行一次0 0 * * 0
。 從這里得到這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.