在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用Python進行無監督學習

人工智能和機器人研究院 ? 來源:cc ? 2019-01-21 17:23 ? 次閱讀

無監督學習是一種用于在數據中查找模式的機器學習技術。無監督算法給出的數據不帶標記,只給出輸入變量(X),沒有相應的輸出變量。在無監督學習中,算法自己去發現數據中有趣的結構。

人工智能研究總監嚴樂群解釋說,非監督學習教學機器能夠自主學習,而不需要被明確告知它們所做的一切是對是錯,這是實現真正人工智能的關鍵。

監督與無監督學習

在監督學習中,系統試圖從前面給出的例子中學習。(另一方面,在無監督學習中,系統試圖直接從給出的例子中找到模式。)如果數據集被標記,它就會遇到監督問題,如果數據集沒有標記,那么它就是一個監督問題。

SRC

左邊的圖像是監督學習的一個例子;我們使用回歸技術來尋找特征之間的最佳匹配線。而在無監督學習中,輸入是基于特征分離的,預測是基于它所屬的集群。

重要術語

特性:用于預測的輸入變量。

預測:當提供一個輸入示例時,模型s的輸出。

示例:數據集的一行。示例包含一個或多個特性,可能還有一個標簽

標簽:特性的結果。

為無監督學習準備數據

在本文中,我們使用Iris數據集進行第一次預測。該數據集包含一組150條記錄,包含5個屬性:花瓣長度、花瓣寬度、萼片長度、萼片寬度和類別。蝴蝶花,蝴蝶花和花色蝴蝶花是三個等級。對于我們的無監督算法,我們給出虹膜花的這四個特征,并預測它屬于哪一類。

我們使用Python中的sklearn庫加載Iris數據集,使用matplotlib實現數據可視化。下面是用于研究數據集的代碼片段。

# Importing Modules from sklearn import datasets import matplotlib.pyplot as plt # Loading dataset iris_df = datasets.load_iris() # Available methods on dataset print(dir(iris_df)) # Features print(iris_df.feature_names) # Targets print(iris_df.target) # Target Names print(iris_df.target_names) label = {0: 'red', 1: 'blue', 2: 'green'} # Dataset Slicing x_axis = iris_df.data[:, 0] # Sepal Length y_axis = iris_df.data[:, 2] # Sepal Width # Plotting plt.scatter(x_axis, y_axis, c=iris_df.target) plt.show()

['DESCR','data','feature_names','target','target_names'] ['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(厘米)']

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2]

['setosa''versicolor''virginica']

紫羅蘭:瀨戶草,綠色:雜色,黃色:弗吉尼亞

在上面的圖像中,左邊的圖像是未分類的原始數據,右邊的圖像是聚類的(根據數據的特征進行分類)。當給定一個要預測的輸入時,它會根據它的特性檢查它所屬的集群,然后進行預測。

Python中的K-Means聚類

K均值是一種迭代聚類算法,其目標是在每次迭代中尋找局部最大值。選擇初始所需的集群數量。因為我們知道有3個類,所以我們編寫算法將數據分組到3個類中,方法是將參數n個集群傳遞到KMeans模型中。現在隨機將三個點(輸入)分配到三個集群中。根據每個點之間的質心距離,下一個給定的輸入被分離成受尊重的集群。現在,重新計算所有集群的質心。

集群的每個質心是定義結果組的特征值的集合。質心特征權值的檢驗可以定性地解釋每個聚類所代表的組的類型。

從sklearn庫中導入KMeans模型,進行特征擬合和預測。

K是Python中的實現。

# Importing Modules from sklearn import datasets from sklearn.cluster import KMeans # Loading dataset iris_df = datasets.load_iris() # Declaring Model model = KMeans(n_clusters=3) # Fitting Model model.fit(iris_df.data) # Predicitng a single input predicted_label = model.predict([[7.2, 3.5, 0.8, 1.6]]) # Prediction on the entire data all_predictions = model.predict(iris_df.data) # Printing Predictions print(predicted_label) print(all_predictions)

[0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 1 2 1 1 2 2 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2]

分層聚類

分層聚類,顧名思義,是一種構建集群層次結構的算法。該算法首先將所有數據分配給自己的集群。然后將兩個最近的集群連接到同一個集群中。最后,當只剩下一個集群時,該算法就結束了。

利用樹狀圖可以顯示層次聚類的完成情況。現在讓我們看一個谷物數據分層聚類的例子。數據集可以在這里找到。

Python中的分層集群實現。

