日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Py之skflow:skflow的简介、安装、使用方法、代码实现之详细攻略

發(fā)布時(shí)間:2025/3/21 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Py之skflow:skflow的简介、安装、使用方法、代码实现之详细攻略 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Py之skflow:skflow的簡(jiǎn)介、安裝、使用方法、代碼實(shí)現(xiàn)之詳細(xì)攻略

?

目錄

skflow的簡(jiǎn)介

skflow的安裝

skflow的使用方法

skflow的代碼實(shí)現(xiàn)


?

?

?

skflow的簡(jiǎn)介

? ? ? skflow,TF中的Scikit-learn,為了避免Tensorflow中自己一點(diǎn)點(diǎn)搭建學(xué)習(xí)系統(tǒng),對(duì)TF進(jìn)一步封裝的工具包,包含很多經(jīng)典的機(jī)器學(xué)習(xí)模型.如線性回歸器、深度全連接的神經(jīng)網(wǎng)絡(luò)。tensorflow的抽象上層API接口,提供了完全類似于sklearn的API接口。使用非常簡(jiǎn)單,只要有sklearn的使用經(jīng)驗(yàn),構(gòu)建一個(gè)模型就是簡(jiǎn)單幾個(gè)步驟,模型參數(shù)配置,fit,predict等等。其實(shí),skflow以前是單獨(dú)一個(gè)項(xiàng)目,地址為:https://github.com/tensorflow/skflow
? ? 目前官方已經(jīng)沒有維護(hù)這個(gè)項(xiàng)目了,因?yàn)橐呀?jīng)完全把它整合到tensorflow中去了,地址為:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/learn/python/learn

  • -為了平穩(wěn)地從Scikit單線機(jī)器學(xué)習(xí)世界過渡到構(gòu)建不同形狀的ML模型的更開放的世界。您可以從使用fit/predict開始,當(dāng)您感覺舒服時(shí),再導(dǎo)入TensorFlow api。
  • -提供一套易于與現(xiàn)有代碼集成的參考模型。

? ? ?WARNING: We are not maintaining PyPi package anymore. Please install TensorFlow and install Scikit Flow from there. ? This is a simplified interface for TensorFlow, to get people started on ?predictive analytics and data mining. ? Library covers variety of needs from linear models to Deep Learning ?applications like text and image understanding.
?? ?警告:我們不再維護(hù)pypi包。請(qǐng)安裝TensorFlow并從中安裝SciKit Flow。這是一個(gè)簡(jiǎn)化的TensorFlow界面,可以幫助人們開始預(yù)測(cè)分析和數(shù)據(jù)挖掘。Library涵蓋了從線性模型到文本和圖像理解等深入學(xué)習(xí)應(yīng)用程序的各種需求。

PS:博主建議不要再使用該庫,很久已經(jīng)沒有更新了!python3+不同TensorFlow版本使用的時(shí)候,會(huì)出現(xiàn)很多bug。與skflow相匹配的版本是TensorFlow0.8.0 ,所以,對(duì)于TensorFlow1.0+的用戶,又想用 skflow 的話,建議安裝 TensorFlow0.8.0。如果非要在TensorFlow1.0+上使用,參考文章TensorFlow之API:TensorFlow的高級(jí)機(jī)器學(xué)習(xí)API——tf.contrib.learn的簡(jiǎn)介、使用方法、案例應(yīng)用之詳細(xì)攻略
比如UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb4 in position 1193: invalid start byte,所以還是使用最新的TensorFlow and install Scikit Flow。

skflow pypi

?

?

skflow的安裝

pip install skflow==0.1.0

?

skflow的使用方法

