#!/usr/bin/python
importpandas as pdimportnumpy as npimportcsv as csvimportmatplotlibimportmatplotlib.pyplot as pltfrom sklearn.linear_model importRidge, RidgeCV, ElasticNet, LassoCV, LassoLarsCVfrom sklearn.model_selection importcross_val_score
train= pd.read_csv('train.csv', header=0) #Load the train file into a dataframe
df = pd.get_dummies(train.iloc[:,1:-1])
df=df.fillna(df.mean())
X_train=df
y=train.pricedefrmse_cv(model):
rmse= np.sqrt(-cross_val_score(model, X_train, y, scoring="neg_mean_squared_error", cv = 3))return(rmse)#调用LassoCV函数,并进行交叉验证,默认cv=3
model_lasso = LassoCV(alphas = [0.1,1,0.001, 0.0005]).fit(X_train, y)
matplotlib.rcParams['figure.figsize'] = (6.0, 6.0)#将模型预测的值与真实值作为两列放在DataFrame里面
preds = pd.DataFrame({"preds":model_lasso.predict(X_train), "true":y})#真实值与预测值之间的差值作为一个新列
preds["residuals"] = preds["true"] - preds["preds"]print(preds)#预测值作为X轴,残差值作为y轴,画出图形
preds.plot(x = "preds", y = "residuals",kind = "scatter")
plt.show()
之模型打分&spm=1001.2101.3001.5002&articleId=109971040&d=1&t=3&u=ebcdb8f1c2e04e1491b5499afc4c680c)
288

被折叠的 条评论
为什么被折叠?



