亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中Scikit-Learn怎么用

發布時間:2022-03-03 13:39:12 來源:億速云 閱讀:194 作者:小新 欄目:開發技術

這篇文章主要介紹python中Scikit-Learn怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

    1、數據集

    學習算法時,我們都希望有一些數據集可以練手。Scikit learn 附帶一些非常棒的數據集,如iris數據集、房價數據集、糖尿病數據集等。

    這些數據集非常容易獲取、同時也易于理解,你可以直接在其上實現ML模型,非常適合初學者。

    你可以按如下方式即可獲取:

    import sklearn
    from sklearn import datasets
    import pandas as pd
    dataset = datasets.load_iris()
    df = pd.DataFrame(dataset.data, columns=dataset.feature_names)

    同樣,你可以用同樣的方式導入其他數據集。

    2、數據拆分

    Sklearn 提供了拆分數據集以進行訓練和測試的功能。拆分數據集對于預測性能的無偏見評估至關重要,可以定義訓練和測試數據集中的數據比例。

    我們可以按如下方式拆分數據集:

    from sklearn.model_selection import train_test_split
    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=2, random_state=4)

    train_test_split 的幫助下,我們對數據集進行了拆分,使得訓練集有 80% 的數據和測試集有 20% 的數據。

    3、線性回歸

    當輸出變量為連續變量且與因變量呈線性關系時,使用監督機器學習模型,它可以通過分析前幾個月的銷售數據來預測未來幾個月的銷售。

    借助sklearn,我們可以輕松實現線性回歸模型,如下所示:

    from sklearn.linear_model import LinearRegression
    from sklearn.metrics import mean_squared_error, r2_score
    regression_model = LinearRegression()
    regression_model.fit(x_train, y_train)
    y_predicted = regression_model.predict(x_test)
    rmse = mean_squared_error(y_test, y_predicted)
    r2 = r2_score(y_test, y_predicted)

    首先LinerRegression()創建一個線性回歸的對象,然后我們在訓練集上擬合模型。最后,我們在測試數據集上預測了模型。 "rmse"和"r_score"可用于檢查模型的準確性。

    4、邏輯回歸

    邏輯回歸也是一種監督回歸算法,就像線性回歸一樣。唯一的區別是輸出變量是分類的。它可用于預測患者是否患有心臟病。

    借助 sklearn,我們可以輕松實現 Logistic 回歸模型,如下所示:

    from sklearn.linear_model import LogisticRegression
    from sklearn.metrics import confusion_matrix
    from sklearn.metrics import classification_report
    logreg = LogisticRegression()
    logreg.fit(x_train, y_train)
    y_predicted = logreg.predict(x_test)
    confusion_matrix = confusion_matrix(y_test, y_pred)
    print(confusion_matrix)
    print(classification_report(y_test, y_pred))

    混淆矩陣和分類報告用于檢查分類模型的準確性。

    5、決策樹

    決策樹是一個強大的工具,可用于分類和回歸問題。它由根和節點組成,根代表分裂的決定,節點代表輸出變量值。當因變量與自變量不遵循線性關系時,決策樹很有用。

    用于分類的決策樹實現:

    from sklearn.tree import DecisionTreeClassifier
    from sklearn.metrics import confusion_matrix
    from sklearn.tree import export_graphviz
    from sklearn.externals.six import StringIO 
    from IPython.display import Image 
    from pydot import graph_from_dot_data
    dt = DecisionTreeClassifier()
    dt.fit(x_train, y_train)
    dot_data = StringIO()
    export_graphviz(dt, out_file=dot_data, feature_names=iris.feature_names)
    (graph, ) = graph_from_dot_data(dot_data.getvalue())
    y_pred = dt.predict(x_test)

    我們使用 DecisionTreeClassifier() 對象擬合模型,并使用進一步的代碼來可視化 Python 中的決策樹實現。

    6、Bagging

    Bagging是一種使用訓練集中的隨機樣本訓練相同類型的多個模型的技術。不同模型的輸入是相互獨立的。

    對于前一種情況,可以使用多個決策樹進行預測,而不僅僅是一個被稱為隨機森林的決策樹。

    7、Boosting

    Boosting 多個模型的訓練方式是,一個模型的輸入取決于前一個模型的輸出。在 Boosting 中,對預測錯誤的數據給予更多的優先權。

    8、隨機森林

    隨機森林是一種 bagging 技術,它使用成百上千的決策樹來構建模型,用于分類和回歸問題。比如:貸款申請人分類、識別欺詐活動和預測疾病。

    在 python 中實現如下:

    from sklearn.ensemble import RandomForestClassifier
    num_trees = 100
    max_features = 3
    clf = RandomForestClassifier(n_estimators=num_trees, max_features=max_features)
    clf.fit(x_train,y_train)
    y_pred=clf.predict(x_test)
    print("Accuracy:",metrics.accuracy_score(y_test, y_pred))

    9、XGBoost

    XGBoost 是一種提升技術,可提供梯度提升決策樹的高性能實現。它可以自行處理丟失的數據,支持正則化并且通常比其他模型給出更準確的結果。

    在 python 中實現如下:

    from xgboost import XGBClassifier
    from sklearn.metrics import mean_squared_error
    xgb = XGBClassifier(colsample_bytree = 0.3, learning_rate = 0.1,max_depth = 5, alpha = 10, n_estimators = 10)
    xgb.fit(x_train,y_train)
    y_pred=xgb.predict(x_test)
    rmse = np.sqrt(mean_squared_error(y_test, preds))
    print("RMSE: %f" % (rmse))

    10、支持向量機(SVM)

    SVM是一種監督機器學習算法,通過找到最好的超平面來進行分類,它通常被用于許多應用程序,例如人臉檢測、郵件分類等。

    在 python 中實現為:

    from sklearn import svm
    from sklearn import metrics
    clf = svm.SVC(kernel='linear')
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)
    print("Accuracy:",metrics.accuracy_score(y_test, y_pred))

    11、混淆矩陣

    混淆矩陣是用于描述分類模型性能的表格。混淆矩陣以如下4項的幫助下進行分析:

    真陽性(TF)

    這意味著模型預測為正,實際上為正。

    真陰性(TN)

    這意味著模型預測為負,實際上為負。

    誤報(FP)

    這意味著模型預測為正,但實際上為負。

    假陰性(FN)

    這意味著模型預測為負,但實際上為正。

    Python 可以實現

    from sklearn.metrics import confusion_matrix
    confusion_matrix = confusion_matrix(y_test, y_pred)
    print(confusion_matrix)

    12、K-均值聚類

    K-Means 聚類是一種用于解決分類問題的無監督機器學習算法。無監督算法是數據集中沒有標簽或輸出變量的算法。

    在聚類中,數據集根據特征分成不同的組,稱為集群。k-means 聚類有很多應用,例如市場分割、文檔聚類、圖像分割。

    它可以在python中實現為:

    from sklearn.cluster import KMeans
    import statsmodels.api as sm
    kmeans = KMeans(3)
    means.fit(x)
    identified_clusters = kmeans.fit_predict(x)

    13、DBSCAN 聚類

    DBSCAN 也是一種無監督聚類算法,它根據數據點之間的相似性進行聚類。 在 DBSCAN 中,只有當指定半徑的簇中的點數最少時,才會形成簇。

    DBSCAN 的優勢在于它對異常值具有魯棒性,即它可以自行處理異常值,這與 k 均值聚類不同。DBSCAN 算法用于創建熱圖、地理空間分析、溫度數據中的異常檢測。

    它可以實現為:

    from sklearn.cluster import DBSCAN
    from sklearn import metrics
    from sklearn.preprocessing import StandardScaler
    db = DBSCAN(eps=0.3, min_samples=10).fit(X)
    core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
    core_samples_mask[db.core_sample_indices_] = True
    labels = db.labels_
    n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
    print(labels)

    14、標準化和規范化

    標準化

    標準化是一種縮放技術,我們將屬性的均值設為 0,將標準差設為 1,從而使值以具有單位標準差的均值為中心。 它可以做為 X’= (X-μ)/σ

    正常化

    歸一化是一種使值的范圍從 0 到 1 的技術,它也稱為最小-最大縮放。 歸一化可以通過給定的公式 X= (X -Xmin)/(Xmax-Xmin) 來完成。

    from sklearn.preprocessing import StandardScaler
    from sklearn.preprocessing import MinMaxScaler

    Python 提供了 StandardScaler 函數用于實現標準化,MinMaxScaler 函數用于規范化。

    15、特征提取

    特征提取是從數據中提取特征的方法。如果將數據轉換為數字格式,我們只能將數據傳遞給機器學習模型。Scikit-Learn 提供了將文本和圖像轉換為數字的功能。

    Bag of Words 和 TF-IDF 是 scikit-learn 提供的自然語言處理中最常用的將單詞轉換為數字的方法。

    以上是“python中Scikit-Learn怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    同仁县| 云霄县| 句容市| 濮阳市| 莱芜市| 赤城县| 柯坪县| 西华县| 滦平县| 石屏县| 抚顺县| 贵州省| 海兴县| 通榆县| 岚皋县| 望奎县| 丹阳市| 曲阜市| 湖南省| 湄潭县| 都匀市| 潼南县| 茶陵县| 中牟县| 龙岩市| 通化市| 天水市| 乡城县| 兰考县| 藁城市| 泸西县| 乐安县| 呼伦贝尔市| 故城县| 简阳市| 饶河县| 贡嘎县| 奈曼旗| 汝南县| 喀什市| 大港区|