![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
c.x.y.07.30
这个作者很懒,什么都没留下…
展开
-
算法面试基本问题
一、Java1.一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。2.对象:对象是类的一个实例,有状态和行为。3.类:类是一个模板,它描述一类对象的行为和状态。4.方法:方法就是行为,一个类可以有很多方法。5.实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。6.编写Java程序时,应注意以下几点:大小写敏感类名:每个单词的首字母应该大写方法名:所有的方法名都应该以小写字母开头。如果方法原创 2020-05-21 17:22:18 · 2806 阅读 · 0 评论 -
机器学习:集成算法
一、Bagging和Boosting1.Bagging:1)样本有放回选取2)样本权重相同3)所有分类器的权重相等4)并行2.Boosting:1)使用全部样本2)根据错误率不断调整样例的权值,错误率越大则权重越大3)每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重4)串行,因为后一个模型参数需要前一轮模型的结果。二、随机森林三、GBDT四、XGBoost...原创 2019-05-28 09:52:14 · 280 阅读 · 0 评论 -
机器学习:神经网络
一、sklearn代码# 定义多层感知机分类算法from sklearn.neural_network import MLPClassifier'''(1)hidden_layer_sizes: 元祖(2)activation:激活函数(3)solver :优化算法{‘lbfgs’, ‘sgd’, ‘adam’}(4)alpha:L2惩罚(正则化项)参数。'''model = M...原创 2019-05-18 11:21:50 · 205 阅读 · 0 评论 -
机器学习:K临近算法-KNN
一、sklearn代码from sklearn import neighbors'''(1)n_neighbors: 使用邻居的数目'''model = neighbors.KNeighborsClassifier(n_neighbors=5, n_jobs=1) # 分类model = neighbors.KNeighborsRegressor(n_neighbors=5, n_jo...原创 2019-05-18 11:19:59 · 193 阅读 · 0 评论 -
机器学习:支持向量机SVM
一、sklearn代码from sklearn.svm import SVC'''(1)C:误差项的惩罚参数C(2)gamma: 核相关系数'''model = SVC(C=1.0, kernel=’rbf’, gamma=’auto’)原创 2019-05-18 11:18:36 · 170 阅读 · 0 评论 -
机器学习:朴素贝叶斯
一、sklearn代码from sklearn import naive_bayes'''(1)alpha:平滑参数(2)fit_prior:是否要学习类的先验概率;false-使用统一的先验概率(3)class_prior: 是否指定类的先验概率;若指定则不能根据参数调整(4)binarize: 二值化的阈值,若为None,则假设输入由二进制向量组成'''model = naiv...原创 2019-05-18 11:12:26 · 164 阅读 · 0 评论 -
机器学习:逻辑回归、多分类问题
一、sklearn代码from sklearn.linear_model import LogisticRegression'''(1)penalty:使用指定正则化项(默认:l2)(2)dual: n_samples > n_features取False(默认)(3)C:正则化强度,值越小正则化强度越大(4)fit_intercept: 是否需要常量'''model = L...原创 2019-05-18 11:09:56 · 542 阅读 · 0 评论 -
机器学习:回归模型,正则化
一、sklearn代码from sklearn.linear_model import LinearRegression'''(1)fit_intercept:是否计算截距。False-模型没有截距(2)normalize: 当fit_intercept设置为False时,该参数将被忽略。如果为真,则回归前的回归系数X将通过减去平均值并除以l2-范数而归一化。(3)n_jobs:指定线...原创 2019-05-18 11:05:55 · 508 阅读 · 0 评论 -
机器学习:数据预处理
一、标准化均值为0,标准差为1from sklearn import preprocessingscaler = preprocessing.StandardScaler()scaler.fit_transform(X) 二、归一化对原始数据进行线性变换,变换到[0,1]区间(也可以是其他固定最小最大值的区间)from sklearn import preprocessings...原创 2019-05-18 10:59:29 · 459 阅读 · 0 评论 -
机器学习:数据集划分(包含交叉验证)
1.留出法from sklearn.model_selection import train_test_split#random_state不填或者为0时,每次都不同;其余值表示不同随机数X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.30,random_state=42)2.交叉验证法from...原创 2019-05-13 16:56:49 · 2582 阅读 · 0 评论 -
机器学习:如何判断和解决过拟合和欠拟合
1.利用学习曲线判断2.误差 = 偏差(精确率) + 方差(稳定性)3.下图中虚线为训练集,实线为测试集'''功能:判别过拟合和欠拟合学习曲线Learning Curve:评估样本量和指标的关系验证曲线validation Curve:评估参数和指标的关系'''import pandas as pdfrom sklearn.preprocessing import LabelE...原创 2019-05-13 16:22:46 · 5310 阅读 · 0 评论 -
机器学习:决策树
一、主要步骤1.特征选择:ID3(信息增益)、C4.5(信息增益率)、CART(Gini系数)2.决策树生成:自顶向下,递归方法3.剪枝二、优缺点1.优点:速度快,解释性高2.缺点:缺失值敏感,容易过拟合三、属性选择:信息熵、信息增益、信息增益率1.信息熵:信息混乱程度2.信息增益:信息增益最大的特征来划分数据集(1)缺点:偏向取值较多的特征(原因:当特征的取值较多时,根据此...原创 2019-05-16 22:31:37 · 220 阅读 · 0 评论 -
机器学习:最小二乘法、梯度下降法
一、最小二乘法二、梯度下降法三、牛顿法四、极大似然估计原创 2019-05-21 19:38:40 · 337 阅读 · 0 评论 -
机器学习:类不平衡问题求解
一、出现场景1.异常检测场景和罕见事件的分析2.客户流失场景3.发生频率低的事件二、解决方法1.过采样/上采样(应用更广泛)(1)方法:增加分类中少数类样本的数量来实现样本均衡最直接的方法是简单复制少数类样本形成多条记录,这种方法的缺点是如果样本特征少而可能导致过拟合的问题;经过改进的过抽样方法通过在少数类中加入随机噪声、干扰数据或通过一定规则产生新的合成样本。from imbl...原创 2019-05-16 15:39:13 · 599 阅读 · 0 评论 -
机器学习:损失函数、代价函数、目标函数
一、损失函数、代价函数和目标函数损失函数:单个样本误差代价函数:所有样本误差平均值目标函数:代价函数+正则项原创 2019-05-20 20:04:32 · 589 阅读 · 0 评论 -
机器学习:模型调参
一、网格调参from sklearn.model_selection import GridSearchCVparameters = [{'a1':['a','b'],'a2':['a','b']}]clf = GridSearchCV(model,param_distributions,scoring = ['accuracy','f1'],cv) #评分函数clf.fit(X_trai...原创 2019-05-14 15:11:45 · 614 阅读 · 0 评论 -
机器学习:模型评估指标
一、错误率和准确率from sklearn.metrics import accuracy_scoreprint('准确率',accuracy_score(y_true,y_pred,normalize=True))print('正确分类的数量',accuracy_score(y_true,y_pred,normalize=False))...原创 2019-05-13 21:02:39 · 564 阅读 · 0 评论