前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python深度学习之路】-4 监督学习

【Python深度学习之路】-4 监督学习

作者头像
天道Vax的时间宝藏
发布2022-11-02 17:49:46
3790
发布2022-11-02 17:49:46
举报

【Python深度学习之路】-4 监督学习

4.1 了解监督学习(分类)

  1. 监督学习:根据积累的经验数据对新的数据或将来的数据进行预测,或者进行分类的一种学习方式。
  2. 无监督学习:对积累的经验数据中所存在的结构,以及关联性进行分析的学习方式。
  3. 强化学习:通过设定报酬、环境等条件来实现学习效果最大化的一种学习方式。
  4. 监督学习的分类:
    • 回归:通过读取现存数据中的关联性,并根据这些关联性来实现数据预测的一种算法。(针对连续性的值)
    • 分类:以数据预测为目的对离散值进行预测。
  5. 二分分类与多元分类
    • 二元分类:又叫二值分类,二项分类。二元分类是指分类的类别有两种的分类问题。它可以对数据是“属于/不属于”两个分组中哪一组的问题进行判断。此外,如果能够用直线对类别进行划分,就称为“线性分类”,否者,就是“非线性分类”。
    • 多元分类:又叫多项分类。多数情况下无法用直线对类别进行分类,分类的类别有三种及以上。
  6. 分类的流程:
    1. 数据的预处理,数据的整理、操作;
    2. 模型的选取,分类器的选择;
    3. 模型的训练 :选择超参数进行调校,参数的调校;
    4. 使用模型进行预测(推理):使用未知数据对模型的精读进行检验,将模型嵌入到Web服务等实际应用中。
  7. 数据的准备 使用scikit-learn.datasets模块的make_classification()函数
代码语言:javascript
复制
# 导入需要使用的模块
from sklearn.datasets import make_classification

# 创建数据X和标签y
X, y = make_classification(n_sample=xx, n_classes= xx, n_features = xx, n_redundant=xx, random_state=xx)
  • n_sample:需要准备的数据的数量。
  • n_classes:分类数量。如果不指定,默认值为2。
  • n_features:数据的特征量的个数。
  • n_redundant: 分类时不需要的特征量(额外的特征量)的个数。
  • random_state:随机数的种子(决定随机数生成规律的因素)
  1. Classifier虚构分类器:
代码语言:javascript
复制
# 导入需要使用的模块
# 以模型为单位进行模块的导入
from sklearn.linear_model import LogisticRegression
from sklearn.svm import LinearSVC,SVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier

# 构建模型
model = Classifier()  # Classifier()需要更换为实际的模型
# 对模型进行训练

model.fit(train_X,train_y)

# 使用模型对数据进行预测
model.predict(test_X)

# 模型的准确率
# 准确率是使用(模型预测的分类与实际的分类相同的数据的数量)/(数据的总数量)公式计算出来的
model.score(test_X,test_y)

Classifier()举例:

代码语言:javascript
复制
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_classification

# 创建数据X和标签y
X, y = make_classification(n_samples=100,  n_features = 2, n_redundant=0, random_state=42)

# 将数据划分为用于学习的部分和用于评估的部分
train_X, test_X, train_y, test_y = train_test_split(X, y, random_state=42)

# 构建模型
model = LogisticRegression(random_state=42)

# 对模型进行训练
model.fit(train_X,train_y)

# 使用模型对数据进行预测
model.predict(test_X)

# 模型的准确率
# 准确率是使用(模型预测的分类与实际的分类相同的数据的数量)/(数据的总数量)公式计算出来的
model.score(test_X,test_y)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【Python深度学习之路】-4 监督学习
    • 4.1 了解监督学习(分类)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档