KNN 算法实现以及封装
- 
Python (>=3.5) 
- 
pandas 
- 
numpy 
- 
matplotlib (>=0.18) 
NB 算法实现以及封装
- 
Python (>=3.5) 
- 
collections 
- 
numpy 
defaultdict(<class 'int'>, {('Sunny', 'No'): 3, ('Sunny', 'Yes'): 2, ('Cool', 'Yes'): 3, ('Cool', 'No'): 1, ('High', 'No'): 4, ('High', 'Yes'): 3, ('Strong', 'No'): 3, ('Strong', 'Yes'): 3})
-----------calPriorProbability-----------
{'Yes': 0.6428571428571429, 'No': 0.35714285714285715}
-----------calPosteriorProbability-----------
{('Sunny', 'No'): 0.6, ('Sunny', 'Yes'): 0.2222222222222222, ('Cool', 'Yes'): 0.3333333333333333, ('Cool', 'No'): 0.2, ('High', 'No'): 0.8, ('High', 'Yes'): 0.3333333333333333, ('Strong', 'No'): 0.6, ('Strong', 'Yes'): 0.3333333333333333}
---------getArgMax--------
No : 0.02057142857142857Apriori 算法实现以及封装
- Python (>=3.5)
L[ 0 ]: {frozenset({'l4'}), frozenset({'l3'}), frozenset({'l5'}), frozenset({'l1'}), frozenset({'l2'})}
freq_set: frozenset({'l4'})
freq_set: frozenset({'l3'})
freq_set: frozenset({'l5'})
freq_set: frozenset({'l1'})
freq_set: frozenset({'l2'})
L[ 1 ]: {frozenset({'l5', 'l1'}), frozenset({'l2', 'l5'}), frozenset({'l2', 'l4'}), frozenset({'l1', 'l3'}), frozenset({'l2', 'l3'}), frozenset({'l2', 'l1'})}
freq_set: frozenset({'l5', 'l1'})
big_rule: (frozenset({'l1'}), frozenset({'l5'}), 0.3333333333333333)
big_rule: (frozenset({'l5'}), frozenset({'l1'}), 1.0)
freq_set: frozenset({'l2', 'l5'})
big_rule: (frozenset({'l2'}), frozenset({'l5'}), 0.2857142857142857)
big_rule: (frozenset({'l5'}), frozenset({'l2'}), 1.0)
freq_set: frozenset({'l2', 'l4'})
big_rule: (frozenset({'l2'}), frozenset({'l4'}), 0.2857142857142857)
big_rule: (frozenset({'l4'}), frozenset({'l2'}), 1.0)
freq_set: frozenset({'l1', 'l3'})
big_rule: (frozenset({'l1'}), frozenset({'l3'}), 0.6666666666666666)
big_rule: (frozenset({'l3'}), frozenset({'l1'}), 0.6666666666666666)
freq_set: frozenset({'l2', 'l3'})
big_rule: (frozenset({'l2'}), frozenset({'l3'}), 0.5714285714285714)
big_rule: (frozenset({'l3'}), frozenset({'l2'}), 0.6666666666666666)
freq_set: frozenset({'l2', 'l1'})
big_rule: (frozenset({'l2'}), frozenset({'l1'}), 0.5714285714285714)
big_rule: (frozenset({'l1'}), frozenset({'l2'}), 0.6666666666666666)
L[ 2 ]: {frozenset({'l2', 'l5', 'l1'}), frozenset({'l2', 'l1', 'l3'})}
freq_set: frozenset({'l2', 'l5', 'l1'})
big_rule: (frozenset({'l2', 'l1'}), frozenset({'l5'}), 0.5)
big_rule: (frozenset({'l2', 'l5'}), frozenset({'l1'}), 1.0)
big_rule: (frozenset({'l5', 'l1'}), frozenset({'l2'}), 1.0)
big_rule: (frozenset({'l2'}), frozenset({'l5', 'l1'}), 0.2857142857142857)
big_rule: (frozenset({'l1'}), frozenset({'l2', 'l5'}), 0.3333333333333333)
big_rule: (frozenset({'l5'}), frozenset({'l2', 'l1'}), 1.0)
freq_set: frozenset({'l2', 'l1', 'l3'})
big_rule: (frozenset({'l2', 'l1'}), frozenset({'l3'}), 0.5)
big_rule: (frozenset({'l2', 'l3'}), frozenset({'l1'}), 0.5)
big_rule: (frozenset({'l1', 'l3'}), frozenset({'l2'}), 0.5)
big_rule: (frozenset({'l2'}), frozenset({'l1', 'l3'}), 0.2857142857142857)
big_rule: (frozenset({'l1'}), frozenset({'l2', 'l3'}), 0.3333333333333333)
big_rule: (frozenset({'l3'}), frozenset({'l2', 'l1'}), 0.3333333333333333)GradientDescent 算法实现以及封装
- 
Python (>=3.5) 
- 
numpy 
- 
matplotlib (>=0.18) 
RandomForest 算法实现以及封装
编写爬虫抓取携程网酒店住房数据,数据类型如下:
| name | decs | 
|---|---|
| hotelClass | 酒店级别 | 
| hotelLowestprice | 最低价格 | 
| hotelComment | 酒店 | 
| healthScore | 卫生分数 | 
| surroundingsScore | 环境分数 | 
| serviceScore | 服务分数 | 
| facilityScore | |
| userRecommended | 
- 
Python (>=3.5) 
- 
numpy 
- 
matplotlib (>=0.18) 
- 
pandas 
- 
sklearn 
- 
logging 
SVN 算法实现以及封装
编写爬虫抓取携程网酒店住房数据,数据类型如下:
| name | decs | 
|---|---|
| hotelClass | 酒店级别 | 
| hotelLowestprice | 最低价格 | 
| hotelComment | 酒店 | 
| healthScore | 卫生分数 | 
| surroundingsScore | 环境分数 | 
| serviceScore | 服务分数 | 
| facilityScore | |
| userRecommended | 
- 
Python (>=3.5) 
- 
numpy 
- 
matplotlib (>=0.18) 
- 
pandas 
- 
sklearn 
- 
logging 
BPNN 算法实现以及封装
- 
Python (>=3.5) 
- 
numpy 
- 
matplotlib (>=0.18) 
[[131.37436821  89.80489322  93.62128778 120.81983405 195.11064689]]
[[  3.41589617  -7.81790557 -24.81536717]
 [  1.42394945  -8.93950953 -33.93583834]
 [ -1.09484339  -3.36060313 -16.56460439]
 [  0.6733797   -0.70875915   4.61787133]]PCA 算法实现以及封装
