اذهب إلى المحتوى
  • 0

ظهور الخطأ ValueError: Unknown label type: 'continuous أثناء بناء نموذج باستخدام LogisticRegression 

Meezo ML

السؤال

أحاول بناء نموذج  باستخدام خوارزمية  LogisticRegression  لكن أواجه الخطأ التالي:

import numpy as np
from sklearn.linear_model           
import LogisticRegression
X_train   = np.array([ [2.3, 4.3, 2.5],  [1.3, 5.2, 5.2],  [3.3, 2.9, 0.8],  [3.1, 4.3, 4.0]  ])
y_train  = np.array( [3.4, 7.5, 4.5, 1.6] )
X_test  = np.array([ [2.5, 2.4, 2.7],  [2.7, 3.2, 1.2] ])
LR = LogisticRegression()
LR.fit(X_train,y_train)
print(clf.predict(X_test))
##################################
ValueError                                Traceback (most recent call last)
<ipython-input-23-8aa4b13afdb8> in <module>
      7 
      8 LR = LogisticRegression()
----> 9 LR.fit(X_train,y_train)
     10 print(clf.predict(X_test))
     11 

~\anaconda3\lib\site-packages\sklearn\linear_model\_logistic.py in fit(self, X, y, sample_weight)
   1526         X, y = check_X_y(X, y, accept_sparse='csr', dtype=_dtype, order="C",
   1527                          accept_large_sparse=solver != 'liblinear')
-> 1528         check_classification_targets(y)
   1529         self.classes_ = np.unique(y)
   1530         n_samples, n_features = X.shape

~\anaconda3\lib\site-packages\sklearn\utils\multiclass.py in check_classification_targets(y)
    167     if y_type not in ['binary', 'multiclass', 'multiclass-multioutput',
    168                       'multilabel-indicator', 'multilabel-sequences']:
--> 169         raise ValueError("Unknown label type: %r" % y_type)
    170 
    171 

ValueError: Unknown label type: 'continuous'

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الخطأ هو أنك تقوم بإعطاء الموديل الخرج كقيمة حقيقة وهذا لا يجوز في التصنيف الذي يعمل مع القيم المتقطعة يمكن حل المشكلة بتحويل y_train إلى عدد صحيح int أو استخدام labelEncoder  

  • طريقة1:
    #استدعاء المكتبات
    import numpy as np
    from sklearn.linear_model import LogisticRegression
    from sklearn import preprocessing
    
    #داتا التدريب والاختبار 
    X_train   = np.array([ [2.3, 4.3, 2.5],  [1.3, 5.2, 5.2],  [3.3, 2.9, 0.8],  [3.1, 4.3, 4.0]  ])
    y_train  = np.array( [3.4, 7.5, 4.5, 1.6] )
    X_test  = np.array([ [2.5, 2.4, 2.7],  [2.7, 3.2, 1.2] ])
    
    #LabelEncoder  تطبيق  
    enc = preprocessing.LabelEncoder()
    y_new = enc.fit_transform(y_train)
    LR = LogisticRegression()
    LR.fit(X_train,y_new)
    print(LR.predict(X_test))
    #طريقة 2
    #استدعاء المكتبات
    import numpy as np
    from sklearn.linear_model import LogisticRegression
    from sklearn import preprocessing
    
    #داتا التدريب والاختبار 
    X_train   = np.array([ [2.3, 4.3, 2.5],  [1.3, 5.2, 5.2],  [3.3, 2.9, 0.8],  [3.1, 4.3, 4.0]  ])
    y_train  = np.array( [3.4, 7.5, 4.5, 1.6] )
    X_test  = np.array([ [2.5, 2.4, 2.7],  [2.7, 3.2, 1.2] ])
    
    #تحويل الخرج إلى عدد صحيح
    y_train=y_train.astype("int64")
    LR = LogisticRegression()
    LR.fit(X_train,y_train)
    print(LR.predict(X_test))

     

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...