《Python机器学习应用》课程总结

Python机器学习应用-北京理工大学-礼欣

 

MOOC课程地址:http://www.icourse163.org/learn/BIT-1001872001?tid=1001965001

课程资料可在GitHub上下载(包括数据与相关教学资料)

链接:https://github.com/caiiiac/Machine-Learning-with-Python

 

课程内容

非监督学习:聚类、降维

监督学习:分类、回归

强化学习:使用深度神经网络进行强化学习

 

sklearn

安装:pandas, numpy, scipy, matplotlib, sklearn

六个模块:分类、回归、聚类、降维、模型选择、数据预处理

 

使用sklearn进行机器学习的一般步骤

加载数据(数据格式整理,工作量一般较大)

创建模型 a = sklearn.***

训练模型 a.fit(train_data)

预测 a.predict(test_data_X)

检验,模型预测结果与真实结果进行比较

 

聚类:Kmeans

随机选择K个点作为聚类中心,根据与聚类中心的距离将所有样本点划分到各个簇,重新计算各个簇的中心点作为新的聚类中心,重复第2、3步直到聚类中心不再变化(或者达到一定迭代次数)

sklearn.cluster.KMeans(n_cluster) K

实例:31个省份家庭平均消费水平

 

聚类:DBSCAN

不需要制定簇的个数。将所有点划分为核心点、边界点与噪声点,删除噪声点,将距离在规定半径范围内的核心点连接,所有连接的核心点形成一个簇,将边界点划分到其所对应核心点所在的簇。

sklearn.cluster.DBSCAN(eps, min_samples,metric) 半径、簇内样本点数、距离计算方法

实例:学生上网时间分布

 

聚类问题中距离的计算非常关键,常用的距离计算方式有:欧氏距离、马氏距离(协方差)、曼哈顿距离、夹角余弦

 

降维:PCA(主成分分析)

将相关的高维变量转变为线性无关的低维变量,且将可能保留原始变量的数据

sklearn.decomposition.PCA(n_components,svd_solver)主成分个数、特征值分解方法

实例:鸢尾花数据降维后进行可视化

 

降维:NMF(非负矩阵分解)

抽取特征矩阵与系数矩阵

sklearn.decomposition.NMF(n_components,init)分解后矩阵的单个维度长,矩阵的初始化方法

实例:人脸数据特征提取

 

实例:基于聚类的图像分割

 

分类:KNN(K近邻分类器)

计算待分类点与数据集中所有点的举例,选取举例最近的K个点,将待分类点归于K个近邻点钟出现次数最多的类别中

sklearn.neighbor.KNeighborsClassifier(n_neighbor,weight,algorithm)K,K个点的权重、计算邻近点的方法

 

分类:决策树(Decision Tree, DT)

顺序询问分类点的属性来决定分类点的类别

sklearn.tree.DecisionTreeClassifer(criterion,max_feature)选择属性的准则、选取多少特征

 

分类:朴素贝叶斯(Naïve Bayes, NB)

基于特征的条件独立性假设学习输入输出的联合概率分布,给定X,根据贝叶斯公司计算后验概率

sklearn.naive_bayes.GussianNB高斯朴素贝叶斯

sklearn.naive_bayes.MultinomialNB基于多项式模型的朴素贝叶斯

sklearn.naive_bayes.BermoulliNB基于多元伯努利的朴素贝叶斯

 

实例:人体运动状态预测(KNN, DT, NB)

 

实例:上证指数涨跌预测(SVM,支持向量机)

 

回归:线性回归

sklearn.linear_model.LinearRegression()

实例:房屋面积与成交价格

 

回归:多项式回归

sklearn.preprocessing.PolynomialFeatures()将X转为多项式

sklearn.linear_model.LinearRegression()

实例:房屋面积与成交价格

 

回归:岭回归

对线性回归中求参数的最小二乘法进行了改进,是专用于共线数据分析的有偏估计回归方法。

实例:交通流量预测

sklearn.linear_model.Ridge()

 

实例:手写数字识别(多层感知机MLP, KNN)

sklearn.neural_networl_MPLClassifier

 

深度强化学习:DQN(Deep Q learning)

实例:使用TensorFlow框架玩Flappy Bird

 

你可能感兴趣的:(python)