1
0
mirror of https://github.com/newnius/YAO-optimizer.git synced 2025-06-06 06:41:55 +00:00
This commit is contained in:
Newnius 2020-07-01 10:42:55 +08:00
parent 03f8fac400
commit 4fe3b29cda
4 changed files with 129 additions and 117 deletions

View File

@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="0aedafd8-e57e-462a-beda-65af0b91f3df" name="Default Changelist" comment="" /> <list default="true" id="0aedafd8-e57e-462a-beda-65af0b91f3df" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/compare.sh" beforeDir="false" afterPath="$PROJECT_DIR$/compare.sh" afterDir="false" />
<change beforePath="$PROJECT_DIR$/rf.py" beforeDir="false" afterPath="$PROJECT_DIR$/rf.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/serve.py" beforeDir="false" afterPath="$PROJECT_DIR$/serve.py" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@ -22,26 +26,26 @@
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.extensions.open"> <usages-collector id="statistics.file.extensions.open">
<counts> <counts>
<entry key="Dockerfile" value="2" /> <entry key="Dockerfile" value="3" />
<entry key="csv" value="5" /> <entry key="csv" value="8" />
<entry key="gitignore" value="1" /> <entry key="gitignore" value="1" />
<entry key="iml" value="1" /> <entry key="iml" value="1" />
<entry key="md" value="2" /> <entry key="md" value="3" />
<entry key="png" value="7" /> <entry key="png" value="7" />
<entry key="py" value="13" /> <entry key="py" value="14" />
<entry key="sh" value="4" /> <entry key="sh" value="6" />
<entry key="txt" value="2" /> <entry key="txt" value="3" />
</counts> </counts>
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.types.open"> <usages-collector id="statistics.file.types.open">
<counts> <counts>
<entry key="Bash" value="4" /> <entry key="Bash" value="6" />
<entry key="Dockerfile" value="2" /> <entry key="Dockerfile" value="3" />
<entry key="IDEA_MODULE" value="1" /> <entry key="IDEA_MODULE" value="1" />
<entry key="Image" value="7" /> <entry key="Image" value="7" />
<entry key="Markdown" value="2" /> <entry key="Markdown" value="3" />
<entry key="PLAIN_TEXT" value="8" /> <entry key="PLAIN_TEXT" value="12" />
<entry key="Python" value="13" /> <entry key="Python" value="14" />
</counts> </counts>
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.extensions.edit"> <usages-collector id="statistics.file.extensions.edit">
@ -51,17 +55,17 @@
<entry key="dummy" value="5" /> <entry key="dummy" value="5" />
<entry key="gitignore" value="12" /> <entry key="gitignore" value="12" />
<entry key="md" value="234" /> <entry key="md" value="234" />
<entry key="py" value="6069" /> <entry key="py" value="6106" />
<entry key="sh" value="339" /> <entry key="sh" value="546" />
</counts> </counts>
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.types.edit"> <usages-collector id="statistics.file.types.edit">
<counts> <counts>
<entry key="Bash" value="339" /> <entry key="Bash" value="546" />
<entry key="Dockerfile" value="81" /> <entry key="Dockerfile" value="81" />
<entry key="Markdown" value="234" /> <entry key="Markdown" value="234" />
<entry key="PLAIN_TEXT" value="26" /> <entry key="PLAIN_TEXT" value="26" />
<entry key="Python" value="6069" /> <entry key="Python" value="6106" />
</counts> </counts>
</usages-collector> </usages-collector>
</session> </session>
@ -71,7 +75,7 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/serve.py"> <entry file="file://$PROJECT_DIR$/serve.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1185"> <state relative-caret-position="108">
<caret line="79" column="24" lean-forward="true" selection-start-line="79" selection-start-column="24" selection-end-line="79" selection-end-column="24" /> <caret line="79" column="24" lean-forward="true" selection-start-line="79" selection-start-column="24" selection-end-line="79" selection-end-column="24" />
<folding> <folding>
<element signature="e#18#46#0" expanded="true" /> <element signature="e#18#46#0" expanded="true" />
@ -80,36 +84,23 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/compare.sh"> <entry file="file://$PROJECT_DIR$/compare.sh">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195"> <state relative-caret-position="255">
<caret line="13" column="37" lean-forward="true" selection-start-line="13" selection-start-column="37" selection-end-line="13" selection-end-column="37" /> <caret line="17" column="31" selection-start-line="17" selection-start-column="31" selection-end-line="17" selection-end-column="31" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/rf.py"> <entry file="file://$PROJECT_DIR$/rf.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="408"> <state relative-caret-position="3495">
<caret line="242" column="25" lean-forward="true" selection-start-line="242" selection-start-column="25" selection-end-line="242" selection-end-column="25" /> <caret line="233" column="15" lean-forward="true" selection-start-line="233" selection-start-column="15" selection-end-line="233" selection-end-column="15" />
<folding> <folding>
<element signature="e#21#39#0" expanded="true" /> <element signature="e#21#39#0" expanded="true" />
<marker date="1593330072988" expanded="true" signature="1440:1442" ph="..." /> <marker date="1593568816783" expanded="true" signature="1440:1442" ph="..." />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/serve_lstm.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="21" selection-start-line="6" selection-start-column="21" selection-end-line="6" selection-end-column="21" />
<folding>
<marker date="1588426314177" expanded="true" signature="1271:1274" ph="..." />
<marker date="1588426314177" expanded="true" signature="3519:3521" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -169,8 +160,8 @@
<option value="$PROJECT_DIR$/train.py" /> <option value="$PROJECT_DIR$/train.py" />
<option value="$PROJECT_DIR$/README.md" /> <option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/serve_rf.py" /> <option value="$PROJECT_DIR$/serve_rf.py" />
<option value="$PROJECT_DIR$/rf.py" />
<option value="$PROJECT_DIR$/serve.py" /> <option value="$PROJECT_DIR$/serve.py" />
<option value="$PROJECT_DIR$/rf.py" />
<option value="$PROJECT_DIR$/compare.sh" /> <option value="$PROJECT_DIR$/compare.sh" />
</list> </list>
</option> </option>
@ -214,7 +205,7 @@
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" /> <property name="aspect.path.notification.shown" value="true" />
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1593520174616" /> <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1593571328554" />
<property name="go.gopath.indexing.explicitly.defined" value="true" /> <property name="go.gopath.indexing.explicitly.defined" value="true" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" />
@ -259,26 +250,25 @@
<workItem from="1588319878551" duration="41219000" /> <workItem from="1588319878551" duration="41219000" />
<workItem from="1588426002721" duration="336000" /> <workItem from="1588426002721" duration="336000" />
<workItem from="1588427782140" duration="326000" /> <workItem from="1588427782140" duration="326000" />
<workItem from="1592809729651" duration="22448000" /> <workItem from="1592809729651" duration="25279000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="81302000" /> <option name="totallyTimeSpent" value="84133000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="0" width="1280" height="800" extended-state="0" /> <frame x="0" y="0" width="1280" height="800" extended-state="0" />
<editor active="true" />
<layout> <layout>
<window_info id="Designer" order="0" /> <window_info id="Designer" order="0" />
<window_info id="UI Designer" order="1" /> <window_info id="UI Designer" order="1" />
<window_info id="Capture Tool" order="2" /> <window_info id="Capture Tool" order="2" />
<window_info id="Favorites" order="3" side_tool="true" /> <window_info id="Favorites" order="3" side_tool="true" />
<window_info id="Image Layers" order="4" /> <window_info id="Image Layers" order="4" />
<window_info content_ui="combo" id="Project" order="5" sideWeight="0.49898168" visible="true" weight="0.2657512" /> <window_info active="true" content_ui="combo" id="Project" order="5" sideWeight="0.49898168" visible="true" weight="0.2657512" />
<window_info id="Structure" order="6" sideWeight="0.50101835" side_tool="true" weight="0.24959612" /> <window_info id="Structure" order="6" sideWeight="0.50101835" side_tool="true" weight="0.24959612" />
<window_info anchor="bottom" id="Version Control" order="0" /> <window_info anchor="bottom" id="Version Control" order="0" />
<window_info active="true" anchor="bottom" id="Terminal" order="1" visible="true" weight="0.32739726" /> <window_info anchor="bottom" id="Terminal" order="1" visible="true" weight="0.32739726" />
<window_info anchor="bottom" id="Event Log" order="2" side_tool="true" /> <window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
<window_info anchor="bottom" id="Database Changes" order="3" show_stripe_button="false" /> <window_info anchor="bottom" id="Database Changes" order="3" show_stripe_button="false" />
<window_info anchor="bottom" id="Docker" order="4" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="4" show_stripe_button="false" />
@ -319,34 +309,6 @@
<entry file="file://$PROJECT_DIR$/figure/predict_low_with_keras.png" /> <entry file="file://$PROJECT_DIR$/figure/predict_low_with_keras.png" />
<entry file="file://$PROJECT_DIR$/figure/predict_high_with_tensorflow.png" /> <entry file="file://$PROJECT_DIR$/figure/predict_high_with_tensorflow.png" />
<entry file="file://$PROJECT_DIR$/figure/predict_high_with_pytorch.png" /> <entry file="file://$PROJECT_DIR$/figure/predict_high_with_pytorch.png" />
<entry file="file://$PROJECT_DIR$/requirements.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="8" selection-start-line="8" selection-end-line="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/stock_data.csv">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="349">
<caret line="6110" lean-forward="true" selection-start-line="6110" selection-end-line="6110" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/data3.csv">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="20" selection-start-column="20" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/data2.csv">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="21" selection-start-line="2" selection-start-column="21" selection-end-line="2" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/main.py"> <entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30"> <state relative-caret-position="30">
@ -364,13 +326,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/Dockerfile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="17" column="7" selection-start-line="17" selection-start-column="7" selection-end-line="17" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/train.py"> <entry file="file://$PROJECT_DIR$/train.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="810"> <state relative-caret-position="810">
@ -381,13 +336,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/bootstrap.sh">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="22" selection-start-line="2" selection-start-column="22" selection-end-line="2" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/model_tensorflow.py"> <entry file="file://$PROJECT_DIR$/model_tensorflow.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="465"> <state relative-caret-position="465">
@ -398,13 +346,17 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/README.md"> <entry file="file://$PROJECT_DIR$/Dockerfile">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> <provider selected="true" editor-type-id="text-editor">
<state split_layout="SPLIT"> <state relative-caret-position="255">
<first_editor relative-caret-position="480"> <caret line="17" column="7" selection-start-line="17" selection-start-column="7" selection-end-line="17" selection-end-column="7" />
<caret line="32" selection-start-line="32" selection-end-line="32" /> </state>
</first_editor> </provider>
<second_editor /> </entry>
<entry file="file://$PROJECT_DIR$/bootstrap.sh">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="22" selection-start-line="2" selection-start-column="22" selection-end-line="2" selection-end-column="22" />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -419,20 +371,54 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/rf.py"> <entry file="file://$PROJECT_DIR$/requirements.txt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="408"> <state relative-caret-position="120">
<caret line="242" column="25" lean-forward="true" selection-start-line="242" selection-start-column="25" selection-end-line="242" selection-end-column="25" /> <caret line="8" selection-start-line="8" selection-end-line="8" />
<folding> </state>
<element signature="e#21#39#0" expanded="true" /> </provider>
<marker date="1593330072988" expanded="true" signature="1440:1442" ph="..." /> </entry>
</folding> <entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="480">
<caret line="32" selection-start-line="32" selection-end-line="32" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/data2.csv">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="21" selection-start-line="2" selection-start-column="21" selection-end-line="2" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/data3.csv">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="20" selection-start-column="20" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/stock_data.csv">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="91650">
<caret line="6110" lean-forward="true" selection-start-line="6110" selection-end-line="6110" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/os.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="155">
<caret line="768" column="4" selection-start-line="768" selection-start-column="4" selection-end-line="768" selection-end-column="4" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/serve.py"> <entry file="file://$PROJECT_DIR$/serve.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1185"> <state relative-caret-position="108">
<caret line="79" column="24" lean-forward="true" selection-start-line="79" selection-start-column="24" selection-end-line="79" selection-end-column="24" /> <caret line="79" column="24" lean-forward="true" selection-start-line="79" selection-start-column="24" selection-end-line="79" selection-end-column="24" />
<folding> <folding>
<element signature="e#18#46#0" expanded="true" /> <element signature="e#18#46#0" expanded="true" />
@ -442,8 +428,19 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/compare.sh"> <entry file="file://$PROJECT_DIR$/compare.sh">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195"> <state relative-caret-position="255">
<caret line="13" column="37" lean-forward="true" selection-start-line="13" selection-start-column="37" selection-end-line="13" selection-end-column="37" /> <caret line="17" column="31" selection-start-line="17" selection-start-column="31" selection-end-line="17" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/rf.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="3495">
<caret line="233" column="15" lean-forward="true" selection-start-line="233" selection-start-column="15" selection-end-line="233" selection-end-column="15" />
<folding>
<element signature="e#21#39#0" expanded="true" />
<marker date="1593568816783" expanded="true" signature="1440:1442" ph="..." />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>

