python_sklearn库的使用

python_sklearn库的使用sklearn库的使用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

python_sklearn库的使用

读取数据并按比例分为训练集和测试集

import pandas as pd
import sklearn.model_selection import train_test_split

data = pd.read_csv('./dataset/data.csv', header=None, sep='')
x_data = data.iloc[:, :-1]	#输入变量
y_data = data.iloc[:, -1:]	#实际结果
x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=0.2)

train_test_split()可以将数据按比例随机分为训练集和测试集;参数如下:

第一个参数:输入变量

第二个参数:与输入变量对应的实际结果

test_size:测试集占总数据的比例。例如test_size=0.2,则训练集:测试集=8:2

random_state:随机数的种子。若为None,则每次生成的数据都是随机的;若为整数,则每次生成的数据相同。

使用机器学习算法训练

1.监督学习

sklearn.neighbors 				#近邻算法
sklearn.svm 					#支持向量机
sklearn.kernel_ridge 			#核-岭回归
sklearn.discriminant_analysis 	#判别分析
sklearn.linear_model 			#广义线性模型

sklearn.ensemble		 		#集成学习
sklearn.tree 					#决策树
sklearn.naive_bayes 			#朴素贝叶斯
sklearn.cross_decomposition 	#交叉分解
sklearn.gaussian_process 		#高斯过程

sklearn.neural_network 			#神经网络
sklearn.calibration 			#概率校准
sklearn.isotonic 				#保守回归
sklearn.feature_selection 		#特征选择
sklearn.multiclass 				#多类多标签算法

2.无监督学习

sklearn.decomposition 			#矩阵因子分解
sklearn.cluster 				#聚类
sklearn.manifold 				#流形学习
sklearn.mixture 				#高斯混合模型
sklearn.neural_network 			#无监督神经网络
sklearn.covariance 				#协方差估计

3.数据变换

sklearn.feature_extraction 		#特征提取
sklearn.feature_selection 		#特征选择
sklearn.preprocessing 			#预处理
sklearn.random_projection 		#随机投影
sklearn.kernel_approximation 	#核逼近

示例

from sklearn.linear_model import LogisticRegression

logr = LogisticRegression()	#新建一个逻辑回归器
logr.fit(x_train, y_train.values.ravel())	#对训练集进行拟合
y_pred = logr.predict(x_test)	#使用训练好的逻辑回归器对测试集进行预测

计算模型的评价指标

使用sklearn.metrics可以计算模型的各种评价指标,例如:准确率、召回率、精确度、F1分数、ROC曲线、AUC等指标。

from sklearn.metrics import accuracy_score, recall_score, precision_score, roc_curve

acc = accuracy_score(y_test, y_pred)	#计算准确率
recall = recall_score(y_test, y_pred)	#计算召回率
precision = precision_score(y_test, y_pred)	#计算精确度

#ROC曲线
fpr, tpr, thresholds = roc_curve(y_test, y_pred)
plt.([0, 1], [0, 1], 'k-')
plt.plot(fpr, tpr)
plt.show()
from classification_report

print(classification_report(y_test, y_predict, digits=5))

输出结果为:
在这里插入图片描述

评价指标说明

在这里插入图片描述

准确率:所有样本总被分对的比例
a c c = T P + T N T P + T N + F P + F N acc=\frac{TP+TN}{TP+TN+FP+FN} acc=TP+TN+FP+FNTP+TN
召回率(灵敏度):所有正例中被分对的比例
r e c a l l = T P T P + F N recall = \frac{TP}{TP+FN} recall=TP+FNTP
精确度:被分为正例的示例中实际为正例的比例
p r e c i s i o n = T P T P + F P precision = \frac{TP}{TP+FP} precision=TP+FPTP
特效度:所有负例中被分对的比例(即为classification_report中负样本的recall值)
s p e c i f i c i t y = T N F P + T N specificity = \frac{TN}{FP+TN} specificity=FP+TNTN

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180974.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Java语言中一个字符占几个字节?「建议收藏」

    Java语言中一个字符占几个字节?「建议收藏」要区分清楚内码(internalencoding)和外码(externalencoding)就好了。内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。“外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或String…

  • 使用频谱分析仪测量微弱信号的3个步骤有哪些_频谱仪底噪怎么看

    使用频谱分析仪测量微弱信号的3个步骤有哪些_频谱仪底噪怎么看灵敏度决定了频谱仪测量微弱信号的能力。直接决定灵敏度的指标叫做频谱仪显示平均噪声电平(DANL),也称为底噪。降低频谱仪DANL有3个步骤

  • 大篆汉字对照表_篆书转换器软件下载(篆体字转换汉字对照表)[通俗易懂]

    笔顺篆书的笔顺和汉字笔顺规则基本相仿,如先横后竖、从上到下、从左到右等,这些对初学者来说是不成问题的。重要的是和汉字不同的笔顺,而这些不同之处正是篆书笔顺的特点,掌握了这些特点,就能把握好篆书的结体,做到匀称匀衡。先中间后左右对称均衡是篆字的特点。对于有中心竖线的篆字,应先写中间竖笔或中间部位的笔画,中间定位后,再写左右对称的其他笔画。对于有中心长弧(一般为撇、捺笔)的篆字,应先从中间长弧写起,再…

  • django1.8_django serializers

    django1.8_django serializers前言由于之前我们一直使用的django-rest-framework-jwt这个库,但是作者在17年的时候就已经不再维护了(有部分bug没有解决),所以我们也就不用了,目前我们使用django-r

  • JBPM(二)—JBPM工作流基本操作

    JBPM(二)—JBPM工作流基本操作流程定义的管理:将定义业务流程,部署到jbpm框架中(流程定义jpdl.xml描述文件)通过gpd插件先根据业务流程,绘制流程图(holiday.jpdl.xml和holiday.png)流程定义部署:先获得ProcessEngine对象,再获得对应Service(六个Service)ExecutionServicegetExecutionServi

  • mongodb创建、更新、删除

    mongodb创建、更新、删除

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号