91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

如何用Python進行無監(jiān)督學(xué)習

人工智能和機器人研究院 ? 來源:cc ? 2019-01-21 17:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

無監(jiān)督學(xué)習是一種用于在數(shù)據(jù)中查找模式的機器學(xué)習技術(shù)。無監(jiān)督算法給出的數(shù)據(jù)不帶標記,只給出輸入變量(X),沒有相應(yīng)的輸出變量。在無監(jiān)督學(xué)習中,算法自己去發(fā)現(xiàn)數(shù)據(jù)中有趣的結(jié)構(gòu)。

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

監(jiān)督與無監(jiān)督學(xué)習

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

SRC

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

重要術(shù)語

特性:用于預(yù)測的輸入變量。

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

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

標簽:特性的結(jié)果。

為無監(jiān)督學(xué)習準備數(shù)據(jù)

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

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

# 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']

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

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

Python中的K-Means聚類

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

集群的每個質(zhì)心是定義結(jié)果組的特征值的集合。質(zhì)心特征權(quán)值的檢驗可以定性地解釋每個聚類所代表的組的類型。

從sklearn庫中導(dǎo)入KMeans模型,進行特征擬合和預(yù)測。

K是Python中的實現(xiàn)。

# 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]

分層聚類

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

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

Python中的分層集群實現(xiàn)。

# 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均值和分層聚類之間的差異

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

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

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

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

t-SNE聚類

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

Python中Iris數(shù)據(jù)集的t-SNE聚類實現(xiàn)。

# 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數(shù)據(jù)集具有四個特征(4d),將其轉(zhuǎn)換成二維圖表示。類似地,t-SNE模型可以應(yīng)用于具有n個特征的數(shù)據(jù)集。

DBSCAN群集

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

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

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

    關(guān)注

    66

    文章

    8553

    瀏覽量

    136918
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90013

