4机器学习期末复习

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

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

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 yyum=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和YX=datas.iloc[:,0:-1]#取0到最后一列前一列#对种类英文编码Y=pd.Categorical(datas[4]).codes#对最后一列做编码#对数据进行拆分#逻辑回归是用来判断 y属于哪一个种类 1 0train_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 npimport matplotlib.pyplot as pltimport sysX=[]Y=[]def l(x):#相当损失函数return x*x#x^2def h(x):#梯度return 2*xtheta=2#theta初始值2# C:\Users\t430\AppData\Local\VZipy=l(theta)#调用损失函数f_change=2#损失变化f_up=l(theta)#上次损失Y.append(y)X.append(theta)b=0.8#a太大不收敛i=0print(f_change >1e-10)while f_change >1e-10:theta=theta-b*h(theta)#更新thetatmp=l(theta)#theta的平方f_change=abs(f_up-tmp)f_up=tmpX.append(theta)Y.append(tmp)i=i+1print(theta)plt.figure()plt.plot(X,Y,c="red")print(X)X2=np.arange(-2,2,0.1)Y2=X2**2plt.plot(X2,Y2,c="green")plt.show()

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

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

相关文章

select简单查询

SELECT 简单查询 假如我们有一张表&#xff0c;表名为 students&#xff0c;如下所示&#xff1a; --------------------------------- | id | name | age | department_id | --------------------------------- | 1 | 张三 | 20 | 101 | | 2 | Alice | …

IT入门知识博客文章大纲(0/10)

IT入门知识博客文章大纲 引言 什么是IT&#xff1f; 信息技术&#xff08;Information Technology&#xff09;&#xff0c;互联网技术是指在计算机技术的基础上开发建立的一种信息技术 。互联网技术通过计算机网络的广域网使不同的设备相互连接&#xff0c;加快信息的传输速度…

如何在 Go 应用程序中使用检索增强生成(RAG)

本文将帮助大家实现 RAG &#xff08;使用 LangChain 和 PostgreSQL &#xff09;以提高 LLM 输出的准确性和相关性。 得益于强大的机器学习模型&#xff08;特别是由托管平台/服务通过 API 调用公开的大型语言模型&#xff0c;如 Claude 的 LLama 2等&#xff09;&#xff0c…

「动态规划」买卖股票的最佳时机,如何处理多笔交易?

188. 买卖股票的最佳时机 IVhttps://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/description/ 给你一个整数数组prices和一个整数k&#xff0c;其中prices[i]是某支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。…

关于钽电容器的作用、优缺点、选型指南及故障诊断方法等介绍

钽电容器&#xff0c;全称为钽电解电容器&#xff0c;是一种以金属钽作为介质材料的电解电容器。与传统的电解电容器不同&#xff0c;钽电容器不使用液体电解质&#xff0c;而是利用钽氧化物&#xff08;五氧化二钽&#xff09;作为固态电解质&#xff0c;这使得它们具有更高的…

取证工作: SysTools SQL Log Analyzer, 完整的 SQL Server 日志取证分析

天津鸿萌科贸发展有限公司是 Systools 系列软件的授权代理商。 SysTools SQL Log Analyzer 是 Systools 取证工具系列之一&#xff0c;用于调查 SQL Server 事务日志&#xff0c;以对数据库篡改进行取证分析。 什么是 SQL Server 事务日志&#xff1f; 在深入研究 SQL 事务日…

Python 测试用例

在Python中编写测试用例通常使用unittest模块&#xff0c;这是Python标准库的一部分&#xff0c;专门用于编写和运行测试。下面是一个简单的测试用例的例子&#xff0c;展示了如何使用unittest模块来测试一个函数。 假设我们有一个简单的函数&#xff0c;用于计算两个数的和&a…

Java HttpUtil 异步不等待调用

步骤一&#xff1a;添加依赖 <dependencies><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.6.3</version></dependency> </dependencies>步骤二&#xff1a;创建异步…

在Qt中,QSerialPort::write(data) 和 readAll() 有什么关联和联系

