目录

  • 1 第一章 大数据分析与Python
    • 1.1 课程介绍及考核要求
    • 1.2 课程PPT
    • 1.3 课程相关软件下载
    • 1.4 jupyter使用及python模块安装
    • 1.5 阿里在线jupyter指南
    • 1.6 数据分析基本操作
  • 2 第二章 Python基础操作
    • 2.1 学习目标
    • 2.2 课程PPT
    • 2.3 演示代码与数据
  • 3 第三章 Python常用库与可视化
    • 3.1 学习目标
    • 3.2 课程PPT
    • 3.3 演示代码与数据
  • 4 第四章 关联规则分析-Apriori模型
    • 4.1 学习目标
    • 4.2 课程PPT
    • 4.3 演示代码与数据
  • 5 第五章 决策树模型
    • 5.1 学习目标
    • 5.2 课程PPT
    • 5.3 演示代码与数据
  • 6 第六章 聚类算法
    • 6.1 学习目标
    • 6.2 课程PPT
    • 6.3 补充知识
    • 6.4 演示代码与数据
  • 7 第七章 神经网络
    • 7.1 学习目标
    • 7.2 课程PPT
    • 7.3 补充知识
    • 7.4 演示代码与数据
  • 8 第八章 表征学习
    • 8.1 学习目标
    • 8.2 课程PPT
    • 8.3 演示代码与数据
  • 9 第九章 案例实践(课程数据案例库)
    • 9.1 网络数据抓取
    • 9.2 百货商场用户画像
    • 9.3 上海餐饮数据分析
    • 9.4 电影推荐系统
    • 9.5 小红书服饰分析
    • 9.6 顾客市场细分
    • 9.7 支付宝交易数据分析
    • 9.8 房地产需求分析
    • 9.9 淘宝用户购物行为分析
    • 9.10 居民幸福感分析
  • 10 期末考核安排
    • 10.1 期末考核安排及课程论文模板
    • 10.2 UCI数据集
    • 10.3 阿里天池数据集
    • 10.4 科学数据银行
    • 10.5 更多数据源
  • 11 参考数据集
  • 12 拓展学习
    • 12.1 贝叶斯模型
      • 12.1.1 课程PPT
      • 12.1.2 演示代码与数据
    • 12.2 社会网络分析
      • 12.2.1 课程PPT
      • 12.2.2 演示代码与数据
    • 12.3 无标题
补充知识

参数类别参数项MLPClassifier (scikit-learn)Keras引用来源
网络结构隐藏层与神经元数
hidden_layer_sizes=(100,)
(默认单隐藏层,100个神经元)
需手动定义层结构(如 
Dense(64)
),无默认值
13

激活函数默认 
activation='relu'
(隐藏层);输出层根据任务自动选择(如分类用 
softmax
默认无激活函数,需手动指定(如 
Dense(64, activation='relu')
34
优化器优化算法默认 
solver='adam'
,可选 
sgd
lbfgs
需手动指定优化器(如 
Adam()
),无全局默认值
34

学习率
learning_rate_init=0.001
(初始学习率)
优化器内置默认值(如 
Adam
 的 
lr=0.001
34

动量因子
momentum=0.9
(仅 
solver='sgd'
 时生效)
通过优化器参数设置(如 
SGD(momentum=0.9)
48
训练策略正则化(L2)
alpha=0.0001
(控制权重衰减强度)
需通过 
kernel_regularizer
 手动添加(如 
regularizers.l2(0.001)
),默认无正则化
37

早停机制
early_stopping=False
(默认关闭,启用后使用验证集监控训练)
需通过回调函数手动启用(如 
EarlyStopping(patience=5)
37

最大迭代次数
max_iter=200
(训练最多200轮)
需通过 
epochs
 手动指定(如 
model.fit(epochs=50)
37
其他损失函数分类任务默认交叉熵,回归任务默认均方误差,不可修改需手动指定(如 
loss='categorical_crossentropy'
15

批处理大小
batch_size='auto'
(等价于 
min(200, n_samples)
默认 
batch_size=32
37

关键差异总结

  1. 灵活性

    • MLPClassifier‌:参数设置固定,适合快速实验‌37

    • Keras‌:需逐层定义结构,支持自定义优化器、正则化等复杂配置‌17

  2. 默认行为

    • MLPClassifier‌:隐藏层、激活函数、优化器等参数均有默认值‌34

    • Keras‌:大部分参数需显式指定(如网络层、激活函数),无全局默认值‌37

  3. 扩展性

    • MLPClassifier‌:依赖 

      sklearn

       接口,不支持自定义层或混合模型‌37

    • Keras‌:可通过 

      Sequential

       或函数式 API 构建复杂模型(如卷积神经网络、循环神经网络)‌15

建议根据任务需求选择工具:‌中小规模数据快速建模用 MLPClassifier,复杂模型或研究场景优先 Keras‌‌13

MLP神经网络也可以自定义参数:


from sklearn.neural_network import MLPClassifier

mlp =MLPClassifier(    

    hidden_layer_sizes=(30, 10),  # 2个隐藏层,神经元数分别为30和20

    activation='relu',            # 激活函数为ReLU

    solver='adam',                # 优化器选择Adam

    alpha=0.001,                  # L2正则化强度

    learning_rate_init=0.001,     # 初始学习率

    max_iter=500,                 # 最大迭代次数

    early_stopping=True)           # 启用早停机制)  # 因为模型运行具有随机性,如果想让每次运行结果一致,可以设置random_state随机参数为任一数字,如MLPClassifier(random_state=123)

mlp.fit(X_train, y_train)