本期我們開啟一個新的系列——Jupyter Notebook插件。
我們知道Jupyter Notebook是一個非常棒的資料科學、分析和程式設計的環境。但它在有些方面也存在着功能欠缺或者體驗不夠舒服的問題。幸好,Notebook提供了插件拓展的功能,我們可以通過安裝一些優秀的插件,讓我們的工作效率提高不少!
在本系列中,小編将持續整理和介紹一些自己安裝和體驗過的Notebook優秀插件,幫助大家更好的使用Notebook。
本期我們先來體驗一款懶人神器——Visual Python,拯救不想寫代碼又想探索資料科學的你...
VisualPython簡介
VisualPython是一個開源項目,它是一款基于GUI(圖形界面)的Python代碼生成器,在Jupyter Notebook上作為擴充插件使用。
VisualPython的初衷是為那些在資料科學課程中為編碼而苦苦掙紮的學生而開發。
對于程式員而言,使用該工具可以儲存和重用使用者代碼;非程式員使用該工具,可以更輕松地學習Python語言,以最少的編碼技能探索和利用資料科學解決實際問題。
主要特征:
- 基于圖形界面自動生成Python代碼
- 可以按任務建立代碼塊,如資料處理任務、可視化任務等
- 可以将分析過程導出為.vp檔案與他人共享
VisualPython簡略體驗
安裝VisualPython
- 安裝程式包
pip install visualpython
- 啟用VisualPython
visualpy install
- 激活VisualPython插件 單擊Jupyter筆記本菜單欄右側的橙色方形按鈕
探索VisualPython
- 主界面功能一覽
- 邏輯流程控制
- 常用包的代碼(可以增加自定義的代碼片段)
- 我們拿資料分析簡單體驗一下:
資料分析的操作
VisualPython自動生成代碼并運作
Machine Learning 子產品
接下來我們重點體驗一下VisualPython的Machine Learning子產品,它覆寫了sklearn包中常用的機器學習方法。
- Data Sets:建立資料集,導入sklearn内置的機器學習資料集
- Data Split:将資料集拆分測試集訓練集
- Data Prep:特征工程
- AutoML:自動機器學習
- Regressor:回歸模型
- Classifier:分類模型
- Clustering:聚類模型
- Dimension:降維
- Fit/Predict:模型拟合/預測
- Model Info:模型資訊
- Evaluation:模型評估
❝
「我們使用iris資料集簡單體驗一下VisualPython的Machine Learning元件」
❞
- 第一步,導入資料:導入鸢尾花(iris)資料集,并自動生成代碼
使用VisualPython導入資料集
自動生成以下代碼:
# Visual Python: Machine Learning > Data Sets
from sklearn.datasets import load_iris
iris = load_iris()
# Create DataFrame
df_iris = pd.DataFrame(data=iris.data, columns=iris.feature_names)
df_iris['target'] = iris.target
df_iris
- 第二步,拆分資料集:将資料集拆分成測試集和訓練集
拆分資料集
自動生成以下代碼:
# Visual Python: Machine Learning > Data Split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(df_iris[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']], df_iris['target'])
- 第三步,初始化分類器:執行個體化LogisticRegression模型
初始化模型
自動生成以下代碼:
# Visual Python: Machine Learning > Classifier
from sklearn.linear_model import LogisticRegression
class_model = LogisticRegression(multi_class="auto")
- 第四步,模型拟合/預測:訓練模型并預測
模型訓練/預測
自動生成以下代碼:
# Visual Python: Machine Learning > Fit/Predict
class_model.fit(X_train, y_train)
# Visual Python: Machine Learning > Fit/Predict
pred = class_model.predict(X_test)
pred
- 第五步,模型評估&檢視模型混淆矩陣
自動生成以下代碼:
# Visual Python: Machine Learning > Evaluation
from sklearn import metrics
# Visual Python: Machine Learning > Evaluation
# Confusion Matrix
pd.crosstab(y_test, pred, margins=True)
輸出的混淆矩陣:
《新語資料故事彙,數說新語》 科普資料科學、講述資料故事,深層次挖掘資料價值。歡迎各位朋友投稿!
微信号|SnbDataStory
《新語資料故事彙,數說新語》