初识python(拓展与应用)(基于苏州大学慕课网)

这个写的不太好,想具体了解可以看看苏大网课第八章

1Python与KNN分类

机器学习

机器学习分类

  • 监督学习
    • 回归
      • 预测的变量是连续的
    • 分类
      • 预测的变量是离散的
  • 无监督学习
    • 聚类
  • 半监督学习
    • 人工标记数据太贵
    • 无监督有时不靠谱

机器学习常见问题

  • 欠拟合
    • 模型过于简单,参数不够
  • 过拟合
    • 模型太复杂,参数过多,特征数目过多
      在这里插入图片描述

三个集合

  • 训练集
    • 生成模型
  • 测试集
    • 测试模型
  • 开发集
    • 调节参数

基于机器学习解决问题步骤

  • 数据预处理
  • 特征筛选
  • 选择适用本问题的学习算法
  • 训练模型(基于训练集和开发集)
  • 测试模型(基于测试集)
  • 开放使用

KNN

  • K近邻分类
    • 以全部训练样本作为代表点
    • 计算未知样本与所有训练样本的距离
    • 并以近邻K个样本的大多数类别作为未知样本的类别

scikit-learn

  • scikit-learn
    • 第三方提供的机器学习模块
    • 包含了从数据预处理到训练模型的各个方面接口函数
    • 包含KNN分类器的功能
    • pip install sklearn
  • 鸢尾花数据集
  • 包含150个数据样本
    • 分为3类:Setosa, Versicolour, Virginica
  • 每个数据包含4个属性
    • 花萼长度、花萼宽度、花瓣长度、花瓣宽度
      在这里插入图片描述

KNN的优缺点

  • 简单
  • 支持多分类
  • K的取值会影响结果
  • 噪声数据敏感

练习题

1.无监督学习需要标注大量的数据才能用以训练得到模型。(×)
2.回归和分类问题都有可能发生过拟合。(√)
3.机器学习只能从有标注的数据中进行学习。(×)
4.训练模型时,常根据测试集的性能调节模型的参数。(×,开发集)
5.训练模型时,开发集的性能有助于判断过拟合。(√)

2汉语分词实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

练习题

1.使用jieba分词工具,不仅可以获取分词结果,还能标注出每个词的词性。(√)
2.jieba工具内部有一个词典,可用来辅助分词。(√)
3.基于词典的分词方法常用字符串匹配的方式实现。(√)
4.jieba工具可支持繁体字分词。(√)
5.分词规范、歧义切分和未登陆词的识别是中文分词常遇到的难题。(√)
6.中文自动分词的一个障碍是歧义,歧义可以分为交集型歧义和____________歧义。(组合型
7.结巴分词提供了三种切分模式,分别是精确切分、全切分和__________切分。(搜索引擎

3NLTK

Natural Language Toolkit;
自然语言处理领域最常用的模块之一,同时支持Python2和3;
数十个语料库和词库,例如:WordNet 电子字典;
提供了词法、句法分析功能;
具有强大高效的统计功能;
实现了多个经典机器学习方法;
活跃的官方交流论坛,官网网址是:http://www.nltk.org/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4Numpy

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文档Numpy

5Pandas

6Matplotlib与数据可视化

第三方绘图模块
需要NumPy库的支持
提供多种坐标系
· 笛卡尔坐标系
· 极坐标
· 球坐标
制作的图形达到出版级的标准
安装:pip install matplotlib

绘制函数曲线
1.导入包

import matplotlib.pyplot as plt
import numpy as np

2.准备数据

x = np.arange(-np.pi,np.pi,0.1)
y = np.sin(x)

3.绘制图形

plt.plot(x,y,'b')  # 'b'代表使用蓝色画曲线

线宽、线型、网格线控制

linewidth = 2.0 # 线宽
linestyle = ':' 
# '-'实线 '-.'点划线 ':'虚线 '--' 双划线
plt.grid(True)  # 绘制网格线

坐标轴和标题的控制

plt.xlim(-5,5) #设定横坐标范围
plt.xlabel("x") #横轴标识
plt.title("Plot y=x*x") #设定图形的标题

坐标轴刻度

plt.xticks(np.linspace(-np.pi,np.pi,5))

设置图例

plt.legend(loc = 'upper left') #左上角显示图例

饼图pie
散点图scatter
柱状图bar
子窗口制图 subplot

设置图的大小和分辨率

fig, axes = plt.subplots(figsize=(8,6), dpi=100)

保存图片
savefig(*args,**kwargs)
· 文件名是必需参数
plt.savefig(plot_file,bbox_inches=‘tight’)
· tight表示去掉不需要的白边

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值