# Importing Modules from scipy.cluster.hierarchy import linkage, dendrogram import matplotlib.pyplot as plt import pandas as pd # Reading the DataFrame seeds_df = pd.read_csv( "https://raw.githubusercontent.com/vihar/unsupervised-learning-with-python/master/seeds-less-rows.csv") # Remove the grain species from the DataFrame, save for later varieties = list(seeds_df.pop('grain_variety')) # Extract the measurements as a NumPy array samples = seeds_df.values """ Perform hierarchical clustering on samples using the linkage() function with the method='complete' keyword argument. Assign the result to mergings. """ mergings = linkage(samples, method='complete') """ Plot a dendrogram using the dendrogram() function on mergings, specifying the keyword arguments labels=varieties, leaf_rotation=90, and leaf_font_size=6. """ dendrogram(mergings, labels=varieties, leaf_rotation=90, leaf_font_size=6, ) plt.show()

K均值和分層聚類之間的差異

層次聚類不能很好地處理大數據,K表示聚類可以。這是因為K均值的時間復雜度是線性的,即O(n),而層次聚類的時間復雜度是二次的,即O(n2)。

在K均值聚類中,當我們從任意選擇的聚類開始時,多次運行該算法生成的結果可能會有所不同。而結果在層次聚類中是可重復的。

當星系團的形狀是超球形(如二維的圓形,三維的球形)時,發現K 代表工作良好。

K-Means不允許有噪聲的數據,而在分層中我們可以直接使用有噪聲的數據集進行聚類。

t-SNE聚類

它是一種無監督的可視化學習方法。t-SNE代表t分布隨機鄰居嵌入。它將高維空間映射到可以可視化的二維或三維空間。具體地說,它通過一個二維或三維點對每個高維物體進行建模,其方法是用附近的點對相似的物體建模,用高概率的遠點對不同的物體建模。

Python中Iris數據集的t-SNE聚類實現。

# Importing Modules from sklearn import datasets from sklearn.manifold import TSNE import matplotlib.pyplot as plt # Loading dataset iris_df = datasets.load_iris() # Defining Model model = TSNE(learning_rate=100) # Fitting Model transformed = model.fit_transform(iris_df.data) # Plotting 2d t-Sne x_axis = transformed[:, 0] y_axis = transformed[:, 1] plt.scatter(x_axis, y_axis, c=iris_df.target) plt.show()

紫色:Setosa,綠色:Versicolor,黃色:Virginica

這里,由于Iris數據集具有四個特征(4d),將其轉換成二維圖表示。類似地,t-SNE模型可以應用于具有n個特征的數據集。

DBSCAN群集

DBSCAN(基于密度的噪聲應用空間聚類)是一種常用的聚類算法,用于替代預測分析中的k均值。它不需要您輸入集群的數量才能運行。但作為交換,您必須調優其他兩個參數。

scikit-learn實現為eps和min示例參數提供了默認值,但是通常需要對它們進行調優。eps參數是在同一個鄰域內需要考慮的兩個數據點之間的最大距離。最小樣本參數是一個鄰域內被認為是一個集群的數據點的最小數量。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器學習
    +關注

    關注

    66

    文章

    8418

    瀏覽量

    132635
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84689

原文標題:使用Python進行無監督學習

