机器学习——监督分类MLP 二分类的不确定估计

代码:

 1 # -- coding: gbk --
 2 from sklearn.datasets import load_breast_cancer
 3 from sklearn.model_selection import  train_test_split
 4 import pandas as pd
 5 import mglearn
 6 from sklearn.neural_network import MLPClassifier
 7 from sklearn.datasets import make_moons
 8 from sklearn.ensemble import GradientBoostingClassifier
 9 from sklearn.datasets import make_circles
10 from pylab import *
11 from sklearn.datasets import load_iris
12
13 def MLP初理解():
14     X, y = make_moons(n_samples=100, noise=0.25, random_state=3)
15     print(X.shape)
16     print(y.shape)
17     X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=42)
18
19     mlp = MLPClassifier(solver=‘lbfgs‘, random_state=0).fit(X_train, y_train)
20     ‘‘‘降低隐节点‘‘‘
21     #mlp = MLPClassifier(solver=‘lbfgs‘, random_state=0, hidden_layer_sizes=[10])
22     # 使用2个隐层,每个包含10个单元
23     #mlp = MLPClassifier(solver=‘lbfgs‘, random_state=0,hidden_layer_sizes=[10, 10])
24
25     # 使用2个隐层,每个包含10个单元,这次使用tanh非线性
26     #mlp = MLPClassifier(solver=‘lbfgs‘, activation=‘tanh‘, random_state=0, hidden_layer_sizes=[10, 10])
27
28 def MLP理解():
29     cancer=load_breast_cancer()
30     X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, random_state=0)
31     mlp = MLPClassifier(random_state=42)
32     mlp.fit(X_train, y_train)
33     y_pred=mlp.predict(X_test)
34     print(np.mean(y_pred==y_test))
35
36     ‘‘‘消除数据缩放‘‘‘
37     ‘‘‘计算每个特征平均值‘‘‘
38     mean_on_train = X_train.mean(axis=0)
39     ‘‘‘每个特征标准差‘‘‘
40     std_on_train = X_train.std(axis=0)
41     X_train_scaled = (X_train - mean_on_train) / std_on_train
42     X_test_scaled = (X_test - mean_on_train) / std_on_train
43     mlp = MLPClassifier(max_iter=1000,alpha=1,random_state=0)
44     mlp.fit(X_train_scaled, y_train)
45     print("Accuracy on training set: {:.3f}".format(mlp.score(X_train_scaled, y_train)))
46     print("Accuracy on test set: {:.3f}".format(mlp.score(X_test_scaled, y_test)))
47
48 def 二分类的不确定估计():
49     X, y = make_circles(noise=0.25, factor=0.5, random_state=1)
50     y_named = np.array(["blue", "red"])[y]
51     X_train, X_test, y_train_named, y_test_named, y_train, y_test = 52         train_test_split(X, y_named, y, random_state=0)
53     gbrt = GradientBoostingClassifier(random_state=0)
54     gbrt.fit(X_train, y_train_named)
55     y_pred=gbrt.predict(X_test)
56     print(y_pred)
57     ‘‘‘估计概率‘‘‘
58     y_pred = gbrt.predict_proba(X_test)
59     print(y_pred)
60     print("Predicted probabilities:\n{}".format(gbrt.predict_proba(X_test[:6])))
61 if __name__ ==‘__main__‘:
62     iris = load_iris()
63     X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=42)
64     gbrt = GradientBoostingClassifier(learning_rate=0.01, random_state=0)
65     gbrt.fit(X_train, y_train)
66     print("Decision function shape: {}".format(gbrt.decision_function(X_test).shape))

原文地址:https://www.cnblogs.com/smartisn/p/12585275.html

时间: 2024-10-12 08:44:15

机器学习——监督分类MLP 二分类的不确定估计的相关文章

【机器学习具体解释】SVM解二分类,多分类,及后验概率输出

转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51073885 CSDN?勿在浮沙筑高台 支持向量机(Support Vector Machine)以前在分类.回归问题中非常流行.支持向量机也称为最大间隔分类器,通过分离超平面把原始样本集划分成两部分. 首先考虑最简单的情况:线性可分支持向量机.即存在一个超平面能够把训练样本分开. 1.线性可分支持向量机 1.考虑一个线性二分类的问题:例如以下左图,在二维平面上有两种样本点x

【机器学习详解】SVM解二分类,多分类,及后验概率输出

