Python机器学习库sklearn.model_selection模块的几个方法参数

强大的sklearn库可以解决的问题:
这里写图片描述

train_test_split返回切分的数据集train/test

train_test_split(*array,test_size=0.25,train_size=None,random_state=None,shuffle=True,stratify=None)

*array:切分数据源(list/np.array/pd.DataFrame/scipy_sparse matrices)
test_size和train_size是互补和为1的一对值
shuffle:对数据切分前是否洗牌
stratify:是否分层抽样切分数据( If shuffle=False then stratify must be None.)

这里写图片描述

###cross_validate返回train/test数据集上的每折得分

cross_validate(estimator,X,y=None,groups=None,scoring=None,cv=None,n_jobs=1,
verbose=0,fit_params=None,pre_dispatch='2*n_jobs',return_train_score='warn')

estimator:学习器
X:特征列数据
y:标签列(无监督学习可以无此参数)
groups:切分train/test数据集后的样本所在集合标号
scoring:在test数据集上的评估准则(以list/dict形式给出)
cv:交叉验证的折数,default=3,也可以是其余int数据,或者cv generator
n_jobs:计算执行时占用CPU个数,设置n_jobs=-1是利用全部CPU
verbose:设置评估模型的相关打印信息输出详细程度
fit_params:参数字典
pre_dispatch:设置并行任务数(保护内存)
return_train_score:返回train数据集上的评估得分

###GridSearchCV返回最佳参数组合/得分

GridSearchCV(estimator,para_grid,scoring=None,n_jobs=1,iid=True,refit=True,cv=None,
verbose=0,pre_dispatch='2*n_jobs',error_score='raise',return_train_score='warn')

estimator:学习器
para_grid:参数字典
scoring:在test数据集上的评估准则(以list/dict形式给出)
n_jobs:计算执行时占用CPU个数,设置n_jobs=-1是利用全部CPU
iid:是否假设样本同分布,建模时目标函数时计入每个样本的总损失
cv:交叉验证的折数,default=3,也可以是其余int数据,或者cv generator
verbose:设置评估模型的相关打印信息输出详细程度
pre_dispatch:设置并行任务数(保护内存)
return_train_score:返回train数据集上的评估得分
error_score:设置estimator拟合出现错误时的相关提示信息,对refit有影响
refit:利用最优参数组合做什么?待研究

(refit : boolean, or string, default=True
Refit an estimator using the best found parameters on the whole dataset.
For multiple metric evaluation, this needs to be a string denoting the scorer is used to find the best parameters for refitting the estimator at the end.
The refitted estimator is made available at the best_estimator_ attribute and permits using predict directly on this GridSearchCV instance.
Also for multiple metric evaluation, the attributes best_index_, best_score_ and best_parameters_ will only be available if refit is set and all of them will be determined w.r.t this specific scorer.
See scoring parameter to know more about multiple metric evaluation.)
这里写图片描述

这里写图片描述

###learning_curve根据设定的不同train数据集大小,依次获得交叉验证的train/test数据集上的得分

GridSearchCV(estimator,X,y,groups=None,train_sizes=array([0.1,0.33,0.55,0.78,1.]),cv=None,
scoring=None,exploit_incremental_learning=False,n_jobs=1,
pre_dispatch='all',verbose=0,shuffle=False,random_state=None)

estimator:学习器
X:特征列数据
y:标签列
groups:切分train/test数据集后的样本所在集合标号
train_sizes:设置训练集数据的变化取值范围
cv:交叉验证的折数,default=3,也可以是其余int数据,或者cv generator
scoring:在test数据集上的评估准则(以list/dict形式给出)
n_jobs:计算执行时占用CPU个数,设置n_jobs=-1是利用全部CPU
pre_dispatch:设置并行任务数(保护内存)
verbose:设置评估模型的相关打印信息输出详细程度
shuffle:对数据切分前是否洗牌
random_state:随机种子
exploit_incremental_learning:增量学习

扫码关注公众号:瑞行AI,欢迎交流AI算法、数据分析等技术,提供技术方案咨询和就业指导服务!
在这里插入图片描述

<think>首先,用户要求使用中文回答问题。问题似乎是一个关于Python的列表,包括numpy、matplotlib.pyplot、pandas、sqlite3、IPython.display.display、scipy.stats.entropy、sklearn.naive_bayes.MultinomialNB、sklearn.model_selection.cross_val_score、sklearn.linear_model.LogisticRegression、sklearn.svm.SVC、sklearn.preprocessing.normalize。用户没有明确的问题,所以我需要推断这是什么意思。 用户消息是:"numpy matplotlib.pyplot pandas sqlite3 IPython.display.display scipy.stats.entropy sklearn.naive_bayes.MultinomialNB sklearn.model_selection.cross_val_score sklearn.linear_model.LogisticRegression sklearn.svm.SVC sklearn.preprocessing.normalize"。这看起来像是一个Python导入语句的列表,但没有上下文。用户可能是在问这些的用途,或者如何一起使用它们。 用户说:"请使用中文回答问题",所以我需要用中文回复。然后,在回答后,我必须提出3-5个相关问题,以"§§相关问题§§"开头,并且不能换行分散。 回顾用户消息:"numpy matplotlib.pyplot pandas sqlite3 IPython.display.display scipy.stats.entropy sklearn.naive_bayes.MultinomialNB sklearn.model_selection.cross_val_score sklearn.linear_model.LogisticRegression sklearn.svm.SVC sklearn.preprocessing.normalize"。这似乎是用户的问题本身,而不是一个具体的问题。可能用户是在列出一些Python,并希望我解释或讨论它们。 用户消息的开头是:"请使用中文回答问题\n请在回答完问题后,必须根据用户的问题及你的回答提出3-5个 §§相关问题§§。\n§§相关问题§§ 必须输出在回答的末尾且不可缺少!\n 第一行必须完整且输出 \"§§相关问题§§\"!\n禁止换行分散。\n### 示例格式\n快速排序的基本思想是选择一个基准元素\n```python\ndef quick_sort(arr):\n if len(arr) <= 1:\n return arr\n else:\n # 选择基准值\n pivot = arr[len(arr) // 2]\n # 分别存放比基准小和大的元素\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n # 递归地对左右两边进行快排,并合并结果\n return quick_sort(left) + middle + quick_sort(right)```\n§§相关问题§§\n1. ···\n2. ···\n3. ···\n### 注意\n确保所有内容符合规则,否则回答将被视为无效。\n\numpy matplotlib.pyplot pandas sqlite3 IPython.display.display scipy.stats.entropy sklearn.naive_bayes.MultinomialNB sklearn.model_selection.cross_val_score sklearn.linear_model.LogisticRegression sklearn.svm.SVC sklearn.preprocessing.normalize" 用户消息的最后部分是:"numpy matplotlib.pyplot pandas sqlite3 IPython.display.display scipy.stats.entropy sklearn.naive_bayes.MultinomialNB sklearn.model_selection.cross_val_score sklearn.linear_model.LogisticRegression sklearn.svm.SVC sklearn.preprocessing.normalize",这似乎是用户的实际问题或主题。用户可能是在提供一个列表,并希望我解释这些或如何在一个项目中一起使用它们。 由于用户没有指定一个具体的问题,我将假设用户想知道这些的基本介绍或它们在机器学习或数据分析中的常见用途。因为这些都与Python相关,尤其是数据科学和机器学习。 我的回答结构: 1. 用中文回答问题。 2. 回答后,提出3-5个相关问题。 3. 以"§§相关问题§§"开头相关问题部分。 4. 相关问题不能换行分散,所以可能用数字列表。 主题:这些Python的简要介绍。 回答内容: - 解释每个的作用。 - 因为列表很长,我可以分组或简要概述。 - 保持简洁,因为用户可能期待一个概述。 列表: - numpy: 数值计算。 - matplotlib.pyplot: 绘图。 - pandas: 数据处理和分析。 - sqlite3: SQLite数据接口。 - IPython.display.display: IPython的显示功能。 - scipy.stats.entropy: 计算熵的函数。 - sklearn.naive_bayes.MultinomialNB: scikit-learn中的多项式朴素贝叶斯分类器。 - sklearn.model_selection.cross_val_score: 交叉验证得分计算。 - sklearn.linear_model.LogisticRegression: 逻辑回归分类器。 - sklearn.svm.SVC: 支持向量机分类器。 - sklearn.preprocessing.normalize: 数据归一化函数。 这些常用于数据科学项目,涉及数据加载、处理、建模、评估和可视化。 我将用中文写一个概述。 然后,提出相关问题。相关问题应该基于我的回答和用户的问题。例如: 1. 如何安装这些? 2. 如何在一个项目中一起使用它们? 3. 这些机器学习工作流中的角色是什么? 等等。 确保相关问题数量为3-5个。 回答格式: - 先回答问题。 - 然后,一行"§§相关问题§§" - 接着,1. 2. 3. ... 列出问题。 禁止换行分散,所以相关问题部分应该连续。 最终输出: [回答内容] §§相关问题§§ 1. ... 2. ... 3. ...</think>以下是您提供的Python列表的简要中文介绍。这些在数据科学、机器学习和数据分析中非常常用,它们各自承担不同的角色: - **numpy**: 用于高效的数值计算,提供多维数组对象和数学函数。 - **matplotlib.pyplot**: 用于数据可视化,支持创建各种图表(如折线图、散点图)。 - **pandas**: 用于数据处理和分析,提供DataFrame结构来处理表格数据。 - **sqlite3**: 用于与SQLite数据交互,执行SQL查询和管理本地数据。 - **IPython.display.display**: 在Jupyter笔记本中显示输出(如图像、HTML)。 - **scipy.stats.entropy**: 计算概率分布的熵(信息熵),常用于信息论和统计。 - **sklearn.naive_bayes.MultinomialNB**: scikit-learn中的多项式朴素贝叶斯分类器,适用于文本分类等任务。 - **sklearn.model_selection.cross_val_score**: 用于交叉验证评估模型性能,计算得分指标。 - **sklearn.linear_model.LogisticRegression**: 逻辑回归分类器,用于二分类或多分类问题。 - **sklearn.svm.SVC**: 支持向量机分类器,适用于分类任务,支持核技巧。 - **sklearn.preprocessing.normalize**: 用于数据归一化,将特征缩放至单位范数,提高模型稳定性。 这些通常结合使用,例如在机器学习工作流中:pandas加载数据,numpy处理数值,scikit-learn构建模型,matplotlib可视化结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值