Numpy: dsTypeError: ufunc 'isfinite' غير مدعوم لأنواع الإدخال ، ولا يمكن إجبار المدخلات بأمان على أي أنواع مدعومة وفقًا لقاعدة الصب '' آمن ''

تم إنشاؤها على ٢٧ ديسمبر ٢٠١٩  ·  6تعليقات  ·  مصدر: numpy/numpy

أقوم بتشغيل برنامج على Python وأحاول إنشاء مخرجات إحصائية من مصفوفة.
سطر الكود:
regressor_OLS = sm.OLS (y، X_opt) .fit ()
يتم إعطاء خطأ مفصل.

هذا هو الكود

الانحدار الخطي المتعدد

استيراد مكتبات

استيراد numpy كـ np
استيراد matplotlib.pyplot كـ PLT
استيراد الباندا كما pd

استيراد مجموعة البيانات

مجموعة البيانات = pd.read_csv ('50_Startups.csv')

الحصول على المتغيرات المستقلة

X = dataset.iloc [:،: - 1] .values
y = dataset.iloc [:، 4] .values
طباعة (مجموعة بيانات)

ترميز البيانات الفئوية

ترميز المتغير المستقل

من sklearn.preprocessing استيراد OneHotEncoder
من sklearn.com الغرض استيراد ColumnTransformer
ct = ColumnTransformer ([("Country"، OneHotEncoder ()، [3])]، باقي = 'العبور')
X = ct.fit_transform (X)

تجنب المصيدة المتغيرة الوهمية

س = س [: ، 1:]

تقسيم مجموعة البيانات إلى مجموعة التدريب ومجموعة الاختبار

من sklearn.model_selection استيراد train_test_split
X_train، X_test، y_train، y_test = train_test_split (X، y، test_size = 0.2، random_state = 0)

ملاءمة نموذج الانحدار الخطي المتعدد لمجموعة التدريب

من sklearn.linear_model استيراد LinearRegression
Regressor = LinearRegression () الانحدار الخطي
regressor.fit (X_train، y_train)

توقع نتائج مجموعة الاختبار

y_pred = regressor.predict (X_test)

بناء النموذج الأمثل باستخدام الحذف العكسي

استيراد statsmodels.api كـ sm

أضف أعمدة من 1

X = np.append (arr = np.ones ((50،1)). astype (int) ، القيم = X ، المحور = 1)
X_opt = X [:، [0،1،2،3،4،5]]

نموذج الانحدار الخطي المتعدد - OLS

regressor_OLS = sm.OLS (y، X_opt) .fit ()
regressor_OLS.summary ()

مثال على إعادة إنتاج الكود:

"" الثعبان
استيراد numpy كـ np

رسالة خطأ:

ufunc 'isfinite' غير مدعوم لأنواع الإدخال ، ولا يمكن إجبار المدخلات بأمان على أي أنواع مدعومة وفقًا لقاعدة الصب '' آمن ''

ملف "C: UsersmoranaDocumentsAIUDEMYMachine Learning A-Z الجزء 2 - الانحدار القسم 5 - الانحدار الخطي المتعدد الانحدار الخطي المتعدد. py" ، السطر 46 ، في
regressor_OLS = sm.OLS (y، X_opt) .fit ()

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsregressionlinear_model.py" ، السطر 838 ، في __init__
hasconst = hasconst، ** kwargs)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsregressionlinear_model.py" ، السطر 684 ، في __init__
أوزان = أوزان ، hasconst = hasconst ، ** kwargs)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsregressionlinear_model.py" ، السطر 196 ، في __init__
super (RegressionModel، self) .__ init __ (endog، exog، ** kwargs)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasemodel.py" ، السطر 216 ، في __init__
super (LikitalityModel، self) .__ init __ (endog، exog، ** kwargs)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasemodel.py" ، السطر 68 ، في __init__
** kwargs)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasemodel.py" ، السطر 91 ، في _handle_data
data = handle_data (endog ، exog ، مفقود ، hasconst ، ** kwargs)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasedata.py" ، السطر 635 ، في handle_data
** kwargs)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasedata.py" ، السطر 80 ، في __init__
self._handle_constant (hasconst)

ملف "C: UsersmoranaAppDataLocalContinuumanaconda3libsite-packagesstatsmodelsbasedata.py" ، السطر 125 ، في _handle_constant
إذا لم يكن np.isfinite (ptp _). الكل ():

TypeError: ufunc 'isfinite' غير مدعوم لأنواع الإدخال ، ولا يمكن إجبار المدخلات بأمان على أي أنواع مدعومة وفقًا لقاعدة الصب '' آمن ''

معلومات إصدار Numpy / Python:

سبايدر 4.0.0
1.17.4 3.7.3 (افتراضي ، 24 أبريل 2019 ، 15:29:51) [MSC الإصدار 1915 64 بت (AMD64)]

التعليق الأكثر فائدة

مهلا!
يحتوي صفيف X_opt الخاص بك على نوع dtype للكائن وقد يتسبب هذا في حدوث خطأ. حاول تغييرها لتطفو. على سبيل المثال يمكنك استخدام هذا:
X = np.append (arr = np.ones ((50،1)). astype (int) ، القيم = X ، المحور = 1)
X_opt = X [:، [0،1،2،3،4،5]]
X_opt = np.array (X_opt، dtype = تعويم)

استمتع: د

ال 6 كومينتر

مهلا!
يحتوي صفيف X_opt الخاص بك على نوع dtype للكائن وقد يتسبب هذا في حدوث خطأ. حاول تغييرها لتطفو. على سبيل المثال يمكنك استخدام هذا:
X = np.append (arr = np.ones ((50،1)). astype (int) ، القيم = X ، المحور = 1)
X_opt = X [:، [0،1،2،3،4،5]]
X_opt = np.array (X_opt، dtype = تعويم)

استمتع: د

شكرا @ filip-stolinski على الحل الخاص بك

@ filip-stolinski شكرا جزيلا على الحل الخاص بك. إنه يعمل بالتأكيد

إغلاق. يرجى إعادة فتح أو فتح مشكلة جديدة إذا لزم الأمر.

شكرا @ Filip-stolinski

شكرا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات