sklearn机器学习实战

1.PCA降维

不是每个数据特征对分析的问题都有用。即使有用,对问题的重要程度也不一样。而我们需要过滤和筛选一些特征,去除冗余。

数据降维是指采取某种映射方法,把高维空间中可能包含冗余信息和噪声的数据点映射到低维空间,在低维空间重新表示高维空间中的数据,挖掘数据内部本质结构特征,提高识别精度、减少计算量和空间复杂度。

PCA主成分分析,通过对矩阵进行奇异值分解,并期望在投影后的维度上方差最大,使得投影后的维度尽可能少,同时保留尽可能多的原数据特征。

pca = PCA(n_components=None, whiten=False, svd_solver='auto', iterated_power='auto', random_state=None)

其中:

· n_components指定要保留的成分的数量。

· svd设置奇异值分解的方法,如auto, full, arpack, randomized.

PCA对象的常用属性:

pca.components_:表示特征空间中的主成分,表示数据中最大方差的方向。

常用方法:

· fit(X):用X训练模型。

· fit_transform(X):用X拟合模型,并对X降维。

· transform(X):对X进行降维。

2.交叉验证 CV

确定模型后,应该设置合适的模型参数。

为了对模型进行评估,不同的数据集划分会影响结果。因此可以使用不同的划分评估并求平均值。

crossvalidation交叉验证,会反复划分数据集并评估模型。//相当于就直接train了然后直接求score。

cross_val_score(estimator, X, y=None, cv=None)

其中:

· estimator指定被评估的模型。

· X和y指定数据集和对应的label。

· cv指定划分策略,设置为整数时表示把数据集拆成几个部分对模型进行训练和评分、设置为None默认使用3折叠交叉验证。

scores = cross_val_score(..., cv=shuffleSpilt(test size=, train size=, n_splits=)) //交叉验证 随机拆分

3.网格搜索

代替多次交叉验证取得最优参数的过程。

gscv = GridSearchCV(estimator, paramgrid, scoring=None, fit_params=None, cv=None, refit=True)

其中:

· estimator用来设置待选择参数的模型。

· param设置待测试和选择的参数。

· scoring设置选择参数的评分函数。

· cv同上。

· refit设置是否使用在整个数据集上发现的最佳参数对模型进行重新拟合。

GridSearchCV类对象的属性:

· cv_results:交叉验证结果。

· best_estimator:得分最高的模型。

· best_score:最佳模型的平均得分。

· best_params:最佳参数。

· scorer:使用的评分函数。

· n_splits:交叉验证时折叠的数量。

~的方法:

· fit(X, y=None):使用所有参数拟合模型。

· predict(X):使用最佳参数调用模型的predict()方法。

· score(X, y=None):返回模型在指定数据上的得分。

· transform(X):使用最佳参数调用模型的transform()方法。

相关推荐
Yuleave7 分钟前
高效流式大语言模型(StreamingLLM)——基于“注意力汇聚点”的突破性研究
人工智能·语言模型·自然语言处理
cqbzcsq9 分钟前
ESMC-600M蛋白质语言模型本地部署攻略
人工智能·语言模型·自然语言处理
Erik_LinX16 分钟前
day1-->day7| 机器学习(吴恩达)学习笔记
笔记·学习·机器学习
刀客1231 小时前
python3+TensorFlow 2.x(四)反向传播
人工智能·python·tensorflow
SpikeKing1 小时前
LLM - 大模型 ScallingLaws 的设计 100B 预训练方案(PLM) 教程(5)
人工智能·llm·预训练·scalinglaws·100b·deepnorm·egs
时间很奇妙!1 小时前
decison tree 决策树
算法·决策树·机器学习
小枫@码2 小时前
免费GPU算力,不花钱部署DeepSeek-R1
人工智能·语言模型
liruiqiang052 小时前
机器学习 - 初学者需要弄懂的一些线性代数的概念
人工智能·线性代数·机器学习·线性回归
Icomi_2 小时前
【外文原版书阅读】《机器学习前置知识》1.线性代数的重要性,初识向量以及向量加法
c语言·c++·人工智能·深度学习·神经网络·机器学习·计算机视觉
微学AI2 小时前
GPU算力平台|在GPU算力平台部署可图大模型Kolors的应用实战教程
人工智能·大模型·llm·gpu算力