![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 84
李坦(BNU远程教育学)
北京师范大学互联网教育博士生
展开
-
随机森林计算特征重要性推导
调用了Sklearn函数包中RandomForestRegressor.feature_importances_函数计算特征重要性。随机森林(RandomForest)是由一棵棵决策树(Decision Tree)组成,因此为了求得每个特征的重要性,首先需要知道每个特征在每一棵决策树上所做的贡献量,这种贡献量的计算方法是求解在该特征在某个节点上,分枝前后的基尼指数(Gini)差值,用同样的的方法求得其他特征的贡献值,最后将某个特征基尼指数变化值除以所有特征基尼指数变化值之,求得某个特征归一化后的贡献量,并根原创 2021-02-17 22:42:38 · 4070 阅读 · 2 评论 -
12万条微博训练的word2vec词向量模型
该语言模型是采用gensim库提供的word2vec模型训练而成,训练样本量达12万条博文,该模型能够反映一定的语言规律,因此可以作为日常编程训练使用。1.调用方法from gensim.models import word2vecmodel = word2vec.Word2Vec.load("public_opinion_word2vec_2.model")2.测试model.most_similar("上海")3.项目开源地址https://github.com/GarrettL.原创 2020-05-18 09:45:20 · 1612 阅读 · 9 评论 -
梯度下降与ReLU激活函数
14.梯度下降与ReLU激活函数14.1 梯度下降法在数学中,梯度表示函数递增速度最快的方向,反之梯度的负方向则表示函数衰减最快的方向。因此,可以通过不断迭代使用梯度下降方法求解到函数的最小值。(可能是局部最小值,也可能是全局最小值),这取决于学习率的选择。如:为了求解函数f(x)=f(x1,x2…xn)f(x)=f(x_1,x_2\dots x_n)f(x)=f(x1,x2…xn)的最小值,则可以从一个起始点:x(0)=(x1(0),x2(0),…xn(0))x^{(0)}=(x_1^{(0)}原创 2020-09-24 16:27:59 · 3033 阅读 · 1 评论 -
反向传播算法推导
13.3.1 反向传播算法推导如下图所示为一个神经网络的结构图,由于本文主要探讨激活函数在反向传播过程中的作用,因此不会带入数值进行计算,而是以两个权重的更新为案例进行公式的推导,分别为如何通过反向传播算法更新w112w^2_{11}w112和w111w^1_{11}w111的值。13.3.1.1 前向传播首先,需要知道的是,整个网络中i1i_1i1,i2i_2i2以及所有的权重值均为定值,权重值为网络初始化时按照一定概率分布随机赋值的。则h1h_1h1内部结构如下:其中,neth1n原创 2020-09-21 20:36:26 · 329 阅读 · 0 评论 -
基于神经网络的教育数据挖掘
本文重点介绍,基于神经网络,建立学生成绩预测模型。1.神经网络多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:对一些标记进行定义:ay(x)a^{(x)}_yay(x)表示,第xxx层,第yyy个神经元;by(x)b^{(x)}_yby(x)表示对每个维度输出的偏置;hw,bh_{w,b}hw,b为神.原创 2020-07-04 21:12:51 · 1521 阅读 · 3 评论 -
sklearn 实现机器学习的5折交叉验证
当通过小样本训练机器学习模型时,为了更加准确的评价机器学习模型,可以采用k折交叉验证方法1.读取训练数据mldata_x = data[['学科A','学科B','学科C','学科D']]mldata_y = data[['学业成败']]2.进入5折交叉验证方法from sklearn.model_selection import cross_val_scorenb=GaussianNB()score=cross_val_score(nb,mldata_x,mldata_y,cv=5,s.原创 2020-06-26 21:34:11 · 2463 阅读 · 1 评论 -
sklearn实现神经网络
本文将介绍基于sklearn实现MLP(多层感知机)算法的过程。1.读取训练数据mldata_x = data[['学科A','学科B','学科C','学科D']]mldata_y = data[['学业成败']]2.划分训练数据集和测试数据集from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(mldata_x, mldata_y, t.原创 2020-06-26 21:27:32 · 4083 阅读 · 0 评论 -
python相关性分析与热力图可视化
相关性分析可以发现不同变量之间相关性程度,本文以python为例进行实现。1.相关性矩阵corr = abs(data[['学科A','学科B','学科C','学科D','学业成败']].corr()) #abs取绝对值corr2.热力图可视化展示from matplotlib import pyplot as pltimport seaborn as snsimport numpy as npfig = plt.figure()names=['学科A','学科B','学科C','.原创 2020-06-26 21:12:27 · 6793 阅读 · 1 评论 -
一行代码实现python数据标准化
数据标准化有助于提升机器学习模型准确度。本文对数据集中某列数据进行标准化处理。采用min-max方式。from sklearn import preprocessingminmax = preprocessing.MinMaxScaler()data[['学科A','学科B','学科C','学科D']] = minmax.fit_transform(data[['学科A','学科B','学科C','学科D']])...原创 2020-06-26 17:51:50 · 516 阅读 · 0 评论 -
python将数据集中文本标签替换成数值型
数据科学中经常出现的标签为文本型的,因为需要转化为数值型,以便后续处理。1.读取数据import pandas as pddata = pd.read_csv('all_data.txt',delimiter='\t')data.head()2.对标签列进行替换data_class={'否':0,'是':1}data['是否过线']=data['是否过线'].map(data_class)...原创 2020-06-26 17:45:10 · 6795 阅读 · 1 评论 -
机器学习模型保存
在训练完成机器学习模型后,经常将满足需要的机器学习模型进行保存,本文以SVM算法为例,讲解模型保存和调用的方法。1.模型保存joblib.dump(模型, 模型命名) #将训练模型保存起来如:from sklearn.svm import SVC from sklearn.metrics import classification_reportfrom sklearn.externals import joblibclf = SVC(kernel='linear', C=1)clf..原创 2020-06-02 21:28:54 · 915 阅读 · 0 评论