1 sklearn自带数据集
sklearn中带有很多数据集
from sklearn import datasets
diabetes=datasets.load_diabetes()
X=diabetes.data
y=diabetes.target
X.shape
X[:5]
y[:10]
2 使用sklearn包中的模型
from sklearn.linear_model import Lasso #L1正则化线性回归
import numpy as np
from sklearn.model_selection import GridSearchCV
X_train=diabetes.data[:310]
y_train=diabetes.target[:310]
X_test=diabetes.data[310:]
y_test=diabetes.data[310:]
lasso=Lasso(random_state=0)
alphas=np.logspace(-4,-0.5,30)
estimator=GridSearchCV(lasso,dict(alpha=alphas))#估计器,里面是lasso这个模型,超参dict(alphas)
estimator.fit(X_train,y_train)#30个lasso模型比较,返回最好的模型
最高的评分
estimator.best_score_
0.46170948106181964
最好的模型
estimator.best_estimator_
Lasso(alpha=0.07880462815669913, random_state=0)
3 预测数据
estimator.predict(X_test)