你一定要知道的机器学习基础概念

学了机器学习一年多了,现在转做深度学习,现在想重新梳理一下机器学习的一些基本概念,也是希望自己太久不用再生疏了。参考了一些文章,下面就开始了。

分类与回归

分类和回归都是监督学习的方法。
分类问题(classification):通过训练一个模型,来达到预测定性的目标。
回归问题(regression):通过训练一个模型,来达到预测定量的目标。
两者都是描述输入(特征)到输出(标签)的关系,回归返回的是一个连续的值,分类返回的是一个离散的状态。
在这里插入图片描述

如何划分训练集测试集

这里用到了三个库,分别是pandas(读入数据)、numpy(转化数据类型为数组)和sklearn(划分数据集)。
下面举个例子

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
data = pd.read_csv('data.csv')  #读取数据
X = np.array(data[['x1','x2']])  #转化为数组
y = np.array(data['y'])
(X_train,y_train),(X_test,y_test) = train_test_split(X,y,train_size=0.8)#划分数据集

如何用sklearn库训练模型(基础代码)

这里以“逻辑回归”、“决策树”、“支持向量机”为例,从sklearn.linear_model导入LogisticRegression、GradientBoostingClassifier、SVC,上述三个函数用于生成模型的实例,实例调用fit属性用于训练模型。

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.svm import SVC

data = pd.read_csv('data.csv')  #读取数据
X = np.array(data[['x1','x2']])  #转化为数组
y = np.array(data['y'])
(X_train,y_train),(X_test,y_test) = train_test_split(X,y,train_size=0.8)#划分数据集

#线性模型
model = LogisticRegression()
model.fit(X_train,y_train)  #训练模型

#决策树
model = GradientBoostingClassifier()
model.fit(X_train,y_train)

#支持向量机
model = SVC()
model.fit(X_train,y_train)

混淆矩阵

混淆矩阵是将预测结果与真实结果放在一张表中比较,下图是对二元逻辑回归的混淆矩阵
在这里插入图片描述
类似上表,弄清楚每个表格的意思容易让人混淆,所以叫混淆矩阵。比如True Positives是正确预测了整例,False Negatives是错误预测了负例,False Positives是错误预测了正例,True Negatives是正确预测了负例。
有了混淆矩阵的概念,下面定义一些概念

准确率

查准率

在这里插入图片描述

召回率

在这里插入图片描述

F1 score

在这里插入图片描述
F1得分可以理解为对查准率和查全率取平均,但是这里不是取算数平均,而是取调和平均。为什么?因为调和平均值更接近较小值,这样查准率或查全率中哪个值较小,调和平均值就更接近这个值,这样的测量指标更严格!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值