4机器学习期末复习

news2024/11/29 8:37:45

在机器学习中,数据清洗与转换包括哪些内容?

对数据进行初步的预处理,需要将其转换为一种适合机器学习模型的表示形式对许多模型类型来说,这种表示就是包含数值数据的向量或者矩阵:

1)将类别数据编码成为对应的数值表示(一般使用1-of-k方法)-dumy

2)从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)

3)处理图像或者音频数据(像素、声波、音频、振幅等<傅里叶变换>)

4)数值数据转换为类别数据以减少变量的值,比如年龄分段

5)对数值数据进行转换,比如对数转换

6)对特征进行正则化、标准化,以保证同一模型的不同输入变量的值域相同

7)对现有变量进行组合或转换以生成新特征,比如平均数(做虚拟变量)不断尝试

文本数据抽取有哪些方法?

词袋法︰将文本当作一个无序的数据集合,文本特征可以采用文本中的词条T进行体现,那么文本中出现的所有词条及其出现的次数就可以体现文档的特征

TF-IDF:词条的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降;也就是说词条在文本中出现的次数越多,表示该词条对该文本的重要性越高,词条在所有文本中出现的次数越少,说明这个词条对文本的重要性越高。TF(词频)指某个词条在文

本中出现的次数,一般会将其进行归一化处理(该词条数量/该文档中所有词条数量);IDF(逆向文件频率)指一个词条重要性的度量,一般计算方式为总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。TF-IDF实际上是∶TF *IDF

有一种类数据[1,3,2,1,3,3,1],通过python实现哑编码代码?

def yumcode(a):

    y=[]

    for x in (1,2,3):

        if x==a:

            y.append(1)

        else:

            y.append(0)

    return y

yum=map(lambda x:yumcode(x) ,[1,3,2,1,3,3,1])

for e in yum:

    print(e)

在机器学习中,请写出模型效果判断常用算法。

MSE∶误差平方和,越趋近于0表示模型越拟合训练数据。

RMSE: MSE的平方根,作用同MSE

R2∶取值范围(负无穷,1],值越大表示模型越拟合训练数据;最优解是1;当模型预测为随机值的时候,有可能为负﹔若预测值恒为样本期望,R2为0

TSS∶总平方和TSS(Total Sum of Squares),表示样本之间的差异情况,是伪方差的m倍

RSS:残差平方和RSS ( Residual Sum of Squares ),表示预测值和样本值之间的差异情况,是MSE的m倍

请同学们使用逻辑回归根据鸢尾花(iris.data)分类建模

#加载数据

datas=pd.read_csv("datas/iris.data",header=None)#加载iris.data数据

#数据处理

datas=datas.replace("?",np.NaN)#把?号用NaN替换

datas=datas.dropna(how="any",axis=1)#删除NaN行

#提取X和Y

X=datas.iloc[:,0:-1]#取0到最后一列前一列

#对种类英文编码

Y=pd.Categorical(datas[4]).codes#对最后一列做编码

#对数据进行拆分

#逻辑回归是用来判断 y属于哪一个种类 1 0

train_x,test_x,train_y,test_y=train_test_split(X,Y,test_size=0.2,random_state=1)

#创建模型和训练模型

ss=StandardScaler()

train_x=ss.fit_transform(train_x)#把trainx数据标准化

test_x=ss.transform(test_x)#把testx数据标准化

logistic=LogisticRegressionCV(random_state=2,multi_class="ovr",cv=3)

logistic.fit(train_x,train_y) #能够识别三种花模型 求theta

#评估

proba=logistic.predict_proba(test_x)#每条记录每个种类的概率 30行 3列

ymy=label_binarize(test_y,classes=(0,1,2))#转换成哑编码 30行 3列

fpr,tpr,threshold=metrics.roc_curve(ymy.ravel(),proba.ravel())#ravel拉平,变成一维

auc=metrics.auc(fpr,tpr)#根据fpr tpr计算面积

print("auc",auc)



knn=KNeighborsClassifier(n_neighbors=5,algorithm="kd_tree")

knn.fit(train_x,train_y)#构建kd树

test_y_hat=knn.predict(test_x)



proba_knn=knn.predict_proba(test_x)

fpr1,tpr1,threshold1=metrics.roc_curve(ymy.ravel(),proba_knn.ravel())

auc1=metrics.auc(fpr1,tpr1)

print(auc1)

plt.figure()

