当前位置: 首页 > news >正文

应用lbfgs的sklearn神经网络

应用lbfgs的sklearn神经网络

本文部分来自/sklearn/neural_network/tests/test_mlp.py,导入必要的库,并加载数据集。

from sklearn.neural_network import MLPClassifier, MLPRegressor
from sklearn.datasets import (load_digits,load_iris,make_regression,make_multilabel_classification
)
from sklearn.preprocessing import MinMaxScaler, scale
from sklearn.utils._testing import (assert_allclose,assert_array_equal,
)
import numpy as np
ACTIVATION_TYPES = ["identity", "logistic", "tanh", "relu"]X_digits, y_digits = load_digits(n_class=3, return_X_y=True)X_digits_multi = MinMaxScaler().fit_transform(X_digits[:200])
y_digits_multi = y_digits[:200]X_digits, y_digits = load_digits(n_class=2, return_X_y=True)X_digits_binary = MinMaxScaler().fit_transform(X_digits[:200])
y_digits_binary = y_digits[:200]X_reg, y_reg = make_regression(n_samples=200, n_features=10, bias=20.0, noise=100.0, random_state=7
)
y_reg = scale(y_reg)iris = load_iris()
X_iris = iris.data
y_iris = iris.target

测试lbfgs分类

def test_lbfgs_classification(X, y):# Test lbfgs on classification.# It should achieve a score higher than 0.95 for the binary and multi-class# versions of the digits dataset.X_train = X[:150]y_train = y[:150]X_test = X[150:]expected_shape_dtype = (X_test.shape[0], y_train.dtype.kind)for activation in ACTIVATION_TYPES:mlp = MLPClassifier(solver="lbfgs",hidden_layer_sizes=50,max_iter=150,shuffle=True,random_state=1,activation=activation,)mlp.fit(X_train, y_train)y_predict = mlp.predict(X_test)assert mlp.score(X_train, y_train) > 0.95assert (y_predict.shape[0], y_predict.dtype.kind) == expected_shape_dtype

测试lbfgs回归

def test_lbfgs_regression(X, y):# Test lbfgs on the regression dataset.for activation in ACTIVATION_TYPES:mlp = MLPRegressor(solver="lbfgs",hidden_layer_sizes=50,max_iter=200,tol=1e-3,shuffle=True,random_state=1,activation=activation,)mlp.fit(X, y)if activation == "identity":assert mlp.score(X, y) > 0.80else:# Non linear models perform much better than linear bottleneck:assert mlp.score(X, y) > 0.98

测试多标签分类

def test_multilabel_classification():# Test that multi-label classification works as expected.# test fit methodX, y = make_multilabel_classification(n_samples=50, random_state=0, return_indicator=True)mlp = MLPClassifier(solver="lbfgs",hidden_layer_sizes=50,alpha=1e-5,max_iter=150,random_state=0,activation="logistic",learning_rate_init=0.2,)mlp.fit(X, y)assert mlp.score(X, y) > 0.97

测试多输出回归

def test_multioutput_regression():# Test that multi-output regression works as expectedX, y = make_regression(n_samples=200, n_targets=5, random_state=11)mlp = MLPRegressor(solver="lbfgs", hidden_layer_sizes=50, max_iter=200, tol=1e-2, random_state=1)mlp.fit(X, y)assert mlp.score(X, y) > 0.9

测试预测多标签的概率

def test_predict_proba_multilabel():# Test that predict_proba works as expected for multilabel.# Multilabel should not use softmax which makes probabilities sum to 1X, Y = make_multilabel_classification(n_samples=50, random_state=0, return_indicator=True)n_samples, n_classes = Y.shapeclf = MLPClassifier(solver="lbfgs", hidden_layer_sizes=30, random_state=0)clf.fit(X, Y)y_proba = clf.predict_proba(X)assert y_proba.shape == (n_samples, n_classes)assert_array_equal(y_proba > 0.5, Y)y_log_proba = clf.predict_log_proba(X)proba_max = y_proba.argmax(axis=1)proba_log_max = y_log_proba.argmax(axis=1)assert (y_proba.sum(1) - 1).dot(y_proba.sum(1) - 1) > 1e-10assert_array_equal(proba_max, proba_log_max)assert_allclose(y_log_proba, np.log(y_proba))

运行测试函数

test_lbfgs_classification(X_digits_multi, y_digits_multi)
test_lbfgs_classification(X_digits_binary, y_digits_binary)
test_lbfgs_regression(X_reg, y_reg)
test_multilabel_classification()
test_multioutput_regression()
test_predict_proba_multilabel()
http://www.dtcms.com/a/449224.html

相关文章:

  • mysql学习---事务
  • 网站建设情况通报公司注册资金需要多少
  • 【C++实战(75)】筑牢安全防线,攻克漏洞难题
  • 西安网站托管排名网站建设技术支持有什么
  • 【OTA升级】英飞凌TC397实现刷写失败回滚(A/B分区)
  • 揭开 C++ vector 底层面纱:从三指针模型到手写完整实现
  • 【嵌入式】【GIT】终端中文乱码修复
  • LabVIEW 并行 For 循环应用与对比
  • 广东石油化工建设集团网站设计工作室发展前景
  • (五)Vue.js 高级语法②
  • Ansible核心架构深度剖析:从源码看IT自动化的“简单“哲学
  • 深圳建站公司价格内网访问wordpress很慢
  • 网站制作咨网站备案账号密码
  • 继续补js
  • set authentication password cipher 概念及题目
  • 【高级版】沃德政务招商系统源码+uniapp小程序
  • 什么时候需要close()释放资源
  • 小迪安全v2023学习笔记(九十七天)—— 云原生篇KubernetesK8s安全APIKubelet未授权访问容器执行
  • 网站建设itcask单页网站seo
  • 设计模式学习[20]---桥接模式
  • 【第三次全国土壤普查】-土壤类型图报告编制及评分标准
  • python爬虫(一) ---- 静态html数据抓取
  • 《剑指Offer:单链表操作入门——从“头删”开始破解面试》
  • 网站备案号怎么查询做设计私活的网站
  • 微信小程序入门学习教程,从入门到精通,WXS语法详解(10)
  • 深圳做网站公司哪家好在线绘画网站
  • CodeX CLI安装+MCP适配与VSCode部署(Win)
  • 手写MyBatis第95弹:异常断点精准捕获MyBatis深层BUG
  • 网站的结构是什么样的鹰潭律师网站建设
  • Rust多线程详解