一个网站包括,网站是做响应式还是自适应的好,中国电信 网站备案,visual studio 2010 网站开发目录 model_selection.train_test_split函数实战 model_selection.train_test_split函数
model_selection.train_test_split 是 Scikit-Learn 中用于将数据集拆分为训练集和测试集的函数。这个函数非常有用#xff0c;因为在机器学习中#xff0c;我们通常需要将数据集分为训… 目录 model_selection.train_test_split函数实战 model_selection.train_test_split函数
model_selection.train_test_split 是 Scikit-Learn 中用于将数据集拆分为训练集和测试集的函数。这个函数非常有用因为在机器学习中我们通常需要将数据集分为训练集和测试集以便在模型训练和评估中使用不同的数据集。
下面是 model_selection.train_test_split 函数的基本介绍
model_selection.train_test_split(*arrays, test_sizeNone, train_sizeNone, random_stateNone, shuffleTrue, stratifyNone)*arrays: 这是待拆分的数据集可以是特征矩阵和目标向量也可以是多个特征矩阵。例如如果有一个特征矩阵 X 和一个目标向量 y可以使用 X, y 作为参数传入。test_size: 测试集的大小可以是浮点数表示比例或整数表示样本数。train_size: 训练集的大小和 test_size 作用相同如果不指定则默认为 1 - test_size。random_state: 随机种子用于控制数据集的随机拆分以便结果可重复。 shuffle: 是否在拆分数据前对数据进行洗牌。stratify: 按照某个变量通常是目标变量进行分层抽样以确保训练集和测试集中各类别样本的比例与原始数据集中相同。
举个例子假设有一个特征矩阵 X 和一个目标向量 y可以使用 model_selection.train_test_split 将数据集拆分为训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)这将会把特征矩阵 X 和目标向量 y 按照 8:2 的比例拆分为训练集和测试集并且使用随机种子 42 来确保拆分结果的可重复性。
实战
# 导入模块
from sklearn import model_selection
import statsmodels.api as sm
import numpy as np
import pandas as pd
from scipy.stats import f # 导入数据
Profit pd.read_excel(rPredict to Profit.xlsx)
# 生成由State变量衍生的哑变量
dummies pd.get_dummies(Profit.State)
# 将哑变量与原始数据集水平合并
Profit_New pd.concat([Profit,dummies], axis 1)
# 删除State变量和California变量因为State变量已被分解为哑变量New York变量需要作为参照组
Profit_New.drop(labels [State,New York], axis 1, inplace True)
# 拆分数据集Profit_New
train, test model_selection.train_test_split(Profit_New, test_size 0.2, random_state1234)
# 建模
model2 sm.formula.ols(Profit~RD_SpendAdministrationMarketing_SpendFloridaCalifornia, data train).fit()
print(模型的偏回归系数分别为\n, model2.params)模型的偏回归系数分别为Intercept 58068.048193
Florida[T.True] 1440.862734
California[T.True] 513.468310
RD_Spend 0.803487
Administration -0.057792
Marketing_Spend 0.013779
dtype: float64