机器学习之python基础(python3.7)
来源:互联网 发布:java 9 编辑:程序博客网 时间:2024/06/03 03:36
1、概率论与凸优化:
(1)贝叶斯公式:P(A/B)=(P(B/A)P(A))/P(B)
2、回归模型与应用:
(1)线性回归
(2)逻辑回归
3、关于机器学习:
(1)有监督学习:会给定一个标准答案y
(2)无监督学习:不会给定一个标准答案y
4、降维也属于无监督学习
5、分类的问题:有监督的学习,因为要确定它属于你规定的哪一类
6、线性回归(有监督的学习):
(1)f(x)=(w^T)*x
(2)平方损失:每一个点(y的值)减去预测值的点的平方加和,然后整体除以m个点,再除以2
(3)线性回归中平方损失是一个凸函数,即有一个最低点
(4)梯度下降算法:平方损失中逐步最小化损失函数
(5)学习率与梯度下降:如果步长太大的话,会震动。如果步长很小的话,速度会很慢,所以步长的选择很重要,即学习率
(6)欠拟合与过拟合:
(1)欠拟合(没有拟合到现在的样本点):模型本身的能力不足以去学习现在的样本点
(2)过拟合:对模型拟合太多了,模型很复杂,会丧失一般性.把所有的点都算进去,但是拿出新的点的话,就很难进行对其进行处理
(7)正则化:
(1)控制参数的幅度
(2)限制参数搜索空间
(8)线性回归判断是否是正样本:结果与0比
7、损失:
(1)平方损失
(2)log损失
8、优化方向:修改损失函数
9、逻辑回归(输出p):
(1)逻辑回归的东西是一个概率(使用以下函数求概率)
(2)Sigmoid函数:g(x)=1/(1+e^(-x))
(3)回归出来的值是(0,1)之间的,类似于p
(4)log损失
(5)逻辑回归判断是否是正样本:结果与0.5比
10、机器学习步骤:通过选择损失算法,找到一个凸函数,然后利用梯度下降算法(找到最好的学习率),梯度算法是对函数进行求导
11、numpy是python当中用来表示矩阵或者高维数组的一个库
12、python基础:
(1)安装pip、numpy、pandas、scipy、matplotlib(https://www.lfd.uci.edu/~gohlke/pythonlibs/)
(2)将python2代码转化为python3:python 2to3.py -w xxx.py
(3)2to3.py:
#!/usr/bin/env python
import ...
sys.exit(main("lib2to3.fixes"))
python基础代码:
# -*- coding:utf-8 -*-
import numpy as np;
from array import array
L=[1,2,3,4,5,6]
print (L)
a=np.array(L)
print (a)
print (type(L),type(a))
b=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print (b)
print (a.shape)
print (b.shape)
b.shape=4,3
print (b)
b[0][0]=300
print(b)
print(a)
b=range(1,4,1)
print(b)
b=np.linspace(1,10,200)
print(b)
c=np.logspace(1,4,4,endpoint=True,base=2)
print(c)
g= np.fromstring(s,dtype=np.int8)
print(g)
f=[1,2,3,4,5,6]
print(f[3:5])
print(f[:5])
print(f[3:])
print("333333333333333333333333")
print(f[1:5:2])
print(f[::-1])
f[3:5]=10,100
print(f)
print(a)
b=a.reshape((-1,1))
print (b)
c=np.arange(6)
print(c)
f=b+c
print(f)
print("55555555555555555555555555")
print(f[4,[2,3,4]])
print(f[4:,[2,3,4]])
print(f[4:,3:])
##一元去重
#np.array(list(set([tuple(t) for t in c])))
##stack以及axis使用
a = np.arange(1, 7).reshape((2, 3))
b = np.arange(11, 17).reshape((2, 3))
c = np.arange(21, 27).reshape((2, 3))
d = np.arange(31, 37).reshape((2, 3))
print ('a = \n', a)
print ('b = \n', b)
print ('c = \n', c)
print ('d = \n', d)
s = np.stack((a, b, c, d), axis=0)
print ('axis = 0 ', s.shape, '\n', s)
s = np.stack((a, b, c, d), axis=1)
print ('axis = 1 ', s.shape, '\n', s)
s = np.stack((a, b, c, d), axis=2)
print ('axis = 2 ', s.shape, '\n', s)
print("6666666666666666666666666666")
a = np.arange(1, 10).reshape(3,3)
print (a)
b = a + 10
print (b)
print (np.dot(a, b))
print (a * b)
a = np.arange(1, 10)
print (a)
b = np.arange(20,25)
print (b)
print (np.concatenate((a, b)))
结果:
[1 2 3 4 5 6]
<class 'list'> <class 'numpy.ndarray'>
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
(6,)
(3, 4)
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
[[300 2 3]
[ 4 5 6]
[ 7 8 9]
[ 10 11 12]]
------------------
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
19.]
range(1, 4)
************************
[ 1. 1.04522613 1.09045226 1.13567839 1.18090452 1.22613065
1.27135678 1.31658291 1.36180905 1.40703518 1.45226131 1.49748744
1.54271357 1.5879397 1.63316583 1.67839196 1.72361809 1.76884422
1.81407035 1.85929648 1.90452261 1.94974874 1.99497487 2.04020101
2.08542714 2.13065327 2.1758794 2.22110553 2.26633166 2.31155779
2.35678392 2.40201005 2.44723618 2.49246231 2.53768844 2.58291457
2.6281407 2.67336683 2.71859296 2.7638191 2.80904523 2.85427136
2.89949749 2.94472362 2.98994975 3.03517588 3.08040201 3.12562814
3.17085427 3.2160804 3.26130653 3.30653266 3.35175879 3.39698492
3.44221106 3.48743719 3.53266332 3.57788945 3.62311558 3.66834171
3.71356784 3.75879397 3.8040201 3.84924623 3.89447236 3.93969849
3.98492462 4.03015075 4.07537688 4.12060302 4.16582915 4.21105528
4.25628141 4.30150754 4.34673367 4.3919598 4.43718593 4.48241206
4.52763819 4.57286432 4.61809045 4.66331658 4.70854271 4.75376884
4.79899497 4.84422111 4.88944724 4.93467337 4.9798995 5.02512563
5.07035176 5.11557789 5.16080402 5.20603015 5.25125628 5.29648241
5.34170854 5.38693467 5.4321608 5.47738693 5.52261307 5.5678392
5.61306533 5.65829146 5.70351759 5.74874372 5.79396985 5.83919598
5.88442211 5.92964824 5.97487437 6.0201005 6.06532663 6.11055276
6.15577889 6.20100503 6.24623116 6.29145729 6.33668342 6.38190955
6.42713568 6.47236181 6.51758794 6.56281407 6.6080402 6.65326633
6.69849246 6.74371859 6.78894472 6.83417085 6.87939698 6.92462312
6.96984925 7.01507538 7.06030151 7.10552764 7.15075377 7.1959799
7.24120603 7.28643216 7.33165829 7.37688442 7.42211055 7.46733668
7.51256281 7.55778894 7.60301508 7.64824121 7.69346734 7.73869347
7.7839196 7.82914573 7.87437186 7.91959799 7.96482412 8.01005025
8.05527638 8.10050251 8.14572864 8.19095477 8.2361809 8.28140704
8.32663317 8.3718593 8.41708543 8.46231156 8.50753769 8.55276382
8.59798995 8.64321608 8.68844221 8.73366834 8.77889447 8.8241206
8.86934673 8.91457286 8.95979899 9.00502513 9.05025126 9.09547739
9.14070352 9.18592965 9.23115578 9.27638191 9.32160804 9.36683417
9.4120603 9.45728643 9.50251256 9.54773869 9.59296482 9.63819095
9.68341709 9.72864322 9.77386935 9.81909548 9.86432161 9.90954774
9.95477387 10. ]
+++++++++++++++++++++++++
[ 2. 4. 8. 16.]
[ 97 98 99 100]
222222222222222222222222222
[4, 5]
[1, 2, 3, 4, 5]
[4, 5, 6]
333333333333333333333333
[2, 4]
[6, 5, 4, 3, 2, 1]
[1, 2, 3, 10, 100, 6]
444444444444444444444444
[ 0 10 20 30 40 50]
[[ 0]
[10]
[20]
[30]
[40]
[50]]
[0 1 2 3 4 5]
[[ 0 1 2 3 4 5]
[10 11 12 13 14 15]
[20 21 22 23 24 25]
[30 31 32 33 34 35]
[40 41 42 43 44 45]
[50 51 52 53 54 55]]
55555555555555555555555555
[ 2 13 24]
[42 43 44]
[[42 43 44]
[52 53 54]]
[[43 44 45]
[53 54 55]]
a =
[[1 2 3]
[4 5 6]]
b =
[[11 12 13]
[14 15 16]]
c =
[[21 22 23]
[24 25 26]]
d =
[[31 32 33]
[34 35 36]]
axis = 0 (4, 2, 3)
[[[ 1 2 3]
[ 4 5 6]]
[14 15 16]]
[24 25 26]]
[34 35 36]]]
axis = 1 (2, 4, 3)
[[[ 1 2 3]
[11 12 13]
[21 22 23]
[31 32 33]]
[14 15 16]
[24 25 26]
[34 35 36]]]
axis = 2 (2, 3, 4)
[[[ 1 11 21 31]
[ 2 12 22 32]
[ 3 13 23 33]]
[ 5 15 25 35]
[ 6 16 26 36]]]
6666666666666666666666666666
[[1 2 3]
[4 5 6]
[7 8 9]]
[[11 12 13]
[14 15 16]
[17 18 19]]
[[ 90 96 102]
[216 231 246]
[342 366 390]]
[[ 11 24 39]
[ 56 75 96]
[119 144 171]]
[1 2 3 4 5 6 7 8 9]
[20 21 22 23 24]
[ 1 2 3 4 5 6 7 8 9 20 21 22 23 24]
- 机器学习之python基础(python3.7)
- Python3《机器学习实战》学习笔记(二):决策树基础篇之让我们从相亲说起
- Python3《机器学习实战》学习笔记(四):朴素贝叶斯基础篇之言论过滤器
- Python3《机器学习实战》学习笔记(六):Logistic回归基础篇之梯度上升算法
- Python3《机器学习实战》学习笔记(十一):线性回归基础篇之预测鲍鱼年龄
- Python学习(一):python3基础
- Python3:《机器学习实战》之朴素贝叶斯(2)使用Python进行文本分类
- 机器学习之K-近邻算法(Python描述)基础
- 机器学习之K-means算法(Python描述)基础
- 机器学习之python基础(一)
- 机器学习之python基础(二)
- 机器学习之python基础(三)
- 机器学习之python基础(五)
- 机器学习之python基础(四)
- Python机器学习基础篇之python基础篇
- Python && 机器学习基础
- 机器学习-----之KNN近邻算法(python3)
- python3学习之基础语法
- ORACLE时间类型字段加减简便运算
- Docker 基础原理
- 初识WPF
- 设计模式C++实现(4)——外观模式、组合模式
- python学习笔记之(五)传递实参
- 机器学习之python基础(python3.7)
- Listener(监听)
- SSM 增删改查
- Ubuntu16.04安装ROS Kinetic
- .Net学习笔记-.Net基础1.2 循环与数组
- opencv实现巴特沃斯高通滤波器对指纹图像进行锐化处理
- 集成学习基本原理:Adaboost,Bagging和Stacking
- Scala集合操作实战
- 结构体与位域的对齐