转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51073885 CSDN?勿在浮沙筑高台 支持向量机(Support Vector Machine)曾经在分类.回归问题中非常流行.支持向量机也称为最大间隔分类器,通过分离超平面把原始样本集划分成两部分. 首先考虑最简单的情况:线性可分支持向量机,即存在一个超平面可以把训练样本分开. 1.线性可分支持向量机 1.考虑一个线性二分类的问题:如下左图,在二维平面上有二种样本点x,目

简单机器学习——最简单分类算法(LogisticRegression二分类线性模型、LinearSVC一对其余分类器)

代码: # -- coding: gbk -- from sklearn.datasets import load_breast_cancer from pylab import * from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.svm import LinearSVC from sklearn.datase

机器学习算法Review之分类

机器学习有着丰富的理论,分为有监督学习和无监督学习,有监督学习包括分类和回归,无监督学习包括聚类等.各种机器学习算法的基本思想都不难理解(这里的基本思想我的理解是各个算法的模型建立),而难点在于对于模型的求解,这里边有着优美的理论还有一些技巧,如SVM,EM,CART,AdaBoost,RF等.这些算法都是一些专家学者历经数年乃至十数年的研究成果,要想将它们都研究透彻确实是一项大工程,多数算法深入下去都是一本书,因此这里旨在从理解及应用的角度对这些经典的机器学习算法进行review. 分类 1)

python机器学习实战(二)

python机器学习实战(二) 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7159775.html 前言 这篇notebook是关于机器学习监督学习中的决策树算法,内容包括决策树算法的构造过程,使用matplotlib库绘制树形图以及使用决策树预测隐形眼睛类型. 操作系统:ubuntu14.04(win也ok)   运行环境:anaconda-python2.7-jupyter notebook    参考书籍:机器学习

机器学习 (一)------分类

机器学习 (一)------分类 机器学习分类 机器学习分为监督学习和无监督学习两类. 监督学习是指在有标记的样本上建立机器学习的模型(这类算法知道预测什么,即目标变量的分类信息). 无监督学习恰恰相反,是指没有标记的数据上建立学习模型. 主要任务: 分类:主要任务是将实例数据划分到合适的分类中. 回归:例如数据拟合曲线(根据给定数据点的最优拟合曲线),主要用于预测数值型数据. 如何选择合适的算法: 从上表中选择实际可用的算法,要考虑以下两个方面的问题: 1.使用机器学习算法的目的,想要算法完成

Spark机器学习实战 (十二) - 推荐系统实战

0 相关源码 将结合前述知识进行综合实战,以达到所学即所用.在推荐系统项目中,讲解了推荐系统基本原理以及实现推荐系统的架构思路,有其他相关研发经验基础的同学可以结合以往的经验,实现自己的推荐系统. 1 推荐系统简介 1.1 什么是推荐系统 1.2 推荐系统的作用 1.2.1 帮助顾客快速定位需求,节省时间 1.2.2 大幅度提高销售量 1.3 推荐系统的技术思想 1.3.1 推荐系统是一种机器学习的工程应用 1.3.2 推荐系统基于知识发现原理 1.4 推荐系统的工业化实现 Apache Spa

二分类算法评估指标

我们都知道机器学习要建模,但是对于模型性能的好坏我们并不知道是怎样的,很可能这个模型就是一个差的模型,对测试集不能很好的预测.那么如何知道这个模型是好是坏呢?必须有个评判的标准,需要用某个指标来衡量,这就是性能度量的意义.有了一个指标,就可以对比不同模型了,从而知道哪个模型更好,或者通过这个指标来调参优化选用的模型. 对于分类.回归.聚类等,分别有各自的评判标准.本篇主要介绍二分类算法(多分类可以扩展转化成二分类)的相关指标.评估一个二分类的分类器的性能指标有:准确率.查准率.查全率.F1值.A

电影评论分类:二分类问题

???????????????????????? 电影评论分类:二分类问题 二分类问题是生活应用当中最广泛使用的机器学习算法.但是正在这里,将使用深度学习框架keras来进行对问题求解,看似大材小用,也别有一番风味. 数据集 这里使用keras自带的数据集,它包含了来自互联网电影数据库(IMDB)的50000条具有较为容易撕逼的鹅评论.数据集被奉为用于训练的25000跳屏录吧与勇于测试的25000条评论,训练集和测试集都包含50%的正面评论和50%的负面评论. 加载IMDB数据集 from ke