View File

@ -10,19 +10,33 @@ fi
awk 'FNR>1' ${FILE} | shuf > ./data/train.csv awk 'FNR>1' ${FILE} | shuf > ./data/train.csv
head -n 1 ${FILE} > ./tmp.csv head -n 1 ${FILE} > ./tmp.csv
head -n 1 ${FILE} > ./data/test.csv head -n 1 ${FILE} > ./data/test.csv
cat ./data/train.csv >> ./tmp.csv head -n -50 ./data/train.csv >> ./tmp.csv
tail -n 50 tmp.csv >> ./data/test.csv tail -n 50 ./data/train.csv >> ./data/test.csv
cnt=`wc ${FILE} | awk '{print $1}'`
step=50
maxn=$((cnt / step * step + 1))
for step in {51..501..50} step=51
do while [[ ${step} -le ${maxn} ]]; do
echo "step=${step}" echo "step=${step}"
tail -n ${step} tmp.csv > ./data/train.csv tail -n ${step} tmp.csv > ./data/train.csv
algorithm=lr python3 rf.py echo 'lr:'
algorithm=rf python3 rf.py display_diff=0 algorithm=lr python3 rf.py
algorithm=tree python3 rf.py
algorithm=ada python3 rf.py echo 'rf:'
algorithm=gbdt python3 rf.py display_diff=0 algorithm=rf python3 rf.py
echo 'dt:'
display_diff=0 algorithm=dt python3 rf.py
echo 'ada:'
display_diff=0 algorithm=ada python3 rf.py
echo 'gbdt:'
display_diff=0 algorithm=gbdt python3 rf.py
echo -e "\n"
step=$(($step + 50))
done done
rm ./data/train.csv rm ./data/train.csv

