Python下的Softmax回归函数的实现方法(推荐)

yipeiwu_com7年前Python基础

Softmax回归函数是用于将分类结果归一化。但它不同于一般的按照比例归一化的方法,它通过对数变换来进行归一化,这样实现了较大的值在归一化过程中收益更多的情况。

Softmax公式

Softmax实现方法1

import numpy as np
def softmax(x):
 """Compute softmax values for each sets of scores in x."""
 pass # TODO: Compute and return softmax(x)
 x = np.array(x)
 x = np.exp(x)
 x.astype('float32')
 if x.ndim == 1:
  sumcol = sum(x)
  for i in range(x.size):
   x[i] = x[i]/float(sumcol)
 if x.ndim > 1:
  sumcol = x.sum(axis = 0)
  for row in x:
   for i in range(row.size):
    row[i] = row[i]/float(sumcol[i])
 return x
#测试结果
scores = [3.0,1.0, 0.2]
print softmax(scores)

其计算结果如下:

[ 0.8360188 0.11314284 0.05083836]

Softmax实现方法2

import numpy as np
def softmax(x):
 return np.exp(x)/np.sum(np.exp(x),axis=0)

#测试结果
scores = [3.0,1.0, 0.2]
print softmax(scores)

以上这篇Python下的Softmax回归函数的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决

引言 目前Python2和Python3存在版本上的不兼容性,这里将列举dict中的问题之一。下面话不多说,来看看详细的介绍: 1. Python 2  vs python 3...

Python THREADING模块中的JOIN()方法深入理解

看了oschina上的两个代码,受益匪浅。其中对join()方法不理解,看python官网文档的介绍: join([timeout]):等待直到进程结束。这将阻塞正在调用的线程,直到被调...

六行python代码的爱心曲线详解

六行python代码的爱心曲线详解

前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧。实际上,当时有效偏颇...

Python的time模块中的常用方法整理

在应用程序的开发过程中,难免要跟日期、时间处理打交道。如:记录一个复杂算法的执行时间;网络通信中数据包的延迟等等。Python中提供了time, datetime calendar等模块...

Python 实现遥感影像波段组合的示例代码

Python 实现遥感影像波段组合的示例代码

最近要做个遥感相关的小系统,需要波段组合功能,网上找了可以使用ArcGIS安装时自带的arcpy包,但是Python3.7不能使用现有ArcGIS10.2版本,也不想再装其他版本,所以只...