以下是5个新的机器学习或与机器学习有关的项目,你可能还没有听说过,但是你不能错过!
本文将给大家介绍五个十分可怕但还鲜为人知的机器学习项目,囊括了一些潜在的机器学习的新想法。它们基本都是Python项目。我并不是故意这么选的,但毫无疑问有我自己偏好的影响在里面。以前我也介绍过许多各种各样的项目(R、Go、C++、Scala、Java等)。
我承诺很快会出一个R版的,并在评估这些项目时使用一些外部帮助(我得承认我不是很适应R生态)。
1. Live Loss Plot
不要闭着眼睛训练深度学习模型!要有耐心地去观察你的每一期训练!
这是一个由Piotr migdaet al提供的开源Python库,可以在Jupyter Notebook中为Keras、PyTorch和其他框架提供训练损失图像。当使用Keras时,Live Loss Plot是一个简单的回调函数。
代码如下:
from livelossplot import PlotLossesKeras
model.fit(X_train, Y_train,
epochs=10,
validation_data=(X_test, Y_test),
callbacks=[PlotLossesKeras()],
verbose=0)
2.Parfit
这个项目来自Jason Carpenter,他是旧金山大学数据科学硕士研究生,同时也是一名机器学习工程师。这个库可以将sklearn机器学习模型的拟合和评分情况并行化和可视化。一旦导入,您可以自由地使用bestFit()或其他函数。
代码如下:
from parfit import bestFit # Necessary if you wish to use bestFit
# Necessary if you wish to run each step sequentially
from parfit.fit import *
from parfit.score import *
from parfit.plot import *
from parfit.crossval import *
grid = {
'min_samples_leaf': [1, 5, 10, 15, 20, 25],
'max_features': ['sqrt', 'log2', 0.5, 0.6, 0.7],
'n_estimators': [60],
'n_jobs': [-1],
'random_state': [42]
}
paramGrid = ParameterGrid(grid)
best_model, best_score, all_models, all_scores = bestFit(RandomForestClassifier(), paramGrid,
X_train, y_train, X_val, y_val, # nfolds=5 [optional, instead of validation set]
metric=roc_auc_score, greater_is_better=True,
scoreLabel='AUC')
print(best_model, best_score)