1

新的 Python 用户准备好编写我的第一个简单代码(希望如此!)。我的目标是使用某种最适合的功能,Python 必须根据车辆的品牌和数量来找出这些数据最接近的位置。

import numpy as np 
from scipy.optimize import minimize

这是我拥有的三个城市:

cities = ['Washington DC', 'Seattle', 'Miami']

这些是车辆的品牌:

car_inputs = ['Ford', 'Chevy', 'Dodge']

以下是我想在代码中运行的值:

input_values = {'Ford': 124, 
            'Chevy': 34, 
            'Dodge': 77}

这是存储我的数据的数据库,我试图从中找到最适合我的输入的数据。请注意,我的输入与华盛顿特区的输入相同:

dealer_database = {'Washington DC': {'Ford': 124, 'Chevy': 34, 'Dodge': 77},
                   'Seattle': {'Ford': 500, 'Chevy': 80, 'Dodge': 58},
                   'Miami': {'Ford': 254, 'Chevy': 105, 'Dodge': 30}}

我想我需要使用 Ax = b 来解决 x 来解决这个问题。根据我在网上阅读的内容,我需要 x 用于卡方计算。以下是我从另一篇关于 SO 的帖子中找到的内容:

L = len(b)
fun = lambda x: np.linalg.norm(np.dot(A,x)-b)
x1 = np.linalg.solve(A,b)
sol = minimize(fun, x1, method='SLSQP', constraints={'type': 'ineq', 'fun': lambda x:  x})
sol = minimize(fun, np.zeros(l), method='L-BFGS-B', bounds=[(0.,None) for x in xrange(l)])

solution = sol['x'] 

由于我的输入与华盛顿特区相同,我希望我的解决方案为:

 solution = ([ 1.0, 0., 0.]) #first number represents Washington DC.

我相信这些是我在网上学习/研究的正确步骤,但我不知道如何发挥作用。任何帮助将不胜感激!

4

0 回答 0