机器学习 August 20, 2018

10-1 准确度的陷阱和混淆矩阵

Words count 1.1k Reading time 1 mins.


对于极度偏科(Skewed Data)的数据,只使用分类准确度是远远不够的


例子说明:

现在有10000个人的测试数据,0代表不患病,1代表患病。

9978表示

在10000个人当中有9978个人,本身没有患病,机器学习算法预测也没有患病。

12表示

在10000个人当中有12个人,本身没有患病,机器学习算法却预测为患病

2表示

在10000个人当中有2个人,本身就患病,机器学习算法却预测为没有患病

8表示

在10000个人当中有8个人,本人就患病,机器学习算法也预测为患病

Read article

机器学习 August 20, 2018

1-6 读取数据和简单的数据探索

Words count 8.1k Reading time 7 mins.

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from sklearn import datasets
iris = datasets.load_iris()
iris.keys()
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names...
Read article

机器学习 August 20, 2018

1-5 matplotlib基础

Words count 8.7k Reading time 8 mins.

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
x = np.linspace(0,10,100)
x
array([ 0.        ,  0.1010101 ,  0.2020202 ,  0.3030303 ,  0.4040404 ,
        0.50505051,  0.60606061,  0.70707071,  0.80808081,  0.90909091,
        1.01010101,  1.11111111...
Read article

机器学习 August 20, 2018

1-0机器学习基础

Words count 2.8k Reading time 3 mins.

数据整体叫数据集(data set)

每一行数据成为一个样本(sample)

除最后一列,每一列表达样本的的一个特征(feature)

最后一列,称为标记(label)

分类任务

二分类

例如:

判断邮件是不是垃圾邮件

判断发放给客户信用卡是否有风险

判断患病是良性还是恶性

判断股票的涨跌

多分类

例如:

数字识别

图像识别

判断发放给客户信息卡的风险评级

多标签分类

回归任务

例如:

房屋价格

市场分析

学生成绩

股票价格

监督学习

给机器的训练数据拥有“标记”或者“答案”

例如:

图像已经拥有了标定...

Read article

机器学习 August 19, 2018

1-1 numpy数组合并

Words count 5.2k Reading time 5 mins.

import numpy as np
x = np.array([1,2,3])
y = np.array([3,2,1])
x
array([1, 2, 3])
y
array([3, 2, 1])

x与y合并

np.concatenate([x,y])
array([1, 2, 3, 3, 2, 1])
z = np.array([666,666,666])
np.concatenate([x,y,z])
array([  1,   2,   3,   3,   2,   1, 666, 666...
Read article

机器学习 August 19, 2018

1-3 numpy中的矩阵聚合操作

Words count 8k Reading time 7 mins.

import numpy as np
L = np.random.random(100)
L
array([0.25119175, 0.92977429, 0.99646455, 0.01350068, 0.10785383,
       0.13216408, 0.53743682, 0.2362282 , 0.43276904, 0.88723033,
       0.32363798, 0.7736106 , 0.30140572, 0.70171898, 0.23628926,
       0.11465989, 0....
Read article

机器学习 August 19, 2018

1-4 numpy中Fancy Indexing

Words count 4.5k Reading time 4 mins.

import numpy as np
x = np.arange(16)
x
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15])
x[3]
3
x[3:9]
array([3, 4, 5, 6, 7, 8])
x[3:9:2]
array([3, 5, 7])
[x[3],x[5],x[8]]
[3, 5, 8]
ind = [3,5,8]
x[ind]
array([3, 5, 8])
ind...
Read article

机器学习 August 19, 2018

1-2 numpy.array中的运算

Words count 10k Reading time 9 mins.

import numpy as np

给定一个向量,让向量中每一个数乘以2
a = (0,1,2)
a*2 = (0,2,4)

普通python中

n = 10
L = [i for i in range(n)]
L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2 * L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
A = []
for e in L:
    A.append(2*e)
A
[...
Read article

机器学习 August 19, 2018

2-6 k近邻算法总结

Words count 202 Reading time 1 mins.

最大的缺点:效率低下

如果训练集有m个样本,n个特征,则预测每一个新的数据,需要O(m*n)

优化,使用树结构:KD-Tree,Ball-Tree

缺点2:高度数据相关

缺点3:预测结果不具有可解释性

缺点4:维数灾难

随着维护的增加,“看似相近”的两个点之间的距离越来越大

解决方法:降维

Read article
Load more
0%