什麼是監督學習?
監督學習是機器學習的子集,監督學習會對機器學習模型的輸入資料進行標記,並對其進行練習。因此,監督模型能最大限度地預測模型的輸出結果。
監督學習背後的概念也可以從現實生活中找到影子,例如老師為孩子做輔導。假設老師要教孩子認識貓、狗的圖像。她/他將透過不斷地向孩子展示貓或狗的圖像來輔導孩子,同時告知孩子圖像是狗還是貓。
展示和告知圖像的過程可以被認為是標記數據,在機器學習模型訓練過程中,會被告知哪些數據屬於哪個類別。
監督學習有什麼用?監督學習可用於回歸和分類問題。分類模型允許演算法確定給定資料屬於哪個組別。範例可能包括 True/False、Dog/Cat 等。
由於迴歸模型能夠根據歷史資料預測將來的數值,因此它會被用來預測員工的薪資或房地產的售價。
在本文中,我們將列出一些用於監督學習的常見演算法,以及關於此類演算法的實用教學。
線性迴歸
線性迴歸是一種監督學習演算法,它根據給定的輸入值預測輸出值。當目標(輸出)變數傳回連續值時,使用線性迴歸。
線性演算法主要有兩種類型,簡單線性迴歸和多元線性迴歸。
簡單線性迴歸只使用一個獨立(輸入)變數。一個例子是透過給定的身高來預測孩子的年齡。
另一方面,多元線性迴歸可以使用多個自變數來預測其最終結果。一個例子是根據它的位置、大小、需求等來預測給定房產的價格。
以下是線性迴歸公式
對於 Python的範例,我們將使用線性迴歸來預測相對於給定 x 值的 y 值。
我們給定的資料集僅包含兩列:x 和 y。請注意,y 結果將傳回連續值。
下面是給定資料集的截圖:
使用Python 的線性迴歸模型範例
1.導入必要的函式庫
import numpy as np <br>import pandas as pd <br>import matplotlib.pyplot as plt <br>import seaborn as sns from sklearn <br>import linear_model from sklearn.model_selection <br>import train_test_split import os
2. 讀取和取樣我們的資料集
#為了簡化資料集,我們抽取了50 個資料行的樣本,並將資料值四捨五入為2 個有效數字。
請注意,您應該在完成此步驟之前匯入給定的資料集。
df = pd.read_csv("../input/random-linear-regression/train.csv") <br>df=df.sample(50) df=round(df,2)
3. 過濾 Null 和Infinite 值
如果資料集包含空值和無限值,則可能會出現錯誤。因此,我們將使用 clean_dataset 函數來清理這些值的資料集。
def clean_dataset(df): <br>assert isinstance(df, pd.DataFrame), "df needs to be a pd.DataFrame" <br>df.dropna(inplace=True) <br>indices_to_keep = ~df.isin([np.nan, np.inf, -np.inf]).any(1) <br>return df[indices_to_keep].astype(np.float64)<br>df=clean_dataset(df)
4. 選擇我們依賴和獨立的價值觀
請注意,我們將資料轉換為 DataFrame 格式。 #dataframe 資料類型是一種二維結構,可將我們的資料對齊到行和列中。
5. 拆分資料集
我們將資料集分割為訓練和測試部分。選擇測試資料集大小為總資料集的 20%。
請注意,透過設定random_state=1,每次模型運行時,都會發生相同的數據拆分,從而產生完全相同的訓練和測試數據集。
這在您想要進一步調整模型的情況下很有用。
#x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=1)
6.建立线性回归模型
使用导入的线性回归模型,我们可以在模型中自由使用线性回归算法,绕过我们为给定模型获得的 x 和 y 训练变量。
lm=linear_model.LinearRegression() lm.fit(x_train,y_train)
7. 以分散的方式绘制我们的数据
df.plot(kind="scatter", x="x", y="y")
8. 绘制我们的线性回归线
plt.plot(X,lm.predict(X), color="red")
蓝点表示数据点,而红线是模型绘制的最佳拟合线性回归线。线性模型算法总是会尝试绘制最佳拟合线以尽可能准确地预测结果。
逻辑回归
与线性回归类似,逻辑回归根据输入变量预测输出值,两种算法的主要区别在于逻辑回归算法的输出是分类(离散)变量。
对于 Python的示例,会使用逻辑回归将“花”分成两个不同的类别/种类。在给定的数据集中会包括不同花的多个特征。
模型的目的是将给花识别为Iris-setosa、Iris-versicolor或 Iris-virginica 几个种类。
下面是给定数据集的截图:
使用 Python 的逻辑回归模型示例
1.导入必要的库
import numpy as np <br>import pandas as pd from sklearn.model_selection <br>import train_test_split import warnings warnings.filterwarnings('ignore')
2. 导入数据集
data = pd.read_csv('../input/iris-dataset-logistic-regression/iris.csv')
3. 选择我们依赖和独立的价值观
对于独立 value(x) ,将包括除类型列之外的所有可用列。至于我们的可靠值(y),将只包括类型列。
X = data[['x0','x1','x2','x3','x4']] <br>y = data[['type']]
4. 拆分数据集
将数据集分成两部分,80% 用于训练数据集,20% 用于测试数据集。
X_train,X_test,y_train,y_test = train_test_split(X,y, test_size=0.2, random_state=1)
5. 运行逻辑回归模型
从 linear_model 库中导入整个逻辑回归算法。然后我们可以将 X 和 y 训练数据拟合到逻辑模型中。
from sklearn.linear_model import LogisticRegression <br>model = LogisticRegression(random_state = 0) <br>model.fit(X_train, y_train)
6. 评估我们模型的性能
print(lm.score(x_test, y_test))
返回值为0.9845128775509371,这表明我们模型的高性能。
请注意,随着测试分数的增加,模型的性能也会增加。
7. 绘制图表
import matplotlib.pyplot as plt %matplotlib inline <br>plt.plot(range(len(X_test)), pred,'o',c='r')
输出图:
在逻辑图中,红点表示给定的数据点。这些点清楚地分为 3 类,Virginica、versicolor 和 setosa 花种。
使用这种技术,逻辑回归模型可以根据花在图表上的位置轻松对花类型进行分类。
支持向量机
支持向量机( SVM) 算法是另一个著名的监督机器学习模型,由 Vladimir Vapnik 创建,它能够解决分类和回归问题。实际上它更多地被用到解决分类问题。
SVM 算法能够将给定的数据点分成不同的组。算法在绘制出数据之后,可以绘制最合适的线将数据分成多个类别,从而分析数据之间的关系。
如下图所示,绘制的线将数据集完美地分成 2 个不同的组,蓝色和绿色。
SVM 模型可以根据图形的维度绘制直线或超平面。行只能用于二维数据集,这意味着只有 2 列的数据集。
如果是多个特征来预测数据集,就需要更高的维度。在数据集超过 2 维的情况下,支持向量机模型将绘制超平面。
在支持向量机 Python 的示例中,将对 3 种不同的花卉类型进行物种分类。我们的自变量包括花的所有特征,而因变量是花所属物种。
花卉品种包括Iris-setosa、 Iris-versicolor和Iris-virginica。
下面是数据集的截图:
使用 Python 的支持向量机模型示例
1.导入必要的库
import numpy as np <br>import pandas as pd from sklearn.model_selection <br>import train_test_split from sklearn.datasets <br>import load_iris
2. 读取给定的数据集
请注意,在执行此步骤之前,应该导入数据集。
data = pd.read_csv(‘../input/iris-flower-dataset/IRIS.csv’)
3. 将数据列拆分为因变量和自变量
将 X 值作为自变量,其中包含除物种列之外的所有列。
因变量y仅包含模型预测的物种列。
X = data.drop(‘species’, axis=1) y = data[‘species’]
4. 将数据集拆分为训练和测试数据集
将数据集分为两部分,其中我们将 80% 的数据放入训练数据集中,将 20% 放入测试数据集中。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)
5.导入SVM并运行模型
导入了支持向量机算法。然后,使用上面步骤中收到的 X 和 y 训练数据集运行它。
from sklearn.svm import SVC <br>model = SVC( ) <br>model.fit(X_train, y_train)
6. 测试模型的性能
model.score(X_test, y_test)
为了评估模型的性能,将使用 score 函数。在第四步中创建的 X 和 y 测试值输入到 score 方法中。
返回值为0.9666666666667,这表明模型的高性能。
请注意,随着测试分数的增加,模型的性能也会增加。
其他流行的監督機器學習演算法
雖然線性、邏輯和SVM 演算法非常可靠,但還會 提到一些有監督的機器學習演算法。
1.決策
是一種有監督的機器學習模型,它利用樹狀結構來決策。決策樹通常用於分類問題,其中模型可以決定資料集中給定項目所屬的群組。
請注意,使用的樹格式是倒轉樹的格式。 2. 隨機森林
被認為是更複雜的演算法,#隨機森林演算法
透過建立大量決策樹來實現其最終目標。
意味著同時建立多個決策樹,每個決策樹都會傳回自己的結果,然後將其組合以獲得更好的結果。
對於分類問題,隨機森林模型將產生多個決策樹,並根據大多數樹預測的分類組對給定物件進行分類。 模型可以修復由單一樹引起的過度擬合#問題
#。 同時,隨機森林演算法也可用於迴歸,儘管可能導致不良結果。
3. k-最近
##k最近 #鄰#(KNN) 演算法是一種監督機器學習方法,它將所有給定資料分組到單獨的組中。 這種分組是基於不同個體之間的共同特徵。 KNN 演算法可用於分類和迴歸問題。
###############KNN 的#########################範例#### ########就是############將動物圖像分類到不同的群組集中。 ##########總結
本文介紹了監督機器學習及其可以解決的兩類問題,並解釋了分類和迴歸問題,給出了每個輸出資料類型的一些範例。
詳細解釋了線性迴歸是什麼以及它是如何運作的,並提供了一個Python 中的具體範例,它會根據獨立的X 變數預測Y 值。
接著介紹 #了邏輯迴歸模型#,
並給出了分類模型範例,該範例將給定的圖像分類為具體花的種類##。 對於支援向量機演算法,#可以用它來預測3 種不同花種的給定花種。
最後#列出#了其他著名的監督機器學習演算法,例如決策樹、隨機森林和K 近鄰演算法。 無論您是為了學習#、工作還是娛樂閱讀本文,我們認為了解這些#演算法是開始
進入機器學習領域的一個開端。
如果您有興趣並想了解更多關於機器學習領域的信息,我們建議您##深入研究此類演算法的工作原理以及如何調整此類模型以進一步提高其性能。
譯者介紹
#崔皓,51CTO社群編輯,資深架構師,擁有18年的軟體開發與架構經驗,10年分散式架構經驗。曾任惠普技術專家。樂於分享,寫了許多熱門科技文章,閱讀量超過60萬。 《分散式架構原則與實作》
##########作者。 ##################原文標題:###############Primary Supervised Learning Algorithms Used in Machine Learning##### ##########,作者:Kevin Vu#########
##
以上是監督學習有哪些常見演算法?都是如何應用的的詳細內容。更多資訊請關注PHP中文網其他相關文章!
![[帶AI的吉卜力風格圖像]介紹如何使用Chatgpt和版權創建免費圖像](https://img.php.cn/upload/article/001/242/473/174707263295098.jpg?x-oss-process=image/resize,p_40)
OpenAI發布的最新模型GPT-4o,不僅能生成文本,還具備圖像生成功能,引發廣泛關注。其中最受矚目的功能便是“吉卜力風格插畫”的生成。只需將照片上傳至ChatGPT,並給出簡單的指令,即可生成宛如吉卜力工作室作品般夢幻的圖像。本文將詳細解讀實際操作流程、效果感受,以及需要注意的錯誤和版權問題。 OpenAI發布的最新模型“o3”詳情請點擊此處⬇️ OpenAI o3(ChatGPT o3)詳解:特性、定價體系及o4-mini介紹 吉卜力風格文章的英文版請點擊此處⬇️ 利用ChatGPT創作吉

作為一種新的交流方法,在地方政府中使用和引入Chatgpt引起了人們的關注。儘管這種趨勢在廣泛的領域正在發展,但一些地方政府拒絕使用Chatgpt。 在本文中,我們將介紹地方政府中ChatGPT實施的示例。我們將通過各種改革實例,包括支持文件創建和與公民對話,從而探索如何通過各種改革實例來實現地方政府服務的質量和效率提高。 不僅旨在減少員工工作量並改善公民的便利性的地方政府官員,而且都對高級用例感興趣。

您是否聽說過一個名為“福卡斯提示系統”的框架?諸如ChatGpt之類的語言模型非常出色,但是適當的提示對於發揮其潛力至關重要。福卡(Fukatsu)提示是旨在提高輸出準確性的最受歡迎的提示技術之一。 本文解釋了福卡式風格提示的原理和特徵,包括特定的用法方法和示例。此外,我們還引入了其他眾所周知的及時模板和有用的技術來及時設計,因此,根據這些設計,我們將介紹C。

CHATGPT搜索:使用創新的AI搜索引擎有效獲取最新信息! 在本文中,我們將徹底解釋OpenAI提供的新的ChatGpt功能“ ChatGpt搜索”。讓我們仔細研究一下功能,用法以及該工具如何根據實時網絡信息和直觀的易用性來幫助您提高信息收集效率。 chatgpt搜索提供了一種對話互動搜索體驗,該體驗在舒適,隱藏的環境中回答用戶問題,以隱藏廣告

信息爆炸的現代社會,創作出令人信服的文章並非易事。如何在有限的時間和精力內,發揮創造力,撰寫出吸引讀者的文章,需要高超的技巧和豐富的經驗。 這時,作為革命性的寫作輔助工具,ChatGPT 備受矚目。 ChatGPT 利用龐大的數據訓練出的語言生成模型,能夠生成自然流暢、精煉的文章。 本文將介紹如何有效利用 ChatGPT,高效創作高質量文章的技巧。我們將逐步講解使用 ChatGPT 的寫作流程,並結合具體案例,詳細闡述其優缺點、適用場景以及安全使用注意事項。 ChatGPT 將成為作家克服各種障礙,

使用AI創建圖表的有效指南 視覺材料對於有效傳達信息至關重要,但是創建它需要大量時間和精力。但是,由於AI技術(例如Chatgpt和dall-e 3)的興起,圖表創建過程正在發生巨大變化。本文使用這些尖端工具提供了有關有效而有吸引力的圖創建方法的詳細說明。它涵蓋了從想法到完成的所有內容,並包含大量信息,可用於創建圖表,從可以使用的特定步驟,提示,插件和API以及如何使用圖像一代AI“ dall-e 3.”)

解锁ChatGPT Plus:费用、支付方式及升级指南 全球瞩目的顶尖生成式AI,ChatGPT已广泛应用于日常生活和商业领域。虽然ChatGPT基本免费,但付费版ChatGPT Plus提供多种增值服务,例如插件、图像识别等,显著提升工作效率。本文将详细解读ChatGPT Plus的收费标准、支付方式及升级流程。 OpenAI最新图像生成技术“GPT-4o图像生成”详情请点击: GPT-4o图像生成详解:使用方法、提示词示例、商业应用及与其他AI的差异 目录 ChatGPT Plus费用 Ch

如何使用Chatgpt簡化您的設計工作並提高創造力 本文將詳細說明如何使用ChatGpt創建設計。我們將介紹在各個設計領域中使用Chatgpt的示例,例如思想,文本生成和網頁設計。我們還將介紹可以幫助您提高各種創意作品的效率和質量(例如圖形設計,插圖和徽標設計)的效率和質量。請看一下AI如何大大擴展您的設計可能性。 目錄 chatgpt:設計創建的強大工具


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器