aW1wb3J0IG51bXB5IGFzIG5wCmZyb20gc2tsZWFybi50cmVlIGltcG9ydCBEZWNpc2lvblRyZWVSZWdyZXNzb3IKCiMg5a6a5LmJ5pWw5o2uCiMg54m55b6B77yaW+aKlei1hOaIkOacrCwg6ZyA5rGC57Sn5L+P5qaC546HLCDpnIDmsYLkvY7lvKXmpoLnjocsIOacjeWKoeacnywg6ZyA5rGC57Sn5L+P5bm05pS255uKLCDpnIDmsYLkvY7lvKXlubTmlLbnm4pdCmRhdGEgPSBbCiAgICBbMzAwLCAwLjcsIDAuMywgMTAsIDEwMCwgLTIwXSwgICMg5pa55qGIMQogICAgWzE0MCwgMC43LCAwLjMsIDEwLCA0MCwgMzBdLCAgICMg5pa55qGIMgogICAgWzM0MCwgMC43LCAwLjMsIDEwLCA5NSwgMzBdICAgICMg5pa55qGIM++8iOiAg+iZkeaJqeW7uuWQjueahOaAu+aKlei1hOWSjOaUtuebiu+8iQpdCgojIOebruagh++8muWHgOeOsOWAvO+8iE5QVu+8iQp0YXJnZXQgPSBbMzQwLCAyMzAsIDQzNl0KCiMg5Yib5bu65Yaz562W5qCR5qih5Z6LCm1vZGVsID0gRGVjaXNpb25UcmVlUmVncmVzc29yKHJhbmRvbV9zdGF0ZT00MikKbW9kZWwuZml0KGRhdGEsIHRhcmdldCkKCiMg6aKE5rWLCnByZWRpY3Rpb25zID0gbW9kZWwucHJlZGljdChkYXRhKQpwcmludCgmcXVvdDvpooTmtYvnmoTlh4DnjrDlgLzvvJomcXVvdDssIHByZWRpY3Rpb25zKQoKIyDpgInmi6nmnIDkvbPmlrnmoYgKYmVzdF9zY2hlbWUgPSBucC5hcmdtYXgocHJlZGljdGlvbnMpICsgMQpwcmludChmJnF1b3Q75pyA5L2z5pa55qGI5piv5pa55qGIe2Jlc3Rfc2NoZW1lfe+8jOWHgOeOsOWAvOS4untwcmVkaWN0aW9uc1tiZXN0X3NjaGVtZSAtIDFdOi4yZn3kuIflhYMmcXVvdDspCg==
import numpy as np
from sklearn.tree import DecisionTreeRegressor
# 定义数据
# 特征:[投资成本, 需求紧俏概率, 需求低弥概率, 服务期, 需求紧俏年收益, 需求低弥年收益]
data = [
[300, 0.7, 0.3, 10, 100, -20], # 方案1
[140, 0.7, 0.3, 10, 40, 30], # 方案2
[340, 0.7, 0.3, 10, 95, 30] # 方案3(考虑扩建后的总投资和收益)
]
# 目标:净现值(NPV)
target = [340, 230, 436]
# 创建决策树模型
model = DecisionTreeRegressor(random_state=42)
model.fit(data, target)
# 预测
predictions = model.predict(data)
print("预测的净现值:", predictions)
# 选择最佳方案
best_scheme = np.argmax(predictions) + 1
print(f"最佳方案是方案{best_scheme},净现值为{predictions[best_scheme - 1]:.2f}万元")