Длина переданных значений - 3, индекс - 8 - PullRequest
0 голосов
/ 26 мая 2020

Я тестирую 3 фактора, которые влияют на радиус зерна. Где радиус зерна - это значение Y. И температура мощности, скорость экструзии и D ie Температура - это 3 фактора, которые влияют на Y.

Теперь я пытаюсь найти sl oop для здесь есть некоторые ошибки.

Файл данных:

    Grain Radius    Power Temperature (X1)  Extrusion Rate (X2) Die Temperature (X3)
0   82  150 12  220
1   93  190 12  220
2   114 150 24  220
3   124 150 12  250
4   111 190 24  220
5   129 190 12  250
6   157 150 24  250
7   164 190 24  250

мой код ниже:

data = pd.read_excel('book1.xlsx')
data.columns = ['grain_size','power_temp','extrusion_rate','die_temp']
Y = data['grain_size']
X = data.iloc[:,1:]
X_Centered = X-X.mean()
from numpy.linalg import inv
XX_inv = inv(np.matmul(X_Centered.values.T,X_Centered.values))
XX_inv_X = np.matmul(XX_inv,X_Centered.values.T)
np.matmul(XX_inv_X,Y)

Моя ошибка:


ValueError                                Traceback (most recent call last)
<ipython-input-57-dc871b000aea> in <module>
      2 XX_inv = inv(np.matmul(X_Centered.values.T,X_Centered.values))
      3 XX_inv_X = np.matmul(XX_inv,X_Centered.values.T)
----> 4 np.matmul(XX_inv_X,Y)

//anaconda3/lib/python3.7/site-packages/pandas/core/series.py in __array_wrap__(self, result, context)
    733         """
    734         return self._constructor(result, index=self.index,
--> 735                                  copy=False).__finalize__(self)
    736 
    737     def __array_prepare__(self, result, context=None):

//anaconda3/lib/python3.7/site-packages/pandas/core/series.py in __init__(self, data, index, dtype, name, copy, fastpath)
    247                             'Length of passed values is {val}, '
    248                             'index implies {ind}'
--> 249                             .format(val=len(data), ind=len(index)))
    250                 except TypeError:
    251                     pass

ValueError: Length of passed values is 3, index implies 8

Я пробовал использовать np.matmul (XX_inv_X.T, Y) для последней строки, но он тоже не работает.

Ожидаемый результат:

array([0.125     , 2.45833333, 1.45      ])

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...