文章出處:【微信號:gh_ecbcc3b6eabf,微信公眾號:人工智能和機器人研究院】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用Python進行串口通信的案例

    當然!以下是一個使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發送數據以及接收數據。我們將使用 pyserial 庫,這是一個非常流行的用于串口通信的Python庫。 首先,你
    的頭像 發表于 11-22 09:11 ?198次閱讀

    時空引導下的時間序列自監督學習框架

    【導讀】最近,香港科技大學、上海AI Lab等多個組織聯合發布了一篇時間序列監督預訓練的文章,相比原來的TS2Vec等時間序列表示學習工作,核心在于提出了將空間信息融入到預訓練階段,即在預訓練階段
    的頭像 發表于 11-15 11:41 ?255次閱讀
    時空引導下的時間序列自<b class='flag-5'>監督學習</b>框架

    如何幫助孩子高效學習Python:開源硬件實踐是最優選擇

    家長們常常擔心孩子在學習Python時所面臨的挑戰,如復雜性、興趣保持、學習進度和可用資源。對于希望有效教授孩子Python的家長而言,了解硬件的作用至關重要,因為結合硬件項目的
    的頭像 發表于 09-06 09:49 ?323次閱讀

    使用Python進行Ping測試

    )請求包,然后等待目標主機返回響應包,從而測量網絡的延遲和丟包情況。隨著Python編程語言的廣泛應用,越來越多的網絡工程師開始使用Python進行自動化網絡測試和管理任務。本篇文章將詳細介紹如何使用
    的頭像 發表于 08-12 17:56 ?508次閱讀
    使用<b class='flag-5'>Python</b><b class='flag-5'>進行</b>Ping測試

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    收集海量的文本數據作為訓練材料。這些數據集不僅包括語法結構的學習,還包括對語言的深層次理解,如文化背景、語境含義和情感色彩等。 自監督學習:模型采用自監督學習策略,在大量標簽文本數據
    發表于 08-02 11:03

    【《大語言模型應用指南》閱讀體驗】+ 基礎篇

    章節最后總結了機器學習的分類:有監督學習監督學習、半監督學習、自監督學習和強化
    發表于 07-25 14:33

    Python在AI中的應用實例

    Python在人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python在AI中的幾個關鍵應用實例,包括機器
    的頭像 發表于 07-19 17:16 ?1092次閱讀

    神經網絡如何用監督算法訓練

    標記數據的處理尤為有效,能夠充分利用互聯網上的海量數據資源。以下將詳細探討神經網絡如何用監督算法進行訓練,包括常見的
    的頭像 發表于 07-09 18:06 ?801次閱讀

    深度學習中的監督學習方法綜述

    應用中往往難以實現。因此,監督學習在深度學習中扮演著越來越重要的角色。本文旨在綜述深度學習中的監督學
    的頭像 發表于 07-09 10:50 ?732次閱讀

    深度學習常用的Python

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學習研究和應用的首選工具。本文將深入探討
    的頭像 發表于 07-03 16:04 ?652次閱讀

    如何使用Python進行神經網絡編程

    神經網絡簡介 神經網絡是一種受人腦啟發的機器學習模型,由大量的節點(或稱為“神經元”)組成,這些節點在網絡中相互連接。每個節點可以接收輸入,對輸入進行加權求和,然后通過一個激活函數產生輸出
    的頭像 發表于 07-02 09:58 ?407次閱讀

    基于FPGA的類腦計算平臺 —PYNQ 集群的監督圖像識別類腦計算系統

    STDP 監督學習算法,可運用于圖像的 監督分類。 從平臺設計角度: (1)本設計搭建的基于 PYNQ 集群的通用低功耗的大規模類腦計算平臺,搭載 PYNN,NEST 等
    發表于 06-25 18:35

    Meta發布新型監督視頻預測模型“V-JEPA”

    Meta,這家社交媒體和科技巨頭,近日宣布推出一種新型的監督視頻預測模型,名為“V-JEPA”。這一模型在視頻處理領域引起了廣泛關注,因為它通過抽象性預測生成視頻中缺失或模糊的部分來進行學習
    的頭像 發表于 02-19 11:19 ?1021次閱讀

    2024年AI領域將會有哪些新突破呢?

    傳統的機器學習需要大量的標記數據進行訓練,但自監督學習可以通過監督的方式從大規模未標記的數據中學習
    的頭像 發表于 01-24 09:58 ?2013次閱讀

    如何使用Python進行圖像識別的自動學習自動訓練?

    如何使用Python進行圖像識別的自動學習自動訓練? 使用Python進行圖像識別的自動學習和自
    的頭像 發表于 01-12 16:06 ?593次閱讀
    主站蜘蛛池模板: 成人aaa| 四虎新地址| 色综合久久综合欧美综合网| 久久三级国产| 天天爱夜夜爽| 亚洲一级毛片免费看| 四虎影院在线播放| 二级黄色大片| 超级乱淫视频播放日韩| 中文字幕在线播放不卡| 欧美日韩乱国产| 天堂最新版在线www在线| 亚洲男人的天堂久久无| 欧美夜夜夜| 午夜爽视频| 人人九九精| 亚洲码在线| 色一欲一性一乱一区二区三区| 高清国产一区二区三区| 在线观看视频网站| 四虎影院永久网址| 夜夜五月天| 亚欧毛片基地国产毛片基地| 日本高清视频色www在线观看| 亚洲免费看片| 精品国产自在现线看久久| 久久精品久| 91牛牛| 3344在线观看永久免费| 日本经典在线三级视频| 天天干天天干天天| 99久久国产免费 - 99久久国产免费 | 日本aaaa毛片在线看| 久久精品国产清自在天天线| 国产香蕉在线视频| 天堂黄网| 久久人人精品| 福利视频免费观看| 日韩色区| 国产在线视频网站| 色天使网|