交叉验证 多元统计分析 Python实现 简单总结

分类:简单的交叉验证、留一法、K折交叉验证

训练集与测试集的划分

from sklearn.model_selection import train_test_split
X_train,X_test, y_train, y_test = train_test_split(X,Y, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)

输入参数:

X:待划分的样本特征集合(array-like)

Y: 待划分的样本标签(array-like)

test_size:若在0~1之间,为测试集样本数 目与原始样本数目之比;

                  若为整数,则是 测试集样本的数目。 

random_state:随机数种子

输出参数:

 X_train:划分出的训练集数据

 X_test:划分出的测试集数据

 y_train:划分出的训练集标签

 y_test:划分出的测试集标签

 K折交叉验证

模型实现方式

from sklearn.model_selection import cross_val_score
cross_val_score(estimator, X, y=None, groups=None, scoring=None, cv=None)

 输入参数:

estimator:就是自己选定的模型

X:array类型数据,训练集的自变量部分

y:array类型数据。训练集的因变量部分

cv:int类型。设定cross-validation的维度

         不设定cv:使用默认值3,即k-fold=3

         用作交叉验证迭代器的对象

数据实现方式 

from sklearn.model_selection import Kfold, StratifiedKFold
kfolds = KFold(n_splits=5, shuffle=False, random_state=None)

输入参数: 

 n_splits :折的数量

 shuffle :是否打乱顺序

random_state:随机数种子

相关方法:

Kfolds.split(X,y): 对数据集X进行切分

                         输入:数据array的X,y

                         输出:返回测试集与训练集的K个组合的索引值

岭回归

from sklearn.linear_model import Ridge,RidgeCV
model = Ridge(alpha=0.5,fit_intercept=True) 
# 通过RidgeCV使用交叉验证获取最佳参数值
#model = RidgeCV(alphas=[0.1, 1.0, 10.0]) 
model.fit(train_set_X,train_set_y)
predicted = model.predict(test_set_X) #预测值
model.score(test_set_X,test_set_y) #可决系数

lasso回归

from sklearn.linear_model import Lasso
model = Lasso(alpha=0.5,fit_intercept=True)
model.fit(train_set_X,train_set_y)
predicted = model.predict(test_set_X) #预测值
model.score(test_set_X,test_set_y) #可决系数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值