- 
Python (>=3.5) 
- 
numpy 
- 
matplotlib (>=0.18) 
CNN 算法实现以及封装
- 
Python (>=3.5) 
- 
numpy 
- 
matplotlib (>=0.18) 
- 
Tkinter 
Softmax 在机器学习和深度学习中有着非常广泛的应用。尤其在处理多分类(C > 2)问题,分类器最后的输出单元需要Softmax 函数进行数值处理。关于Softmax 函数的定义如下所示:
其中,Vi 是分类器前级输出单元的输出。i 表示类别索引,总的类别个数为 C。Si 表示的是当前元素的指数与所有元素指数和的比值。Softmax 将多分类的输出数值转化为相对概率,更容易理解和比较。我们来看下面这个例子。
一个多分类问题,C = 4。线性分类器模型最后输出层包含了四个输出值,分别是:
经过Softmax处理后,数值转化为相对概率:
很明显,Softmax 的输出表征了不同类别之间的相对概率。我们可以清晰地看出,S1 = 0.8390,对应的概率最大,则更清晰地可以判断预测为第1类的可能性更大。Softmax 将连续数值转化成相对概率,更有利于我们理解。
实际应用中,使用 Softmax 需要注意数值溢出的问题。因为有指数运算,如果 V 数值很大,经过指数运算后的数值往往可能有溢出的可能。所以,需要对 V 进行一些数值处理:即 V 中的每个元素减去 V 中的最大值。
- 
Python (>=3.5) 
- 
numpy 