#画逻辑回归算法ROC曲线

plt.plot(fpr,tpr,color='red',label='回归ROC auc:'+str(auc))

plt.plot(fpr1,tpr1,color='green',label='knnROC auc:'+str(auc1))

plt.legend()

plt.show()

利用梯度下降算法完成y=

求解x并画出轨迹图

import numpy as np

import matplotlib.pyplot as plt

import sys

X=[]

Y=[]

def l(x):#相当损失函数

    return x*x#x^2

def h(x):#梯度

    return 2*x

theta=2#theta初始值2

# C:\Users\t430\AppData\Local\VZip

y=l(theta)#调用损失函数

f_change=2#损失变化

f_up=l(theta)#上次损失

Y.append(y)

X.append(theta)

b=0.8#a太大不收敛

i=0

print(f_change >1e-10)

while f_change >1e-10:

    theta=theta-b*h(theta)#更新theta

    tmp=l(theta)#theta的平方

    f_change=abs(f_up-tmp)

    f_up=tmp

    X.append(theta)

    Y.append(tmp)

    i=i+1

print(theta)

plt.figure()

plt.plot(X,Y,c="red")

print(X)

X2=np.arange(-2,2,0.1)

Y2=X2**2

plt.plot(X2,Y2,c="green")

plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1825054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ //CCF-CSP计算机软件能力认证 202406-1 矩阵重塑(其一)

CCF-CSP计算机软件能力认证 202406-1 矩阵重塑&#xff08;其一&#xff09; 题目背景 矩阵&#xff08;二维&#xff09;的重塑&#xff08;reshape&#xff09;操作是指改变矩阵的行数和列数&#xff0c;同时保持矩阵中元素的总数不变。 题目描述 矩阵的重塑操作可以具体…

自动控制理论---离散傅里叶变换(DFT)进行信号谱分析

1、实验设备 PC计算机1台&#xff0c;MATLAB软件1套。 2、实验目的&#xff1a; 学习使用离散傅里叶变换&#xff08;DFT&#xff09;进行信号谱分析的方法。选择合适的变换区间长度N&#xff0c;对给定信号进行谱分析&#xff0c;并绘制幅频特性和相频曲线。 3、实验原理说…

Python武器库开发-武器库篇之SMB服务暴力破解(五十五)

Python武器库开发-武器库篇之SMB服务暴力破解(五十五) SMB服务&#xff08;Server Message Block&#xff09;是一种用于文件共享、打印机共享和其他资源共享的网络协议。它最初由IBM开发&#xff0c;后来被微软广泛采用。 SMB服务允许多台计算机在网络上共享文件和资源&…

使用 3D 图形 API 在 C# 中将 PLY 转换为 OBJ

OBJ和PLY是一些广泛使用的 3D 文件格式&#xff0c;易于编写和读取。这篇博文演示了如何以编程方式在 C# 中将 PLY 转换为 OBJ。此外&#xff0c;它还介绍了一种用于 3D 文件格式转换的在线3D 转换器。是的&#xff0c;Aspose.3D for .NET为程序员和非程序员提供了此功能来执行…

C# Winform Chart图表使用和详解

Chart控件是微软自带的一种图形可视化组件&#xff0c;能展示种类丰富的图表形式。如曲线图&#xff0c;折线图&#xff0c;饼状图&#xff0c;环形图&#xff0c;柱状图&#xff0c;曲线面积图。 实例代码链接&#xff1a;https://download.csdn.net/download/lvxingzhe3/8943…

网络安全 - DNS劫持原理 + 实验

DNS 劫持 什么是 DNS 为什么需要 DNS D N S \color{cyan}{DNS} DNS&#xff08;Domain Name System&#xff09;即域名系统。我们常说的 DNS 是域名解析协议。 DNS 协议提供域名到 IP 地址之间的解析服务。计算机既可以被赋予 IP 地址&#xff0c;也可以被赋予主机名和域名。用…

java第二十三课 —— 继承

面向对象的三大特征 继承 继承可以解决代码复用&#xff0c;让我们的编程更加靠近人类思维&#xff0c;当多个类存在相同的属性&#xff08;变量&#xff09;和方法时&#xff0c;可以从这些类中抽象出父类&#xff0c;在父类中定义这些相同的属性和方法&#xff0c;所有的子…

Anaconda环境安装失败的解决方案

