{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "660798fa-cf08-4cfd-b553-c6d750d7e7ad", "metadata": {}, "outputs": [], "source": [ "import algo_test" ] }, { "cell_type": "code", "execution_count": 11, "id": "ff42670b-301d-4ee1-8da2-6a658fc5f286", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'_id': ObjectId('66ebba82a3b7dbe82538e34a'), 'name': 'Alice', 'age': 25, 'city': 'Beijing'}\n", "\n" ] } ], "source": [ "import subprocess\n", "\n", "# 使用 subprocess 执行 .py 文件\n", "result = subprocess.run(['python', 'algo_test.py'], capture_output=True, text=True)\n", "\n", "# 打印输出\n", "print(result.stdout)" ] }, { "cell_type": "code", "execution_count": null, "id": "b47d615a-5953-43c0-9289-387d5c823a7a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2024-09-26 14:20:47,541 - waitress - INFO - Serving on http://0.0.0.0:10091\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Program starts execution!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2024-09-26 14:21:19,377 - evaluation_accuracy log - INFO - {'formulaType': 'DAY_SHORT_ACCURACY', 'cap': '225', 'province': 'E15', 'electricType': 'E2', 'stationCode': 'J00260', 'col_time': 'C_TIME', 'col_rp': '实际功率', 'col_pp': 'predict', 'mongodb_connection': 'mongodb://root:Jydl3377@192.168.1.33:27017', 'mongodb_database': 'algorithm_platform', 'mongodb_read_table': 'J00260NWP_records_predict', 'mongodb_write_table': 'J00260NWP_records_accuracy'}\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Program starts execution!\n", "args {'formulaType': 'DAY_SHORT_ACCURACY', 'cap': '225', 'province': 'E15', 'electricType': 'E2', 'stationCode': 'J00260', 'col_time': 'C_TIME', 'col_rp': '实际功率', 'col_pp': 'predict', 'mongodb_connection': 'mongodb://root:Jydl3377@192.168.1.33:27017', 'mongodb_database': 'algorithm_platform', 'mongodb_read_table': 'J00260NWP_records_predict', 'mongodb_write_table': 'J00260NWP_records_accuracy'}\n", "accuray compute successfully!\n", "Collection 'J00260NWP_records_accuracy already exist, deleted successfully!\n", "data inserted successfully!\n", "Program execution ends!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2024-09-26 14:25:11,738 - evaluation_accuracy log - INFO - {'formulaType': 'DAY_SHORT_ACCURACY', 'cap': '225', 'province': 'E15', 'electricType': 'E2', 'stationCode': 'J00260', 'col_time': 'C_TIME', 'col_rp': '实际功率', 'col_pp': 'predict', 'mongodb_connection': 'mongodb://root:Jydl3377@192.168.1.33:27017', 'mongodb_database': 'algorithm_platform', 'mongodb_read_table': 'J00260NWP_records_predict', 'mongodb_write_table': 'J00260NWP_records_accuracy'}\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Program starts execution!\n", "args {'formulaType': 'DAY_SHORT_ACCURACY', 'cap': '225', 'province': 'E15', 'electricType': 'E2', 'stationCode': 'J00260', 'col_time': 'C_TIME', 'col_rp': '实际功率', 'col_pp': 'predict', 'mongodb_connection': 'mongodb://root:Jydl3377@192.168.1.33:27017', 'mongodb_database': 'algorithm_platform', 'mongodb_read_table': 'J00260NWP_records_predict', 'mongodb_write_table': 'J00260NWP_records_accuracy'}\n", "accuray compute successfully!\n", "Collection 'J00260NWP_records_accuracy already exist, deleted successfully!\n", "data inserted successfully!\n", "Program execution ends!\n" ] } ], "source": [ "%run evaluation_accuracy.py" ] }, { "cell_type": "code", "execution_count": 5, "id": "752c3ab3-cdef-47b0-9d9a-805348d30d6e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.9.19 (main, May 6 2024, 20:12:36) [MSC v.1916 64 bit (AMD64)]\n" ] } ], "source": [ "'formulaType': 'DAY_SHORT_ACCURACY',\n", " 'cap': '225',\n", " 'province': 'E15',\n", " 'electricType': 'E2',\n", " 'stationCode': 'J00260'" ] }, { "cell_type": "code", "execution_count": 5, "id": "acc6aa2a-0f1d-43f3-985d-cd37c4a5ac6e", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Output:\n", "Program starts execution!\n", "args: Namespace(formulaType='DAY_SHORT_ACCURACY', cap='225', province='E15', electricType='E2', stationCode='J00260', col_time='C_TIME', col_rp='实际功率', col_pp='predict', mongodb_connection='mongodb://root:Jydl3377@192.168.1.33:27017', mongodb_database='algorithm_platform', mongodb_read_table='J00260NWP_records_predict', mongodb_write_table='J00260NWP_records_accuracy')\n", "accuray compute successfully!\n", "Collection 'J00260NWP_records_accuracy already exist, deleted successfully!\n", "data inserted successfully!\n", "Program execution ends!\n", "\n", "Error:\n", "\n" ] } ], "source": [ "import subprocess\n", "\n", "# 构建命令\n", "command = [\n", " \"python\", \"accuracy.py\",\n", " \"--formulaType\", \"DAY_SHORT_ACCURACY\",\n", " \"--cap\",\"225\",\n", " \"--province\",\"E15\",\n", " \"--electricType\",\"E2\",\n", " \"--stationCode\",\"J00260\",\n", " \"--col_time\",\"C_TIME\",\n", " \"--col_rp\",\"实际功率\",\n", " \"--col_pp\",\"predict\",\n", " \"--mongodb_connection\", \"mongodb://root:Jydl3377@192.168.1.33:27017\",\n", " \"--mongodb_database\", \"algorithm_platform\",\n", " \"--mongodb_read_table\", \"J00260NWP_records_predict\",\n", " \"--mongodb_write_table\", \"J00260NWP_records_accuracy\",\n", "]\n", "\n", "# 使用 subprocess.run 来执行命令\n", "result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)\n", "\n", "# 输出结果和错误信息\n", "print(\"Output:\")\n", "print(result.stdout)\n", "print(\"Error:\")\n", "print(result.stderr)" ] }, { "cell_type": "code", "execution_count": null, "id": "1cb1c745-0673-4dfa-968f-8985e788852a", "metadata": {}, "outputs": [], "source": [ "\"--electricType\",\"E2\",\n", "\"--stationCode\",\"J00260\",\n", "\"--col_time\",\"C_TIME\",\n", "\"--col_rp\",\"实际功率\",\n", "\"--col_pp\",\"predict\",\n", "\"--mongodb_connection\", \"mongodb://root:Jydl3377@192.168.1.33:27017\",\n", "\"--mongodb_database\", \"algorithm_platform\",\n", "\"--mongodb_read_table\", \"J00260NWP_records_predict\",\n", "\"--mongodb_write_table\", \"J00260NWP_records_accuracy\"," ] }, { "cell_type": "code", "execution_count": null, "id": "14a9feb4-5625-45d7-8e0f-6a8dea8c9f24", "metadata": {}, "outputs": [], "source": [ "docker run evaluation_accuracy --formulaType \"DAY_SHORT_ACCURACY\" --cap \"225\" --province \"E15\" --electricType \"E2\" --stationCode \"J00260\" --col_time \"C_TIME\" --col_rp \"实际功率\" --col_pp \"predict\" --mongodb_connection \"mongodb://root:Jydl3377@192.168.1.33:27017\" --mongodb_database \"algorithm_platform\" --mongodb_read_table \"J00260NWP_records_predict\" --mongodb_write_table \"J00260NWP_records_accuracy\" " ] }, { "cell_type": "code", "execution_count": null, "id": "c0d791f8-12d8-4ab9-b561-b474e2a739f0", "metadata": {}, "outputs": [], "source": [ "docker run evaluation_accuracy.py --numerical_features ','.join(['NWP预测总辐射', 'NWP-10米预测风速', 'NWP-10米预测风向', 'NWP-30米预测风速', 'NWP-30米预测风向','NWP-50米预测风速', 'NWP-50米预测风向', 'NWP-70米预测风速', 'NWP-70米预测风向','NWP-90米预测风速', 'NWP-90米预测风向', 'NWP-110米预测风速', 'NWP-110米预测风向','NWP-150米预测风速', 'NWP-150米预测风向', 'NWP-170米预测风速', 'NWP-170米预测风向','NWP-低云量', 'NWP-中云量', 'NWP-高云量', 'NWP-总云量', 'NWP-晴空总辐射', 'NWP-法相直辐射','NWP-总降水强度', 'NWP-温度', 'NWP-湿度', 'NWP-气压']) --categorical_features ','.join([]) --label \"实际功率\" --learning_rate \"0.01\" --num_leaves \"31\" --min_data_in_leaf \"21\" --mongodb_connection \"mongodb://root:Jydl3377@192.168.1.33:27017\" --mongodb_database \"algorithm_platform\" --mongodb_read_table \"J00260NWP_records\" --mongodb_write_table \"models\" --model_name \"lightgbm_model\"" ] }, { "cell_type": "code", "execution_count": 7, "id": "9ca17599-e453-479c-a9b3-b1d15f2d54de", "metadata": {}, "outputs": [], "source": [ "import lightgbm as lgb\n", "import argparse\n", "import pandas as pd \n", "import numpy as np\n", "from pymongo import MongoClient\n", "import pickle\n", "client = MongoClient(\"mongodb://root:Jydl3377@192.168.1.33:27017\")\n", "db = client[\"algorithm_platform\"]\n", "# collection = db[\"models\"]\n", "# model_data = collection.find_one({\"model_name\": \"lightgbm_model\"})\n", "# if model_data is not None:\n", "# # 假设模型存储在字段 'model' 中\n", "# model_binary = model_data['model'] # 确保这个字段是存储模型的二进制数据\n", "\n", "# # 反序列化模型\n", "# model = pickle.loads(model_binary)\n", "# model" ] }, { "cell_type": "code", "execution_count": 8, "id": "ff940fec-55fd-4cbd-99ef-5564c6632efb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "90.50265625" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "collection = db[\"J00260NWP_records_accuracy\"] # 集合名称\n", "data_from_db = collection.find() # 这会返回一个游标(cursor)\n", "# 将游标转换为列表,并创建 pandas DataFrame\n", "df = pd.DataFrame(list(data_from_db))\n", "df['accuracy'].mean()" ] }, { "cell_type": "code", "execution_count": 42, "id": "8c55f915-4db7-4859-b449-07b2891635bc", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | _id | \n", "date | \n", "accuracy | \n", "
---|---|---|---|
3 | \n", "66f24cdb7783ad7f1a7a270c | \n", "2024-05-05 | \n", "92.48 | \n", "
4 | \n", "66f24cdb7783ad7f1a7a270d | \n", "2024-05-06 | \n", "92.05 | \n", "
5 | \n", "66f24cdb7783ad7f1a7a270e | \n", "2024-05-07 | \n", "90.81 | \n", "
6 | \n", "66f24cdb7783ad7f1a7a270f | \n", "2024-05-08 | \n", "94.91 | \n", "
7 | \n", "66f24cdb7783ad7f1a7a2710 | \n", "2024-05-09 | \n", "84.49 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
123 | \n", "66f24cdb7783ad7f1a7a2784 | \n", "2024-09-07 | \n", "91.89 | \n", "
124 | \n", "66f24cdb7783ad7f1a7a2785 | \n", "2024-09-08 | \n", "83.68 | \n", "
125 | \n", "66f24cdb7783ad7f1a7a2786 | \n", "2024-09-10 | \n", "91.89 | \n", "
126 | \n", "66f24cdb7783ad7f1a7a2787 | \n", "2024-09-11 | \n", "88.76 | \n", "
127 | \n", "66f24cdb7783ad7f1a7a2788 | \n", "2024-09-12 | \n", "86.05 | \n", "
125 rows × 3 columns
\n", "\n", " | _id | \n", "C_TIME | \n", "理论功率 | \n", "第1个设备轮毂风速 | \n", "实际功率 | \n", "实时环境数据 | \n", "预测功率 | \n", "NWP预测总辐射 | \n", "NWP-10米预测风速 | \n", "NWP-10米预测风向 | \n", "... | \n", "NWP-中云量 | \n", "NWP-高云量 | \n", "NWP-总云量 | \n", "NWP-晴空总辐射 | \n", "NWP-法相直辐射 | \n", "NWP-总降水强度 | \n", "NWP-温度 | \n", "NWP-湿度 | \n", "NWP-气压 | \n", "predict | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
51 | \n", "66ecc86f1075358d129a1e72 | \n", "2024-05-05 21:30:00 | \n", "128.71 | \n", "8.98 | \n", "108.10 | \n", "-0.99 | \n", "93.61 | \n", "0.0 | \n", "3.6149 | \n", "58.2727 | \n", "... | \n", "9.0536 | \n", "44.5345 | \n", "46.8773 | \n", "0.0 | \n", "0.0 | \n", "0.0082 | \n", "14.4073 | \n", "22.4573 | \n", "890.2109 | \n", "76.442233 | \n", "
52 | \n", "66ecc86f1075358d129a1e73 | \n", "2024-05-05 21:45:00 | \n", "129.84 | \n", "8.98 | \n", "108.34 | \n", "-0.99 | \n", "92.70 | \n", "0.0 | \n", "3.5280 | \n", "56.5700 | \n", "... | \n", "8.3291 | \n", "43.2064 | \n", "45.5273 | \n", "0.0 | \n", "0.0 | \n", "0.0091 | \n", "14.1027 | \n", "23.0645 | \n", "890.3364 | \n", "75.284865 | \n", "
53 | \n", "66ecc86f1075358d129a1e74 | \n", "2024-05-05 22:00:00 | \n", "136.81 | \n", "8.98 | \n", "111.86 | \n", "-0.99 | \n", "91.75 | \n", "0.0 | \n", "3.5088 | \n", "55.0418 | \n", "... | \n", "7.3591 | \n", "41.9909 | \n", "44.1800 | \n", "0.0 | \n", "0.0 | \n", "0.0100 | \n", "13.8064 | \n", "23.6636 | \n", "890.4555 | \n", "75.199564 | \n", "
3 rows × 35 columns
\n", "\n", " | _id | \n", "C_TIME | \n", "理论功率 | \n", "第1个设备轮毂风速 | \n", "实际功率 | \n", "实时环境数据 | \n", "预测功率 | \n", "NWP预测总辐射 | \n", "NWP-10米预测风速 | \n", "NWP-10米预测风向 | \n", "... | \n", "NWP-中云量 | \n", "NWP-高云量 | \n", "NWP-总云量 | \n", "NWP-晴空总辐射 | \n", "NWP-法相直辐射 | \n", "NWP-总降水强度 | \n", "NWP-温度 | \n", "NWP-湿度 | \n", "NWP-气压 | \n", "predict | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
51 | \n", "66ecc86f1075358d129a1e72 | \n", "2024-05-05 21:30:00 | \n", "128.71 | \n", "8.98 | \n", "108.10 | \n", "-0.99 | \n", "93.61 | \n", "0.0 | \n", "3.6149 | \n", "58.2727 | \n", "... | \n", "9.0536 | \n", "44.5345 | \n", "46.8773 | \n", "0.0 | \n", "0.0 | \n", "0.0082 | \n", "14.4073 | \n", "22.4573 | \n", "890.2109 | \n", "76.442233 | \n", "
52 | \n", "66ecc86f1075358d129a1e73 | \n", "2024-05-05 21:45:00 | \n", "129.84 | \n", "8.98 | \n", "108.34 | \n", "-0.99 | \n", "92.70 | \n", "0.0 | \n", "3.5280 | \n", "56.5700 | \n", "... | \n", "8.3291 | \n", "43.2064 | \n", "45.5273 | \n", "0.0 | \n", "0.0 | \n", "0.0091 | \n", "14.1027 | \n", "23.0645 | \n", "890.3364 | \n", "75.284865 | \n", "
53 | \n", "66ecc86f1075358d129a1e74 | \n", "2024-05-05 22:00:00 | \n", "136.81 | \n", "8.98 | \n", "111.86 | \n", "-0.99 | \n", "91.75 | \n", "0.0 | \n", "3.5088 | \n", "55.0418 | \n", "... | \n", "7.3591 | \n", "41.9909 | \n", "44.1800 | \n", "0.0 | \n", "0.0 | \n", "0.0100 | \n", "13.8064 | \n", "23.6636 | \n", "890.4555 | \n", "75.199564 | \n", "
3 rows × 35 columns
\n", "