TensorFlow 的简化接口Scikit Flow

Scikit Flow 是 TensorFlow 的简化接口,模仿 Scikit 学习,让用户能够在预测分析和数据挖掘中使用。git

源代码在:https://github.com/google/skflow
github

为何使用 TensorFlow?shell

  • TensorFlow 提供构建各类不一样类型机器学习应用的核心。机器学习

  • 会继续在分布式方向和常规管道机器中进行创新。分布式

为何使用 Scikit Flow?学习

  • 能够平滑的从单向机器学习 Scikit Learn 过渡到更开放的,能够构建不一样类型的 ML 模型。用户能够经过 fit/predict 和切换到 TensorFlow APIs。
    google

  • 提供一系列的参考模型,方便与现有的代码集成。spa

Linear Classifier

import skflow
from sklearn import datasets, metrics
iris = datasets.load_iris()
classifier = skflow.TensorFlowLinearClassifier(n_classes=3)
classifier.fit(iris.data, iris.target)
score = metrics.accuracy_score(classifier.predict(iris.data), iris.target)
print("Accuracy: %f" % score)

Linear Regressor

import skflow
from sklearn import datasets, metrics, preprocessing
 
boston = datasets.load_boston()
X = preprocessing.StandardScaler().fit_transform(boston.data)
regressor = skflow.TensorFlowLinearRegressor()
regressor.fit(X, boston.target)
score = metrics.mean_squared_error(regressor.predict(X), boston.target)
print ("MSE: %f" % score)

Deep Neural Network

import skflow
from sklearn import datasets, metrics
 
iris = datasets.load_iris()
classifier = skflow.TensorFlowDNNClassifier(hidden_units=[10, 20, 10], n_classes=3)
classifier.fit(iris.data, iris.target)
score = metrics.accuracy_score(classifier.predict(iris.data), iris.target)
print("Accuracy: %f" % score)

Custom model

import skflow
from sklearn import datasets, metrics
 
iris = datasets.load_iris()
 
def my_model(X, y):
    """This is DNN with 10, 20, 10 hidden layers, and dropout of 0.5 probability."""
    layers = skflow.ops.dnn(X, [10, 20, 10], keep_prob=0.5)
    return skflow.models.logistic_regression(layers, y)
 
classifier = skflow.TensorFlowEstimator(model_fn=my_model, n_classes=3)
classifier.fit(iris.data, iris.target)
score = metrics.accuracy_score(classifier.predict(iris.data), iris.target)
print("Accuracy: %f" % score)

将来计划

  • 更好的处理类别变量。
    .net

  • 文本分类。
    code

  • 图像 (CNNs)。

  • 更多 & 更深。

相关文章
相关标签/搜索