如何用python完成评分功能呢_python进行机器学习(五)之模型打分

#!/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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值