TensorFlow 的简化接口 Scikit Flow

Scikit Flow 详细介绍

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

为什么使用 TensorFlow?

TensorFlow 提供构建各种不同类型机器学习应用的核心

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

为什么使用 Scikit Flow?

可以平滑的从单向机器学习 Scikit Learn 过渡到更开放的,可以构建不同类型的 ML 模型。用户可以通过 fit/predict 和切换到 TensorFlow APIs。

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

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)

未来计划

  • 更好的处理类别变量
  • 文本分类
  • 图像 (CNNs)
  • 更多 & 更深

文章转载自 开源中国社区[https://www.oschina.net]

时间: 2024-09-21 19:12:52

TensorFlow 的简化接口 Scikit Flow的相关文章

用香蕉也能玩电脑游戏—Tensorflow对象检测接口的简单应用

Tensorflow最近发布了用于对象检测的对象检测接口(Object Detection API),能够定位和识别图像中的对象.它能够快速检测图像允许从视频帧甚至网络摄像头进行连续检测.它也可以用于构建鼠标"Tensormouse",一个使用网络摄像移动光标的应用程序. 你是否曾经想过使用其他物品比如香蕉来移动你的光标?我们现在就可以实现! TensorMouse是一个小型的开源Python应用程序,它允许你通过在网络摄像头前移动任意物品(如杯子,苹果或香蕉)来移动光标,他可以做电脑

可能是2017最全的机器学习开源项目列表

摘要: 2016 和 2017 年对机器学习来说都是令人兴奋的,机器学习领域在 2016 年取得了重大的进展,2017 年,热度继续上升...... 2016 年,似乎所有巨头公司都在做机器学习,如果没有,也是在赶来的路上.所以 2016 或许会因为 "机器学习大热" 而被载入史册.2017,这个热潮并没有消退的迹象,前阵子 AlphaGo 的升级版以横扫千军的姿态战胜几乎所有中国的围棋大师,如入无人之境,最后更是以 60 连胜完美收官.人们对于机器学习的热情再度被点燃起来. 机器学习

你想找的Python资料这里全都有!没有你找不到!史上最全资料合集

GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广.awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文本处理.自然语言处理.机器学习.日志.代码分析等.在给大家分享之前呢,小编推荐一下一个挺不错的交流宝地,里面都是一群热爱并在学习Python的小伙伴们,大几千了吧,各种各样的人群都有,特别喜欢看到这种大家一起交流解决难题的氛围,群资料

Kotlin实现多函数接口的简化调用

对于一个声明了多个方法的接口,我们使用的时候有时仅仅关注于几个关键方法,并不需要实现所有的.可是由于接口调用的语法限制,使得我们不得不在代码中也显示声明实现了那些我们不关心的方法.在Java中也有简化接口调用的方式,比如安卓中ViewPager监听页面切换时的接口PageChangeListener,官方提供了简单类: ViewPager.SimpleOnPageChangeListener来简化调用. 对于Kotlin来说,可以类似使用java的方式,来实现多函数接口的简化调用,只是要用到ob

《面向机器智能的TensorFlow实践》引言

本节书摘来自华章出版社<面向机器智能的TensorFlow实践>一书中的第1章,第节,作者山姆·亚伯拉罕(Sam Abrahams)丹尼亚尔·哈夫纳(Danijar Hafner)[美] 埃里克·厄威特(Erik Erwitt) 阿里尔·斯卡尔皮内里(Ariel Scarpinelli),更多章节内容可以访问"华章计算机"公众号查看. 引 言2 1.1 无处不在的数据 我们正实实在在地处于"信息时代".如今,各种数据从无穷无尽的渠道不断涌入:智能手机.手

基于C#的接口基础教程之一

第一节 接口慨述 接口(interface)用来定义一种程序的协定.实现接口的类或者结构要与接口的定义严格一致.有了这个协定,就可以抛开编程语言的限制(理论上).接口可以从多个基接口继承,而类或结构可以实现多个接口.接口可以包含方法.属性.事件和索引器.接口本身不提供它所定义的成员的实现.接口只指定实现该接口的类或接口必须提供的成员. 接口好比一种模版,这种模版定义了对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用.接口不能被实例化.类可以实现多个接口并且通过这些实现的接口被索引.

根本停不下来!给它一个轮廓,TensorFlow还你一只完整的喵 (附论文下载)

说起人工智能,最经常被人提起的案例就是可以训练机器分辨图片哪些是猫那些是狗.这两天人工智能圈继续拿毛孩子们搞事情,火了一个叫做edges2cats的玩意儿.一个叫Christopher Hesse的人用大约2000张猫的图片和从这些图片自动产生的边缘线进行训练,做了一个网页版小应用:只要画出一个轮廓,人工智能就能自动根据你给出的轮廓画出喵星人来.作者本人亲自示范如下,是不是可爱炸了!?   这个插件只是一系列项目的一小部分.整个项目开发了一个用TensorFlow的pix2pix接口(https

Java接口和抽象类用法实例总结_java

本文实例讲述了Java接口和抽象类用法.分享给大家供大家参考,具体如下: 接口 1 因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口. 2 接口里面的成员变量默认都是public static final类型的.必须被显示的初始化. 3 接口里面的方法默认都是public abstract类型的.隐式声明. 4 接口没有构造方法,不能被实例化. 5 接口不能实现另一个接口,但可以继承多个接口. 6 类如果实现了一个接口,那么必须实现

Flow之一个新的Javascript静态类型检查器_javascript技巧

今天我们兴奋的发布了 Flow 的尝鲜版,一个新的Javascript静态类型检查器.Flow为Javascript添加了静态类型检查,以提高开发效率和代码质量.更明确的说,静态类型检查提供的好处像早期错误检查,帮助你发现一些只有在运行时才能发现的错误,以及代码智能感知,它会帮助代码维护,查找,重构和优化. 我们设计Flow的所有功能构建在现有Javascript规范之上.因为Flow主动地在后台工作,所以额外的编译开销很小.Flow并不要求开发者如何编写代码 -- 她用一套复杂的算法分析你熟悉