Scikit Flow封裝了很多的TensorFlow的最新的API,并且將它們封裝成了很類似于Scikit Learn API的樣式。TensorFlow的核心即是基于構(gòu)建與執(zhí)行某個(gè)圖,這是一個(gè)非常棒,但也是非常難以直接上手的概念。如果我們看Scikit Flow的底層封裝,我們可以看到整個(gè)模型被分為了以下幾個(gè)部分:

  • TensorFlowTrainer?—?用于尋找所有優(yōu)化器的類(使用梯度進(jìn)行了部分的圖構(gòu)建,進(jìn)行了一些梯度裁剪并且添加一些優(yōu)化器)
  • logistic_regression?—用于構(gòu)造Logistic回歸圖的函數(shù)
  • linear_regression?—?用于構(gòu)造線性回歸圖的函數(shù)
  • DataFeeder?—?用于將訓(xùn)練數(shù)據(jù)填充到模型中 (由于TensorFlow使用了數(shù)據(jù)集合中的隨機(jī)的一些部分作為隨機(jī)梯度下降的數(shù)據(jù),因此需要這樣的Mini數(shù)據(jù)批處理)。
  • TensorFlowLinearClassifier?—?用LogisticRegression 模型實(shí)現(xiàn)了 Scikit Learn提供的某個(gè)接口。它提供了一個(gè)模型和一個(gè)訓(xùn)練器,并且根據(jù)給定的數(shù)據(jù)集合利用fit()方法進(jìn)行數(shù)據(jù)訓(xùn)練,并且通過predict()方法進(jìn)行預(yù)測(cè)。
  • TensorFlowLinearRegressor?—?類似于 TensorFlowClassifier, 但是使用LinearRegression 作為模型。

?

skflow的代碼實(shí)現(xiàn)

1、從scikit-learn中加載鳶尾花數(shù)據(jù),構(gòu)建一個(gè)線性分類器,然后使用fit進(jìn)行擬合,最后使用predict進(jìn)行預(yù)測(cè),并進(jìn)行性能評(píng)估。

import tensorflow.contrib.learn.python.learn as learn from sklearn import datasets, metricsiris = datasets.load_iris() classifier = learn.LinearClassifier(n_classes=3) classifier.fit(iris.data, iris.target, steps=200, batch_size=32) score = metrics.accuracy_score(iris.target, classifier.predict(iris.data)) print("Accuracy: %f" % score)

2、利用DNN算法對(duì)泰坦尼克號(hào)號(hào)數(shù)據(jù)集進(jìn)行乘客獲救與否預(yù)測(cè)

import random import pandas from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from sklearn.utils import check_array from sklearn.cross_validation import train_test_splitimport tensorflow as tfimport skflowtrain = pandas.read_csv('data/titanic_train.csv') y, X = train['Survived'], train[['Age', 'SibSp', 'Fare']].fillna(0) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)lr = LogisticRegression() lr.fit(X_train, y_train) print accuracy_score(lr.predict(X_test), y_test)# Linear classifier.random.seed(42) tflr = skflow.TensorFlowLinearClassifier(n_classes=2, batch_size=128,steps=500, learning_rate=0.05) tflr.fit(X_train, y_train) print accuracy_score(tflr.predict(X_test), y_test)# 3 layer neural network with rectified linear activation.random.seed(42) classifier = skflow.TensorFlowDNNClassifier(hidden_units=[10, 20, 10],n_classes=2, batch_size=128, steps=500, learning_rate=0.05) classifier.fit(X_train, y_train) print accuracy_score(classifier.predict(X_test), y_test)# 3 layer neural network with hyperbolic tangent activation.def dnn_tanh(X, y):layers = skflow.ops.dnn(X, [10, 20, 10], tf.tanh)return skflow.models.logistic_regression(layers, y)random.seed(42) classifier = skflow.TensorFlowEstimator(model_fn=dnn_tanh,n_classes=2, batch_size=128, steps=500, learning_rate=0.05) classifier.fit(X_train, y_train) print accuracy_score(classifier.predict(X_test), y_test)

?

?

參考文章
TensorFlow實(shí)戰(zhàn)之Scikit Flow系列指導(dǎo):Part 1

?

總結(jié)

以上是生活随笔為你收集整理的Py之skflow:skflow的简介、安装、使用方法、代码实现之详细攻略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。