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

yipeiwu_com6年前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设计】。

相关文章

Python cookbook(数据结构与算法)根据字段将记录分组操作示例

本文实例讲述了Python根据字段将记录分组操作。分享给大家供大家参考,具体如下: 问题:想根据字典或者对象实例的某个特定的字典(比如日期)来分组迭代数据 解决方案:itertools....

python实现合并两个排序的链表

剑指offer:合并两个排序的链表,Python实现 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 吐槽 本来想用递归实现,但是...

django celery redis使用具体实践

django celery redis使用具体实践

环境准备 python3.5.4 windows redis pip install celery pip install redis windows下启动redir...

Python使用import导入本地脚本及导入模块的技巧总结

本文实例讲述了Python使用import导入本地脚本及导入模块的技巧。分享给大家供大家参考,具体如下: 导入本地脚本 import 如果你要导入的 Python 脚本与当前脚本位于同一...

对pandas replace函数的使用方法小结

对pandas replace函数的使用方法小结

语法:replace(self, to_replace=None, value=None, inplace=False, limit=None, regex=False, method=...