人工智能–> 机器学习 --> 深度学习
  1. 人工智能是指一种能够让机器像人类一样思考的技术.
  2. 机器学习是实现人工智能的途径之一, 就是用大量数据, 计算出一个模型, 然后利用模型, 对未知数据进行预判.
  3. 深度学习则是机器学习的领域之一, 主要是指基于图形建模,预判
机器学习的流程
  1. 准备原始数据.

    原始数据必须是100%正确的. 否则训练出来的模型准确度不够高

  2. 特征工程

    特征工程就是将原始数据进行一系列的处理, 使其利于机器学习
    特征工程分为:

    特征抽取: 将由训练价值的数据提取出来
    特征降维: 从诸多有用特征中, 提取要训练的特征
    特征预处理: 使用归一化, 标准化等方式, 将原始数据变成利于机器学习的数据

    归一化: 将数据使用算法变成同一数量级的数据, 适用于数据量小, 样本比较规范的场景
    标准化: 利用均值, 采用标准差的方式对数据进行处理. 适用于数据量大, 样本嘈杂的场景

  3. 分隔数据

    将数据按照1:4, 1:3, 或3:7的比例分成用于验证的数据+用于训练的数据

  4. 训练, 使用算法拟合数据, 得到机器学习模型

    训练算法有三大类:
    分类算法: 结果为离散型数据, 具体有Knn近邻算法, 朴素贝叶斯算法, 决策树
    回归算法: 结果为连续型数据, 具体有线性回归算法, 岭回归算法
    聚类算法: 具体有 kmeans算法

    离散型数据 是一种计数数据, 在一定范围内不可分, 如, 红绿蓝灯, 高兴,悲伤
    连续型数据 在一定范围内可分, 如成功概率

  5. 验证, 使用测试数据测试模型的准确率

    使用分隔好的测试数据对训练模型进行验证

使用python进行深度学习的准备工作
  1. 安装python扩展包
pip install sklearn # 进行机器学习, 内置部分样本数据
pip install pandas # 原始数据处理工具
pip install numpy 
pip install jupyter 
pip install tensorflow 
  1. 验证: 分别导入每个包, 导入成功不报错就代表安装成功
>>> import sklearn
>>> import pandas
>>> import numpy
>>> import jupyter
>>> import tensorflow
代码示例
  1. 准备样本数据: 样本数据大致的样子如下

样本数据介绍
milage 是飞机里程数
Liters 每年消耗冰激淋公升数
Consumtime 平均每天消遣小时数
target 异性喜欢程度

milage,Liters,Consumtime,target
40920,8.326976,0.953952,3
14488,7.153469,1.673904,2
26052,1.441871,0.805124,1
75136,13.147394,0.428964,1
38344,1.669788,0.134296,1

下载数据集 提取码:svqk

  1. 示例代码

利用以上数据训练模型, 使用Knn近邻算法估计器, 得出男性在异性中的受欢迎程度

# 导入pands库用于处理数据
import pandas as pd
# 导入训练-验证分割数据工具, 对样本数据按比例进行分割
from sklearn.model_selection import train_test_split
# 导入K近邻算法包, 用于生成模型
from sklearn.neighbors import KNeighborsClassifier
# 导入归一化预处理包, 对数据进行归一化预处理
from sklearn.preprocessing import MinMaxScaler
# 导入标准化预处理包, 对数据进行标准化预处理
from sklearn.preprocessing import StandardScaler

data = pd.read_csv("dating.txt")
x = data[["milage", "Liters", "Consumtime"]]
y = data["target"]

'''
# 标准化预处理: 平均差值处理
pre_standar = StandardScaler()
x = pre_standar.fit_transform(x)
print(x)
'''

# 数据集归一化处理
pre_scaler = MinMaxScaler(feature_range=(2, 3))
x = pre_scaler.fit_transform(x)
# y 的值很统一, 不作处理

# 分割数据
x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.3)
# 制作估计器, 就是创建一个算法实例, 能够对原始数据按照算法进行计算
knn = KNeighborsClassifier(n_neighbors=7)
# 拟合数据, 训练模型
knn.fit(x_train, y_train)

# 测试拟合结果
score = knn.score(x_test, y_test)
print(score)

# 使用模型进行预测
res = knn.predict([[2.0, 2.1,2.1]])
target_names = {1:"喜欢", 2:"中等", 3:"不喜欢"}
print("预测结果: ", target_names[int(res)])
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