Ich versuche, ein logistisches Regressionsmodell auf den Sklearn-Iris-Datensatz anzupassen. Ich bekomme eine Wahrscheinlichkeitskurve, die aussieht, als sei sie zu flach, oder der Koeffizient ist zu klein. Ich würde eine Wahrscheinlichkeit über neunzig Prozent von Kelchblatt Länge erwarten> 7:sklearn LogisticRegression - Plot zeigt zu kleinen Koeffizienten an
Ist diese Wahrscheinlichkeitskurve in der Tat falsch? Wenn ja, was könnte das in meinem Code verursachen?
from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as np
import math
from sklearn.linear_model import LogisticRegression
data = datasets.load_iris()
#get relevent data
lengths = data.data[:100, :1]
is_setosa = data.target[:100]
#fit model
lgs = LogisticRegression()
lgs.fit(lengths, is_setosa)
m = lgs.coef_[0,0]
b = lgs.intercept_[0]
#generate values for curve overlay
lgs_curve = lambda x: 1/(1 + math.e**(-(m*x+b)))
x_values = np.linspace(2, 10, 100)
y_values = lgs_curve(x_values)
#plot it
plt.plot(x_values, y_values)
plt.scatter(lengths, is_setosa, c='r', s=2)
plt.xlabel("Sepal Length")
plt.ylabel("Probability is Setosa")
Was ist falsch an der Kurve? Es sieht gut aus für mich. Bleiben Sie bei [fragen] und geben Sie an, was Sie bekommen und wie weit es Ihre Erwartungen nicht erfüllt. – ImportanceOfBeingErnest
Danke für die Erinnerung. Ich habe es gerade bearbeitet, um es klarer zu machen. – Selah