当前位置: 首页 > news >正文

创建网站的软件什么梦/太原百度搜索排名优化

创建网站的软件什么梦,太原百度搜索排名优化,怎么做物物交换网站,官网网站建设需求文章目录 前言一、特征降维1.特征选择2.主成分分析(PCA) 二、KNN算法三、模型的保存与加载 前言 通过今天的学习,我掌握了机器学习中的特征降维的概念以及用法,KNN算法的基本原理及用法,模型的保存和加载 一、特征降维…

文章目录

  • 前言
  • 一、特征降维
    • 1.特征选择
    • 2.主成分分析(PCA)
  • 二、KNN算法
  • 三、模型的保存与加载


前言

通过今天的学习,我掌握了机器学习中的特征降维的概念以及用法,KNN算法的基本原理及用法,模型的保存和加载


一、特征降维

对于未经处理的原始数据,其中往往包括大量的特征,会导致计算量很大,我们希望通过降维,舍弃掉一些特征,或者将几个特征转换为一个特征

特征降维的方式主要包括:

  • 特征选择:舍弃掉一些特征,从原始特征集中挑选出最相关的特征
  • 主成分分析(PCA):通过数学计算,将几个特征转换为一个特征,达到降维的目的

1.特征选择

(1)低方差过滤特征选择
原理:如果计算某一个特征的数据得到的方差很小,说明这个特征的数据总体变化不大,包含的信息较少,可以舍弃

API用法:sklearn.feature_selection.VarianceThreshold(threshold=2.0)

  • threshold参数用于指定低方差阈值,小于该阈值的特征将被过滤
data = pd.DataFrame([[10,1],[11,3],[11,1],[11,5],[11,9],[11,3],[11,2],[11,6]])
# 实例化转换器对象
transfer = VarianceThreshold(threshold=0.1)
# 特征选择
data_new = transfer.fit_transfrom(data)
print(data_new)

(2)相关系数特征选择
原理:根据计算两个变量的皮尔逊相关系数度量二者的相关性,若相关系数很小,则说明两个量之间没什么关联,可以据此舍弃一些与目标不相关的特征

皮尔逊相关系数的取值范围为:[-1,1],越接近1代表正相关性越强,反之代表负相关性越强,而接近0代表相关性很弱

通过以下公式:
ρ = Cos ⁡ ( x , y ) D x ⋅ D y = E [ ( x − E x ) ( y − E y ) ] D x ⋅ D y = ∑ i = 1 n ( x − x ~ ) ( y − y ˉ ) / ( n − 1 ) ∑ i = 1 n ( x − x ˉ ) 2 / ( n − 1 ) ⋅ ∑ i = 1 n ( y − y ˉ ) 2 / ( n − 1 ) \rho=\frac{\operatorname{Cos}(x, y)}{\sqrt{D x} \cdot \sqrt{D y}}=\frac{E[(x_-E x)(y-E y)]}{\sqrt{D x} \cdot \sqrt{D y}}=\frac{\sum_{i=1}^{n}(x-\tilde{x})(y-\bar{y}) /(n-1)}{\sqrt{\sum_{i=1}^{n}(x-\bar{x})^{2} /(n-1)} \cdot \sqrt{\sum_{i=1}^{n}(y-\bar{y})^{2} /(n-1)}} ρ=Dx Dy Cos(x,y)=Dx Dy E[(xEx)(yEy)]=i=1n(xxˉ)2/(n1) i=1n(yyˉ)2/(n1) i=1n(xx~)(yyˉ)/(n1)
计算得到余弦相似度,|ρ|<0.4为低度相关; 0.4<=|ρ|<0.7为显著相关; 0.7<=|ρ|<1为高度相关

API用法:scipy.stats.personr(x,y)

  • x,y为需要比较的两个向量
  • 返回值包括:statistic皮尔逊相关系数以及pvalue零假设,该值越小说明两个量越相关
from scipy.stats import pearsonr
x = [1,2,3]
y = [10,20,30]
res = pearsonr(x,y)
print(res.statistic)
print(res.pvalue)

2.主成分分析(PCA)

主成分分析的核心是在保留数据方差的前提下将原始数据降维到新的坐标空间中以减少数据维度
在这里插入图片描述
假设B点坐标为( x 0 x_0 x0 y 0 y_0 y0),根据上图的几何关系 x 0 x_0 x0投影到L的大小AE为 x 0 ∗ c o s α x_0*cos \alpha x0cosα

y 0 y_0 y0投影到L的大小EF为 y 0 ∗ s i n α y_0*sin\alpha y0sinα

在这里插入图片描述
通过这个公式,我们可以将二维坐标点映射到一维的直线上(本质上是通过矩阵运算进行线性变换),达到降维的目的

