ロジスティック回帰モデルをsklearnの虹彩データセットに適合させようとしています。私はそれがあまりにもフラットであるように見える確率曲線を得る、別名係数が小さすぎる。私は、がく片の長さ> 7によって確率90%以上を期待する:sklearn LogisticRegression - プロットの表示が小さすぎる
は確かに間違っている、この確率曲線ですか?もしそうなら、私のコードで何が起こるかもしれませんか?
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")
カーブについてはどうなりますか?それは私によく見えます。あなたが得るものと、それがあなたの期待をどれくらい満たしていないのかを特定し、特定してください。 – ImportanceOfBeingErnest
ご報告いただきありがとうございます。私はちょうどそれをもっと明確にしようと編集しました。 – Selah