在Qt中&#xff0c;QSerialPort::write(data) 和 readAll() 是与串行通信相关的两个不同的函数&#xff0c;它们属于 QSerialPort 类。这两个函数在串行通信中扮演不同的角色&#xff0c;但它们之间存在一定的联系&#xff1a; QSerialPort::write(data) 这个函数用于将数据发…

失眠焦虑?这些小妙招助你重拾宁静之夜

在这个快节奏的时代&#xff0c;失眠与焦虑似乎成了不少人的“常客”。每当夜幕降临&#xff0c;躺在床上却辗转反侧&#xff0c;思绪万千&#xff0c;仿佛整个世界的喧嚣都涌入了脑海。&#x1f4ad; 其实&#xff0c;放松心情&#xff0c;调整心态&#xff0c;是缓解失眠焦虑…

Java | Leetcode Java题解之第151题反转字符串中的单词

题目&#xff1a; 题解&#xff1a; class Solution {public String reverseWords(String s) {StringBuilder sb trimSpaces(s);// 翻转字符串reverse(sb, 0, sb.length() - 1);// 翻转每个单词reverseEachWord(sb);return sb.toString();}public StringBuilder trimSpaces(S…

flask基础知识1

目录 1.介绍 2.体验一下 3.配置参数&#xff1a; 4.路由和URL 1.路由 2.动态路由&#xff1a; 自定义转换器&#xff1a; 3.使用自定义转换器 5.url_for函数 6.request参数 7.处理响应&#xff1a; 1.重定向&#xff1a; 2.返回json数据&#xff1a; 3.返回模板&…

el-table 多选回显,分页回显

实现el-table多选分页回显功能&#xff0c;左侧是分页的数据源&#xff0c;右侧是选择后的人员数据&#xff0c;切换下一页&#xff0c;选中的数据会在左侧表格回显。 实现&#xff1a; <template><el-dialog :title"title" :visible.sync"show"…

java:spring使用【@ImportResource】导入一个xml里面定义的bean

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89434148 # 项目代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…

长亭培训加复习安全产品类别

下面这个很重要参加hw时要问你用的安全产品就有这个 检测类型产品 偏审计 安全防御类型 EDR类似于杀毒软件 安全评估 任何东西都要经过这个机械勘察才能上线 安全管理平台 比较杂 比较集成 审计 漏扫 评估 合在这一个平台 也有可能只是管理 主机理解为一个电脑 安了终端插件…

Vue39-组件的嵌套

一、嵌套的定义 二、嵌套示例 school组件中&#xff0c;嵌套student组件 局部注册&#xff0c;注册给谁&#xff0c;就在谁的结构里面写&#xff01; vue拿不到<student>组件标签&#xff01;&#xff01;&#xff01; 三、一人之下万人之上的app组件 或者容器里面不用…

6.14作业

使用手动连接&#xff0c;将登录框中的取消按钮使用第二中连接方式&#xff0c;右击转到槽&#xff0c;在该槽函数中&#xff0c;调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0…

探索Napier:Kotlin Multiplatform的日志记录库

探索Napier&#xff1a;Kotlin Multiplatform的日志记录库 在现代软件开发中&#xff0c;日志记录是不可或缺的部分&#xff0c;它帮助开发者追踪应用的行为和调试问题。对于Kotlin Multiplatform项目而言&#xff0c;能够在多个平台上统一日志记录的方法显得尤为重要。Napier…

浏览器无痕模式和非无痕模式的区别

无痕模式 1. 历史记录&#xff1a;在无痕模式下&#xff0c;浏览器不会保存浏览记录、下载记录、表单数据和Cookies。当你关闭无痕窗口后&#xff0c;这些信息都会被删除。
 2. Cookies&#xff1a;无痕模式会在会话期间临时存储Cookies&#xff0c;但在关闭无痕窗口…

数据结构 ->反转链表

工作原理 初始化&#xff1a; cur 指向传入的节点 node&#xff0c;即链表的头节点。prv 初始化为 NULL&#xff0c;用于存储当前节点的前一个节点。 循环反转&#xff1a; 在 while 循环中&#xff0c;当 cur 不为空时执行循环体。保存当前节点的下一个节点&#xff1a;使用 t…