链接步骤的补充。 为了运行marlib&#xff0c;需要一个全新的Anaconda环境。但是&#xff0c;不想把文件安装在C盘&#xff0c;会造成空间不足。于是试着在.condarc文件里面改动了路径&#xff0c;具体如图。 上图中&#xff0c;在defaults前面添加了D盘的路径作为安装路径。 …

增材制造引领模具创新之路

随着科技的快速发展和制造业的不断转型升级&#xff0c;增材制造&#xff08;也称为3D打印&#xff09;技术正逐渐展现出其在模具智造中的巨大潜力和优势。增材制造以其独特的加工方式和设计理念&#xff0c;为模具行业带来了革命性的变革&#xff0c;为传统制造业注入了新的活…

【odoo | XML-RPC】odoo外部API解读,实现跨系统间的通讯!

概要 文章注意对官方的XML-RPC进行解读实操&#xff0c;以python为例&#xff0c;给大家介绍其使用方式和调用方法。 内容 什么是odoo的外部API? Odoo 的外部 API 是一种允许外部应用程序与 Odoo 实例进行交互的接口。通过 API&#xff0c;可以执行各种操作&#xff0c;例如…

如果给电商系统颜值搞排名,我觉得淘宝千牛系统是天花板了。

淘宝的商家操作界面-千牛系统经过多年的迭代&#xff0c;无论从颜值上、功能上还是用户体验上都是行业天花板的存在&#xff0c;我截图软件上的一些图给大家分享下。

helm升级部署时出现升级挂起状态处理

问题 在使用helm 升级命令时&#xff0c;升级命令如下&#xff1a; helm upgrade -i -f ./values-prod.yaml myapp ./ -n myns --create-namespace中途因为网络原因&#xff0c;再次运行上面升级命令时出现&#xff0c;如下错误&#xff1a; Error: UPGRADE FAILED: another …

linux centos 安装docker

本章教程介绍如何在Linux CentOS中安装Docker服务。 1. 更新系统软件包 首先,确保你的系统软件包是最新的: sudo yum update -y2. 安装必要的依赖包 安装一些必要的依赖包: sudo yum install -y yum-utils device-mapper-persistent-data lvm23. 添加 Docker 的官方仓库…

Redis订阅发布你会用了吗?

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 免责声明~ 任何文章不要过度深思&#xff01; 万事万物都经不起审视&#xff0c;因为世上没有同样的成长环境&#xff0c;也没有同样的认知水平&#xff0c;更「没有适用于所有人的解决方案…

[数据集][目标检测]变电站火灾检测电力场景烟雾明火检测数据集VOC+YOLO格式140张2类别真实场景非PS合成

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;140 标注数量(xml文件个数)&#xff1a;140 标注数量(txt文件个数)&#xff1a;140 标注类别…

Prometheus的四种指标类型

目录 一、Counter 计数器 1.1Counter 是计数器类型 1.2Counter 类型示例 二、Gauge 仪表盘 2.1Gauge是测量器类型 2.2Gauge 类型示例 三、Histogram 累积直方图 3.1Histogram 作用及特点 3.2使用 histogram 柱状图 四、Summary 摘要 一、Counter 计数器 1.1Counter …

Java高级特性

引言 Java不仅提供了基础的编程功能&#xff0c;还包括了一系列强大的高级特性&#xff0c;这些特性能够显著提高代码的灵活性、可扩展性和性能。本文将详细介绍Java的几个高级特性&#xff0c;包括反射机制、注解与注释、泛型编程、以及Lambda表达式与Stream API&#xff0c;并…

AntDB数据库中级认证(ACP)题库

单项选择题 共35题&#xff0c;大题得分&#xff1a;62.0&#xff0c;大题满分&#xff1a;70.0 1.函数计算外移的作用&#xff1f; A. 增加计算量 B. 减少计算量 C. 减少冗余查询 D. 改变关联顺序 2.0&#xff08;本题分数&#xff1a;2.0&#xff09; 学员答案&#…

Stable Diffusion 【AI绘画提示词】摄影效果提示词,超美摄影效果摄影特效!让平凡的照片焕发出独特的魅力!

高端的摄影作品需要的专业设备价格昂贵&#xff0c;并不是一般人能够承受的起的&#xff0c;优质摄影作品对光线等一系列要求也非常的高&#xff0c;而AI摄影就完美的解决了这些问题&#xff0c;只需要配合适当的提示词&#xff0c;这些问题都可以迎刃而解。 AI绘画没灵感&…