簡體   English   中英

Python 調度腳本到 docker 容器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM