文章目錄[隱藏]
Mlxtend介紹
https://rasbt.github.io/mlxtend/
Mlxtend(機器學習(xi) 擴展)是一個(ge) Python庫,提供了一係列有用的工具,用於(yu) 日常的數據科學任務。它旨在增強流行的機器學習(xi) 庫(如scikit-learn、TensorFlow和PyTorch)的功能。
Mlxtend提供了許多功能,可以增強您的機器學習(xi) 工作流程。mlxtend的一些關(guan) 鍵功能包括:
- 特征選擇:包括順序特征選擇(SFS)、窮舉特征選擇(EFS)和遞歸特征消除(RFE)。
- 特征提取:主成分分析(PCA)和線性判別分析(LDA)等特征提取技術。
- 模型評估:計算分類準確度、混淆矩陣和繪製學習曲線的函數。
- 集成方法:堆疊(stacking)和裝袋(bagging)
- 關聯規則挖掘:從事務數據中挖掘頻繁項集和生成關聯規則的算法。
- 神經網絡工具:包括一些便利函數和可視化工具,可以幫助您構建、訓練和評估神經網絡模型。
Mlxtend API介紹
mlxtend.classifier
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.classifier/
- Adaline(自適應線性神經元分類器):Adaline是一種自適應線性神經元分類器,它可以用於二元分類任務。它具有參數eta(學習速率)、epochs(迭代次數)、minibatches(小批量樣本數)、random_seed(隨機種子)等。
- EnsembleVoteClassifier(集成投票分類器):EnsembleVoteClassifier是一個用於scikit-learn估計器的軟投票/多數表決分類器。它可以使用多個分類器,並根據不同的投票策略進行預測。
- LogisticRegression(邏輯回歸分類器):LogisticRegression是一個邏輯回歸分類器,用於處理二元分類問題。它具有參數eta(學習速率)、epochs(迭代次數)、l2_lambda(L2正則化參數)、minibatches(小批量樣本數)、random_seed(隨機種子)等。
- MultiLayerPerceptron(多層感知機分類器):MultiLayerPerceptron是一個多層感知機分類器,使用邏輯sigmoid激活函數。它具有參數eta(學習速率)、epochs(迭代次數)、hidden_layers(隱藏層大小列表)、momentum(動量參數)、l1(L1正則化參數)、l2(L2正則化參數)等。
- OneRClassifier(OneR分類器):OneRClassifier是一個使用One Rule算法的分類器。One Rule算法是一種簡單但有效的規則學習算法,用於生成基於單個特征的決策規則。
- Perceptron(感知器分類器):Perceptron是一個感知器分類器,用於處理二元分類任務。它具有參數eta(學習速率)、epochs(迭代次數)、random_seed(隨機種子)等。
- SoftmaxRegression(Softmax回歸分類器):SoftmaxRegression是一個Softmax回歸分類器,用於多類別分類。它具有參數eta(學習速率)、epochs(迭代次數)、l2(L2正則化參數)、minibatches(小批量樣本數)等。
- StackingCVClassifier(交叉驗證堆疊分類器):StackingCVClassifier是一個用於scikit-learn估計器的交叉驗證堆疊分類器。它將多個分類器作為基本分類器,並使用元分類器對其預測結果進行堆疊。
- StackingClassifier(堆疊分類器):StackingClassifier是一個用於分類任務的堆疊分類器。它使用多個分類器作為基本分類器,並使用元分類器對其預測結果進行堆疊。
mlxtend.cluster
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.cluster/
mlxtend中的Kmeans類實現了K-means聚類算法,具有以下參數:
- k:指定要形成的簇的數量。
- max_iter:最大迭代次數,控製算法的收斂性。
- convergence_tolerance:收斂容差,當質心的變化小於此閾值時,算法停止迭代。
- random_seed:隨機種子,用於控製隨機初始化的一致性。
- print_progress:打印算法進度的選項。
mlxtend.data
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.data/
- autompg_data:Auto MPG數據集。
- boston_housing_data:波士頓房價數據集。
- iris_data:鳶尾花數據集。
- loadlocal_mnist:從ubyte文件中讀取MNIST數據集。
- make_multiplexer_dataset:創建一個二進製n位多路複用器數據集。
- mnist_data:來自MNIST手寫數字數據集的5000個樣本。
- three_blobs_data:用於聚類的三個二維斑點數據集。
- wine_data:葡萄酒數據集。
mlxtend.evaluate
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.evaluate/
- BootstrapOutOfBag:用於基於自助法進行模型評估的方法。
- GroupTimeSeriesSplit:用於處理分組時間序列數據的交叉驗證方法。
- PredefinedHoldoutSplit:用於指定訓練/驗證集劃分的方法,可與sklearn的GridSearchCV等函數配合使用。
- RandomHoldoutSplit:用於隨機劃分訓練/驗證集的方法,可與sklearn的GridSearchCV等函數配合使用。
- accuracy_score:計算準確率的方法。
- bias_variance_decomp:計算偏差-方差分解的方法。
- bootstrap:實現普通非參數自助法的方法。
- cochrans_q:用於比較2個或多個模型的Cochran's Q檢驗方法。
- combined_ftest_5x2cv:用於比較兩個模型性能的5x2cv組合F檢驗方法。
- confusion_matrix:計算混淆矩陣/列聯表的方法。
- create_counterfactual:實現反事實方法的方法。
- feature_importance_permutation:通過置換重要性計算特征重要性的方法。
- ftest:用於比較2個或多個模型的F-Test檢驗方法。
- lift_score:計算提升度的方法。
- mcnemar:用於配對名義數據的McNemar檢驗方法。
- mcnemar_table:計算McNemar檢驗的2x2列聯表的方法。
- mcnemar_tables:計算McNemar檢驗或Cochran's Q檢驗的多個2x2列聯表的方法。
- paired_ttest_5x2cv:用於比較兩個模型性能的5x2cv配對t檢驗方法。
- paired_ttest_kfold_cv:用於比較兩個模型性能的k-fold配對t檢驗方法。
- paired_ttest_resampled:用於比較兩個模型性能的重采樣配對t檢驗方法。
- permutation_test:非參數置換檢驗的方法。
- proportion_difference:計算比例差異檢驗的方法。
- scoring:計算監督學習中的評分指標的方法。
mlxtend.feature_extraction
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.feature_extraction/
- LinearDiscriminantAnalysis:線性判別分析(Linear Discriminant Analysis,LDA)類。
- PrincipalComponentAnalysis:主成分分析(Principal Component Analysis,PCA)類。
- RBFKernelPCA:徑向基核主成分分析(RBF Kernel Principal Component Analysis)類,用於降低數據維度。
mlxtend.feature_selection
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.feature_selection/
- ColumnSelector:用於從數據集中選擇特定列的對象。可以根據指定的列索引或列名來選擇需要的列數據。
- ExhaustiveFeatureSelector:用於進行窮舉特征選擇的方法。該方法通過遍曆所有可能的特征組合來選擇最佳的特征子集,以提高模型性能。
- SequentialFeatureSelector:用於進行順序特征選擇的方法。該方法通過迭代地添加或刪除特征來選擇最佳的特征子集,以提高模型性能。可以使用前向選擇(forward)、後向選擇(backward)或浮動選擇(floating)策略。
mlxtend.file_io
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.file_io/
- find_filegroups:用於從不同目錄中查找和收集文件的方法。可以根據指定的路徑、文件名子字符串、文件擴展名等條件,在不同目錄中查找符合條件的文件,並將它們收集到一個Python字典中。
- find_files:用於在指定目錄中根據文件名子字符串進行文件查找的方法。可以根據指定的子字符串匹配條件,在指定的目錄中查找符合條件的文件,並返回匹配的文件列表。
mlxtend.frequent_patterns
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.frequent_patterns/
- apriori:從一個獨熱編碼的DataFrame中獲取頻繁項集。該方法基於Apriori算法,根據最小支持度篩選出頻繁項集,可以用於發現數據中頻繁出現的組合。
- association_rules:生成關聯規則的DataFrame,包括指標如'支持度'、'置信度'和'提升度'等。可以根據指定的關聯規則評價指標和最小閾值篩選出具有一定關聯性的規則。
- fpgrowth:從一個獨熱編碼的DataFrame中獲取頻繁項集。該方法基於FP-Growth算法,使用FP樹數據結構高效地挖掘頻繁項集,適用於大規模數據集。
- fpmax:從一個獨熱編碼的DataFrame中獲取極大頻繁項集。與頻繁項集不同,極大頻繁項集是指不再有超集是頻繁項集的項集,具有更高的抽象度和概括性。
- hmine:從一個獨熱編碼的DataFrame中獲取頻繁項集。該方法基於Hash算法,以哈希表為基礎實現高效的頻繁項集挖掘。
mlxtend.image
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.image/
- EyepadAlign:人臉圖像對齊/變換類,基於眼睛對齊的方法。該類可用於將人臉圖像對齊到麵部特征點,以實現標準化的人臉對齊操作。
- extract_face_landmarks:用於提取人臉特征點的函數。該函數接受一個圖像作為輸入,並返回檢測到的人臉特征點的位置。通過提取人臉特征點,可以進一步應用於人臉分析、表情識別、人臉識別等任務。
mlxtend.plotting
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.plotting/
- category_scatter:繪製散點圖,可以使用不同的顏色和標記樣式表示不同的類別。
- checkerboard_plot:通過matplotlib繪製棋盤圖表/熱圖。
- ecdf:繪製經驗累積分布函數(ECDF)圖。
- enrichment_plot:繪製堆疊條形圖。
- heatmap:通過matplotlib繪製熱圖。
- plot_confusion_matrix:繪製混淆矩陣圖。
- plot_decision_regions:繪製分類器的決策邊界。
- plot_learning_curves:繪製分類器的學習曲線。
- plot_linear_regression:繪製線性回歸擬合線。
- plot_pca_correlation_graph:計算主成分分析(PCA)並繪製相關性圖。
- plot_sequential_feature_selection:繪製特征選擇結果圖。
- remove_borders:從matplotlib圖中去除邊框。
- scatter_hist:繪製散點圖,並沿軸繪製各個特征的直方圖。
- scatterplotmatrix:繪製散點圖矩陣。
- stacked_barplot:繪製堆疊條形圖。
mlxtend.regressor
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.regressor/
- LinearRegression:最小二乘線性回歸模型。它使用普通最小二乘法來擬合線性模型。
- StackingCVRegressor:用於回歸問題的堆疊交叉驗證回歸器。它基於scikit-learn估計器實現了堆疊回歸模型,可以通過交叉驗證進行性能評估和模型選擇。
- StackingRegressor:用於回歸問題的堆疊回歸器。它基於scikit-learn估計器實現了堆疊回歸模型,可以通過將多個基本回歸模型的預測結果作為輸入,使用元回歸模型進行集成。
mlxtend.preprocessing
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.preprocessing/
- CopyTransformer:返回輸入數組的副本的轉換器。
- DenseTransformer:將稀疏數組轉換為密集數組的轉換器。
- MeanCenterer:對向量和矩陣進行列中心化的轉換器。
- TransactionEncoder:用於Python列表中事務數據的編碼器類。
- minmax_scaling:對pandas DataFrame進行最小-最大縮放。
- one_hot:對類別標簽進行獨熱編碼。
- shuffle_arrays_unison:同時打亂NumPy數組的轉換器。
- standardize:對pandas DataFrame中的列進行標準化。
mlxtend.text
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.text/
- generalize_names:將人的姓和名進行泛化處理,返回格式為<姓><分隔符><名字的第一個或幾個字母>的姓名字符串。
- generalize_names_duplcheck:對DataFrame中的姓名列進行泛化處理並去除重複值。默認情況下,使用mlxtend.text.generalize_names方法對姓和名進行泛化處理,並根據是否存在重複值選擇使用更多的名字字母進行泛化。
- tokenizer_emoticons:從文本中提取出表情符號(emoticons)。
- tokenizer_words_and_emoticons:將文本轉換為小寫的單詞和表情符號(emoticons)。
mlxtend.utils
https://rasbt.github.io/mlxtend/api_subpackages/mlxtend.utils/
- Counter:用於顯示for循環迭代器的進度。可以在循環中使用該類來跟蹤迭代器的進度,並顯示進度條。
- assert_raises:用於檢查特定異常是否被引發,並驗證異常消息是否與預期相符。可以使用該方法來進行單元測試,確保特定代碼段引發了預期的異常。
- format_kwarg_dictionaries:用於合並默認的關鍵字參數字典和用戶指定的關鍵字參數字典。該方法可以幫助在函數或方法中處理和組合不同來源的關鍵字參數,例如默認參數和用戶提供的參數。
評論已經被關(guan) 閉。