欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 人工智能-机器学习- 2

人工智能-机器学习- 2

2025/2/24 22:00:02 来源:https://blog.csdn.net/dgsiwbe/article/details/143749050  浏览:    关键词:人工智能-机器学习- 2

特征降维

        实际数据中,有时候特征很多,会增加计算量,降维就是去掉一些特征,或者转化多个特征为少量个特征

主成份分析(PCA)

        使用$(x_0,y_0)$表示一个点, 表明该点有两个特征, 而映射到L上有一个特征就可以表示这个点了。这就达到了降维的功能 。

from sklearn.decomposition import PCA

参数:

若PCA()内的参数n_components=0.6,表示保留百分之六十的数据

若为整数,则表示保留几个维度。

sklearn机器学习概述

获取数据、数据处理、特征工程后,就可以交给预估器进行机器学习

KNN 算法原理

如果一个样本在特征空间中的k个最相似(最邻近)样本中的大多数属于某个类别,则该类本也属于这个类别

比如: 有10000个样本,选出7个到样本A的距离最近的,然后这7个样本中假设:类别1有2个,类别2有3个,类别3有2个.那么就认为A样本属于类别2,因为它的7个邻居中 类别2最多

from sklearn.neighbors import KNeighborsClassifier

参数:

        n_neighbors:,默认为5,用于kneighbors查询的近邻数。

        fit(x, y),x是拿来训练的数据(也就是训练数据集),y是目标数据集(也就是测试数据集)

        model.predict(X),将测试数据抛入模型里进行预测,此处的model是训练后的模型。

        

     model.score(),表示得分,评估得分。此处的model是训练后的模型。

在进行标准化时,为了保证严谨性,分割成测试集和训练集时处理时,要把两个数据集分开处理,

用标准化后的训练集fit得到的方差和均值,在预测时再用标准化后的训练集fit得到的方差和均值标准化。

模型保存与加载

格式:

import joblib
# 保存模型
joblib.dump(‘保存的算法模型’, "路径")# 加载模型
estimator = joblib.load("my_ridge.pkl")
#使用模型预测
y_test=estimator.predict([[0.4,0.2,0.4,0.7]])
print(y_test)

模型选择与调优

交叉验证

(1) 保留交叉验证HoldOut

整个数据集被随机地划分为训练集和验证集。根据经验法则,整个数据集的近70%被用作训练集,其余30%被用作验证集。也就是我们最常使用的,直接划分数据集的方法。

        也就是平时用的数据集划分;

from sklearn.model_selection import train_test_split

(2) K-折交叉验证(K-fold)

想象你有一个数据集,里面有很多样本。你想要训练一个模型,并且想知道这个模型在未见过的数据上的表现如何。但是,如果你只用一部分数据来训练,然后用另一部分数据来测试,可能会导致模型在测试数据上表现很好,但在实际应用中表现不佳。

  1. 将数据集分成 K 份:假设你有 100 个样本,K=5,那么你将数据集分成 5 份,每份 20 个样本。

  2. 进行 K 次训练和验证

    • 第一次:使用第 1 份作为验证集,其余 4 份作为训练集。

    • 第二次:使用第 2 份作为验证集,其余 4 份作为训练集。

    • 第三次:使用第 3 份作为验证集,其余 4 份作为训练集。

    • 第四次:使用第 4 份作为验证集,其余 4 份作为训练集。

    • 第五次:使用第 5 份作为验证集,其余 4 份作为训练集。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词