使用Python获得最佳D拟合

2024-04-25 01:29:57 发布

您现在位置:Python中文网/ 问答频道 /正文

新的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来进行卡方计算。以下是我在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.

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


Tags: 数据代码importnp特性dc品牌fun