原文標題:使用Python進行無監(jiān)督學(xué)習

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    算法工程師需要具備哪些技能?

    :自動化任務(wù)(如數(shù)據(jù)預(yù)處理、模型訓(xùn)練調(diào)度)。Git版本控制:團隊協(xié)作開發(fā)(如分支管理、代碼合并)。 機器學(xué)習監(jiān)督學(xué)習:線性回歸、邏輯回歸、決策樹、SVM等。監(jiān)督學(xué)習:聚類(K-Mea
    發(fā)表于 02-27 10:53

    強化學(xué)習會讓自動駕駛模型學(xué)習更快嗎?

    是一種讓機器通過“試錯”學(xué)會決策的辦法。與監(jiān)督學(xué)習不同,監(jiān)督學(xué)習是有人提供示范答案,讓模型去模仿;而強化學(xué)習不會把每一步的“正確答案”都告訴你,而是把環(huán)境、動作和結(jié)果連起來,讓機器自己探索哪個行為長期看起來更有利
    的頭像 發(fā)表于 01-31 09:34 ?636次閱讀
    強化<b class='flag-5'>學(xué)習</b>會讓自動駕駛模型<b class='flag-5'>學(xué)習</b>更快嗎?

    如何使用Python讀取不間斷數(shù)據(jù),并將其傳輸?shù)絃abVIEW進行處理?

    使用Python讀取Count,如何將讀取到的數(shù)據(jù)傳輸至Labview;傳輸過程中Python要保持讀取的動作,不能停止。
    發(fā)表于 01-23 11:09

    沒有專利的opencv-python 版本

    所有 官方發(fā)布的 opencv-python 核心版本( contrib 擴展)都專利風險——專利問題僅存在于 opencv-contrib-python 擴展模塊中的少數(shù)算法(如
    發(fā)表于 12-13 12:37

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學(xué)習實戰(zhàn)課(11大系列課程,共5000+分鐘)

    趨勢: 監(jiān)督學(xué)習普及 當前工業(yè)場景中80%的缺陷檢測項目面臨\"OK樣本充足而NG樣本稀缺\"的困境,傳統(tǒng)監(jiān)督學(xué)習方案難以落地。課程第11系列(
    發(fā)表于 12-04 09:28

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學(xué)習實戰(zhàn)課程(11大系列課程,共5000+分鐘)

    趨勢: 監(jiān)督學(xué)習普及 當前工業(yè)場景中80%的缺陷檢測項目面臨\"OK樣本充足而NG樣本稀缺\"的困境,傳統(tǒng)監(jiān)督學(xué)習方案難以落地。課程第11系列(
    發(fā)表于 12-03 13:50

    自動駕駛中常提的“強化學(xué)習”是個啥?

    下,就是一個智能體在環(huán)境里行動,它能觀察到環(huán)境的一些信息,并做出一個動作,然后環(huán)境會給出一個反饋(獎勵或懲罰),智能體的目標是把長期得到的獎勵累積到最大。和監(jiān)督學(xué)習不同,強化學(xué)習沒有一一對應(yīng)的“正確答案”給它看,而是靠與環(huán)境交互、自我探索來發(fā)現(xiàn)
    的頭像 發(fā)表于 10-23 09:00 ?657次閱讀
    自動駕駛中常提的“強化<b class='flag-5'>學(xué)習</b>”是個啥?

    怎么導(dǎo)出python邊緣計算中的APP,想進行修改又找不到源碼?

    怎么導(dǎo)出python邊緣計算中的APP,想進行修改又找不到源碼
    發(fā)表于 08-06 07:33

    何用藍牙連接數(shù)據(jù)終端進行配置,需要購買什么型號的藍牙適配器?

    何用藍牙連接數(shù)據(jù)終端進行配置,需要購買什么型號的藍牙適配器,技術(shù)支持
    發(fā)表于 08-06 06:28

    任正非說 AI已經(jīng)確定是第四次工業(yè)革命 那么如何從容地加入進來呢?

    的基本理論。了解監(jiān)督學(xué)習、監(jiān)督學(xué)習和強化學(xué)習的基本原理。例如,在監(jiān)督學(xué)習中,理解如何通過標注數(shù)據(jù)來訓(xùn)練模型
    發(fā)表于 07-08 17:44

    刷直流電機單神經(jīng)元自適應(yīng)智能控制系統(tǒng)

    摘要:針對刷直流電機(BLDCM)設(shè)計了一種可在線學(xué)習的單神經(jīng)元自適應(yīng)比例-積分-微分(PID)智能控制器,通過有監(jiān)督的 Hebb學(xué)習規(guī)則調(diào)整權(quán)值,每次采樣根據(jù)反饋誤差對神經(jīng)元權(quán)值
    發(fā)表于 06-26 13:36

    機器學(xué)習異常檢測實戰(zhàn):用Isolation Forest快速構(gòu)建標簽異常檢測系統(tǒng)

    本文轉(zhuǎn)自:DeepHubIMBA監(jiān)督異常檢測作為機器學(xué)習領(lǐng)域的重要分支,專門用于在缺乏標記數(shù)據(jù)的環(huán)境中識別異常事件。本文深入探討異常檢測技術(shù)的理論基礎(chǔ)與實踐應(yīng)用,通過IsolationForest
    的頭像 發(fā)表于 06-24 11:40 ?1405次閱讀
    機器<b class='flag-5'>學(xué)習</b>異常檢測實戰(zhàn):用Isolation Forest快速構(gòu)建<b class='flag-5'>無</b>標簽異常檢測系統(tǒng)

    跟老齊學(xué)Python:從入門到精通

    礎(chǔ)的學(xué)習者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學(xué)習者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦?。。?! 如果內(nèi)容
    發(fā)表于 06-03 16:10

    提高IT運維效率,深度解讀京東云AIOps落地實踐(異常檢測篇)

    了一種閾值方法:基于 LSTM 網(wǎng)絡(luò)的基線(一個 LSTM 框架輔助幾個優(yōu)化步驟)和監(jiān)督檢測(神經(jīng)網(wǎng)絡(luò)和多種機器學(xué)習算法的組合)協(xié)同綜合分析時間序列。當時間序列顯示出清晰的周期性形
    的頭像 發(fā)表于 05-22 16:38 ?1019次閱讀
    提高IT運維效率,深度解讀京東云AIOps落地實踐(異常檢測篇)

    使用MATLAB進行監(jiān)督學(xué)習

    監(jiān)督學(xué)習是一種根據(jù)未標注數(shù)據(jù)進行推斷的機器學(xué)習方法。監(jiān)督學(xué)習旨在識別數(shù)據(jù)中隱藏的模式和關(guān)系,
    的頭像 發(fā)表于 05-16 14:48 ?1433次閱讀
    使用MATLAB<b class='flag-5'>進行</b><b class='flag-5'>無</b><b class='flag-5'>監(jiān)督學(xué)習</b>