8
rf.py
View File

@ -246,7 +246,7 @@ if __name__ == '__main__':
y_pred = adaboost_train(feature_data, label_data, test_feature) y_pred = adaboost_train(feature_data, label_data, test_feature)
elif algorithm == 'gbdt': elif algorithm == 'gbdt':
y_pred = adaboost_train(feature_data, label_data, test_feature) y_pred = adaboost_train(feature_data, label_data, test_feature)
elif algorithm == 'tree': elif algorithm == 'dt':
y_pred = decision_tree_train(feature_data, label_data, test_feature) y_pred = decision_tree_train(feature_data, label_data, test_feature)
else: else:
y_pred = random_forest_train(feature_data, label_data, test_feature) y_pred = random_forest_train(feature_data, label_data, test_feature)
@ -259,5 +259,7 @@ if __name__ == '__main__':
r2 = 1 - MSE / var r2 = 1 - MSE / var
# print(abs(test_label - y_pred) / test_label) # print(abs(test_label - y_pred) / test_label)
print(RMSE, r2) print(RMSE, r2)
for i in range(20): display_diff = os.getenv('display_diff', '0')
print("{},{},{}".format(test_label[i], y_pred[i], (y_pred[i] - test_label[i]) / test_label[i])) if display_diff == '1':
for i in range(20):
print("{},{},{}".format(test_label[i], y_pred[i], (y_pred[i] - test_label[i]) / test_label[i]))

View File

@ -185,8 +185,7 @@ class MyHandler(BaseHTTPRequestHandler):
csvfile, delimiter=',', csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL quotechar='|', quoting=csv.QUOTE_MINIMAL
) )
for i in range(5): spamwriter.writerow(values)
spamwriter.writerow(values)
models[job]['lock'].release() models[job]['lock'].release()
msg = {'code': 0, 'error': ""} msg = {'code': 0, 'error': ""}