机器学习及sklearn使用心得

这几天抽空了解了下机器学习,以及sklearn的应用。 也用学到的顺利运用到了工作上,写同时下篇心得。

数据特征选取

sklearn下的datasets有很多案例数据:

iris = datasets.load_iris()
boston = datasets.load_boston();

这些数据集能很简单的提供我们,数据特征也很适合用来机器学习。
但是在实际过程中,数据特征的筛选,更多的还是要靠我们自己发现,筛选,并不是拿到一份数据,随便找个算法,就能预测了。很容易出现无效输入,无效输出。
所以特征选取,筛选,处理这一个环节是花费时间最多的地方。每个数据都有独特的处理方式,无法举例。

数据处理

  1. 归一化处理提升,很有必要的一步,减小数据差异
X_train = preprocessing.minmax_scale(X_train)
  1. 测试&训练数据分离
    最简单的通过train_test_split
X_train, X_test, y_train, y_test = train_test_split(x_data, y_data, test_size=0.3)

还可以通过cross_val_score,进行交叉验证后,可以得到一个相对准确的模型得分。

算法选择

一般通过机器学习,两件事情:分类和回归。
sklearn中常用的案例:

LinearRegression   线性回归
LogisticRegression  逻辑回归
KNeighborsRegressor  KNN邻近算法回归
RandomForestRegressor  随机森林回归

RandomForestClassifier  随机森林分类
SVC  支持向量聚类算法
KNeighborsClassifier   KNN邻近算法分类

其他参看sklearn官方

都是回归和分类性的,可以参考数据本身特征的情况,进行选择,具体看sklearn的文档。
算法原理,都是要仔细学习的,才能比较好的运用。

模型评分

分类和回归的评分是不一样的。
一般回归:

r2_score(y_test, y_predict)

一般多标签分类:

accuracy_score(y_test, y_predict)

以上两个都是越接近1越好。
还有其他评分,可以参看sklearn官方。

调参

调参是在基于特征选取正确情况下,提升模型得分最好的方法。
调参通过使用validation_curve,能提升调参效率:

range = [1,3,5,7,9,11]
train_score, test_score = validation_curve(
RandomForestRegressor(n_estimators=19), X_train, y_train,  param_name="max_depth", param_range= range, cv=5
)

也可以通过多个组合, 来进行选择:

# 选几个回归的机器学习模型做回归
estimators = {"linear regression": LinearRegression(),
              "knn regression": KNeighborsRegressor(n_neighbors=10),
              "randomforest regression": RandomForestRegressor(n_estimators=10, max_depth=10)}

for key, estimator in estimators.items():
    estimator.fit(X_train, y_train)

图形化

借助图形化matplotlib,可以更好的帮助我们机器学习的训练。

  • 特征选取时, 每个特征和结果的关系图,可以帮助我们分析
  • 调参时,从图上可以很明显的看到最优值
  • 训练数据和测试数据得分对比, 能很好的展示出是否过拟合

这里不再展开

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值