利用python实现数据分析的大致主要流程(简)

前提:这段代码只适用于对数据分析有简单的基础认识者
data是样本数据集,target是对应的样本目标

1. 分析特征值

如果特征值过多,将不需要的特征值删减,保留有影响或者影响较大的特征值

2. 分解data和target

如果target目标值的数据量差异巨大可以使用过采样,也就是将训练集样本量小的目标数据扩大,

3. 交叉验证
4. 模型参数自动调优
  1. 决策树、梯度提升树

    决策树

    from sklearn.tree import DecisionTreeClassifier
    dtree=DecisionTreeClassifier()
    dtree.fit(data,target)
    dtree_feature=dtree.feature_importances_

    梯度提升树

    gbc=GradientBoostingClassifier()
    gbc.fit(X_train_new,y_train_new)
    gbc_feature=gbc.feature_importances_
    将权重为0或者权重过小的特征删除
    Index=some_feature.argsort()
    some_feature[index] #这个就是根据权重显示排序后的特征
    data.columns[index] #这个是分局权重排序后显示的列名
    用排序后的列名截取后面几个后面有意义的特征
    data2=data [data.columns[index][6:]] #这个例子是截取下表为6及以后的列

  2. 过采样:
    先要分解出训练集和测试集:
    X_train_new,y_train_new=smote.fit_resample(X_train,y_train)
    from imblearn.over_sampling import SMOTE
    smote=SMOTE()
    X_train_new,y_train_new=smote.fit_resample(X_train,y_train)

  3. 交叉验证:混淆矩阵、交叉表:

    混淆矩阵

    from sklearn.metrics import confusion_matrix
    confusion_matrix(y_test,y_)
    y_test 是目标值的测试数据
    y_ 是利用模型测试数据得到的结果

    交叉表

    pd.crosstab(y_test,y_)

  4. 模型参数自动调优:

    1. 针对逻辑回归模型:
      lg=LogisticRegression()
      param_grid={
      ‘C’:[0.1,1,10,100],
      ‘tol’:[1e-3,1e-4,1e-5]
      }
      from sklearn.model_selection import GridSearchCV
      gs=GridSearchCV(lg,param_grid)
      gs.fit(X_test,y_test)
      lg_best=gs.best_estimator_
      lg.score(X_test,y_test)
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值