In [2]:
from sklearn.datasets import load_diabetes
from sklearn.linear_model import Lasso
from sklearn.cross_validation import cross_val_score
data = load_diabetes()
X = data.data[:200]
y = data.target[:200]
model = Lasso()
alphas = np.logspace(-4, -.5, 50)
scores = list()
for alpha in alphas:
model.alpha = alpha
this_scores = cross_val_score(model, X, y, "mean_squared_error", cv=5)
scores.append(np.mean(this_scores))
plt.semilogx(alphas, scores)
plt.ylabel('CV score')
plt.xlabel('alpha')
plt.axhline(np.max(scores), linestyle=':')
plt.show()
In [3]:
from sklearn.linear_model import LassoCV
alphas = np.logspace(-4, -.5, 50)
lasso_cv = LassoCV(alphas=alphas, cv=5)
lasso_cv.fit(X, y)
print(lasso_cv.alpha_ )
scores = -lasso_cv.mse_path_.mean(axis=1)
plt.semilogx(lasso_cv.alphas_, scores)
plt.axhline(np.max(scores), linestyle=':')
plt.axvline(lasso_cv.alpha_ , linestyle=':')
plt.ylabel('CV score')
plt.xlabel('alpha')
plt.show()
In [4]:
from sklearn.datasets import make_classification
X0, y = make_classification(n_features=1, n_redundant = 0, n_informative = 1, n_clusters_per_class = 1, random_state=4)
X = sm.add_constant(X0)
In [5]:
from sklearn.linear_model import LogisticRegression
model = LogisticRegression().fit(X0,y)
In [9]:
import matplotlib as mpl
xx = np.linspace(-3,3,100)
sigm = 1.0/(1 + np.exp(-model.coef_[0][0] * xx - model.intercept_[0]))
plt.plot(xx, sigm)
plt.scatter(X0, y, marker='o', c = y, s = 100)
plt.scatter(X0, model.predict(X0), marker='x', c = y, s = 200, lw = 2, alpha = 0.5, cmap = mpl.cm.jet)
plt.xlim(-3,3)
plt.show()
In [11]:
logit_mod = sm.Logit(y,X)
logit_res = logit_mod.fit(disp=0)
print(logit_res.summary())
In [10]:
logit_mod = sm.Logit(y,X)
logit_res = logit_mod.fit()
print(logit_res.summary())
In [ ]: