楼主: casey_c
748 1

[程序分享] Scikit-learn应用指南:监督学习第1部分 -- 分类丨数析学院 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.0091
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文。百度搜索数析学院
课程简介
分类就是确定所研究的对象属于哪一个类别,分类问题是一个普遍存在的问题。应用广泛,如根据电子邮件的内容判断是否属于垃圾邮件,根据星系的形状对它们进行分类等。本节将主要介绍分类学习算法如何进行分类,以及如何评估分类的效果等。

学习目标
  • 了解分类学习算法
  • 了解分类学习算法的工作原理
  • 了解如何评估分类学习算法
  1. %matplotlib inline
  2. import matplotlib.pyplot as plt
  3. import numpy as np
复制代码


为了可视化机器学习算法的工作原理,研究二维或一维数据,即仅具有一个或两个特征的数据,通常是有帮助的。但在实践中,数据集通常具有更多的特征,很难在二维图形上绘制出高维数据。

我们将先演示一些简单的例子,然后再讨论更多的"现实世界"中的数据集。

首先,我们将从两个维度来考察二分类问题。我们使用make_blobs函数生成的合成数据。

  1. from sklearn.datasets import make_blobs

  2. X, y = make_blobs(centers=2, random_state=0)

  3. print('X ~ n_samples x n_features:', X.shape)
  4. print('y ~ n_samples:', y.shape)

  5. print('\nFirst 5 samples:\n', X[:5, :])
  6. print('\nFirst 5 labels:', y[:5])
复制代码


由于数据是二维的,我们可以将每个样本绘制成二维坐标系中的一个点,第一个特征是 x 轴,第二个特征是 y 轴。
  1. plt.scatter(X[y == 0, 0], X[y == 0, 1],
  2.             c='blue', s=40, label='0')
  3. plt.scatter(X[y == 1, 0], X[y == 1, 1],
  4.             c='red', s=40, label='1', marker='s')

  5. plt.xlabel('first feature')
  6. plt.ylabel('second feature')
  7. plt.legend(loc='upper right');
复制代码




[url=]删除[/url]









分类是监督学习的任务,因此我们对它在未使用到的数据上的表现感兴趣,我们将数据划分为两个部分:

  • 用于学习算法拟合模型的训练集
  • 用来评估模型泛化性能的测试集
model_selection模块中的train_test_split方法为我们做了这样的工作 -- 我们将使用它将数据集划分成 75% 的训练数据集和 25% 的测试数据集。






[url=]删除[/url]




  1. from sklearn.model_selection import train_test_split

  2. X_train, X_test, y_train, y_test = train_test_split(X, y,
  3.                                                     test_size=0.25,
  4.                                                     random_state=1234,
  5.                                                     stratify=y)
复制代码





[url=]删除[/url]




每个算法都通过一个''估计器''对象在 scikit-learn 中表现出来(scikit-learn 中的所有模型都有非常一致的接口)。比如,我们首先导入逻辑回归类。

以上内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文。百度搜索数析学院




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:scikit-learn Learn 应用指南 Earn Kit

沙发
e0g411k014z 学生认证  发表于 2018-3-30 16:53:12 |只看作者 |坛友微信交流群
xiexie louzhu

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 04:03