这里投影到直线上的距离就是降维后保留的信息,而垂直于直线上的投影则是损失的信息,在进行PCA时,我们要使保留信息/原始信息=信息保留的比例较大

其次,我们根据主成分的方差等,确定最终保留的主成分个数, 方差大的要留下

API用法:sklearn.decomposition.PCA(n_components=None)

  • n_components用于指定降维参数,如果是小数表示降维后的信息保留比,如果是整数表示降维至多少特征
from sklearn.decomposition import PCA
# 注意该列表中元素表示四维向量
data = [[2,8,4,5], [6,3,0,8], [5,4,9,1]]
# 实参为小数表示信息保留比,为整数时表示保留特征的个数
tool = PCA(n_components=2)
data = tool.fit_transform(data)
print(data)

tips:在机器学习库中,默认输入的数据中:行代表每一个数据样本,列代表数据样本的各个特征,降维指的是减少数据样本的特征数

二、KNN算法

K-近邻算法(K-Nearest Neighbors,简称KNN),根据K个邻居样本的类别来判断当前样本的类别;

该算法的核心是计算某个样本到相邻k个样本间的距离,再对得到的距离进行排序,最后得到样本的类别

KNN算法的原理简单易懂,但对于维度较高和数据链较大的样本效果不佳且效率低下

API用法:sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, algorithm=‘auto’)

  • n_neighbors代表近邻的个数
  • algorithm指找到近邻的方法,是数据结构中的算法,一般指定为“auto”
from sklearn.datasets import load_iris
from sklearn.model_selction import train_test_split
from sklearn.perprocessing import StandarScaler
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
# 加载数据
x,y = load_iris(return_X_y=True)
# 数据划分
x_train,x_test,y_train,y_test = train_test_split(x,y,train_size=0.8,shuff=True,random_state=42)
# 特征工程
transfer = StandarScaler()
x_train = transfer.fit_transfrom(x_train)
x_test = transfer.transfrom(x_test)
# 创建模型
model = KNeughborsClassifier(n_neighbors=5)
# 训练模型
model.fit(x_train,t_train)
# 模型预测
y_pred = model.predict(x_test)
# 模型评估
score = np.sum(y_test==y_pred)/len(y_test)
print(score)

三、模型的保存与加载

在现实开发场景中,模型的训练和使用往往是分离的,因此我们希望训练完模型后可以保存到指定位置,再次使用时可以加载模型直接使用

API使用:

  • 保存模型:joblib.dump(model, path)
  • 加载模型:joblib.load(path)
if score > 0.9:joblib.dump(model,"./src/model/knn.pkl")joblib.dump(transfer,"./src/model/knn_transfer.pkl")print("保存成功!")
else:print("模型效果差,保存失败!")

THE END

http://www.whsansanxincailiao.cn/news/32020302.html

相关文章:

  • 网站开发自学网/搜索引擎排名营销
  • 南昌网站搭建服务/怎样优化网站排名靠前
  • 做怎么样的自己的网站/四川聚顺成网络科技有限公司
  • ubuntu做的网站架构/seo学徒是做什么
  • 凡科建站相关链接/微博关键词排名优化
  • 老阿姨哔哩哔哩b站肉片入口直播/技能培训学校
  • 深圳网站制作哪家好薇/seo关键词排名公司
  • 免费包装设计网站/sem是什么岗位
  • 不会写代码怎么做网站/seo入门
  • 青岛网站建设公司/百度seo推广软件
  • 电子商务网站建设的工具/电商运营公司排名
  • 服装公司网站结构/淄博新闻头条最新消息
  • 网站建设数据安全分析/人工智能培训
  • 网站注册备案之后怎么做网站/app软件推广平台
  • 外贸建站用的服务器/公司网站建设哪个好
  • 网站建设岗位能力/站长统计app进入网址新版小猪
  • 建设工程检测预约网站/网站是怎么做出来的
  • 什么是网站主题优化/aso优化渠道
  • wordpress 不同分类目录调用不同模板的方法/seo神器
  • 做网站卖掉/百度官方网址
  • 推广普通话活动总结/seo优化怎么做
  • 厦门建设网站公司/百度旗下所有app列表
  • 网站内链案例/武汉seo招聘网
  • 怎么用视频做网站登录的背景/网络营销的功能有哪些?
  • 企业网站搭建 网络活动策划/全网推广的方式
  • dede后台删了 网站还有/网站注册要多少钱
  • 虚拟主机 域名 和网站关系/热点军事新闻
  • 云服务器搭建网站教程/百度营销是什么
  • 西安知名网站建设公司排名/怎么创建网站
  • 一个域名可以做几个网站/天津网站优化