面向初學者的頂級 Python 機器學習項目 [2022]
已發表: 2021-01-03如果你想成為一名機器學習專業人士,你必須獲得使用其技術的經驗。 最好的方法是完成項目。 這就是為什麼在本文中,我們將分享多個 Python 機器學習項目,以便您可以快速開始測試您的技能並獲得寶貴的經驗。
但是,在開始之前,請確保您熟悉機器學習及其算法。 如果您之前沒有做過項目,請不要擔心,因為我們還分享了一個項目的詳細教程:
目錄
鳶尾花數據集:初學者
Iris 數據集很容易成為 Python 中最受歡迎的機器學習項目之一。 它相對較小,但其簡單和緊湊的尺寸使其非常適合初學者。 如果你沒有在 Python 中從事過任何機器學習項目,你應該從它開始。 鳶尾花數據集是花萼片和鳶尾花花瓣大小的集合。 它有三個類,每個類都有 50 個實例。
我們在不同的地方提供了示例代碼,但您應該只使用它來了解它是如何工作的。 在不理解代碼的情況下實現代碼將無法完成項目的前提。 所以在實現之前一定要好好理解代碼。
第 1 步:導入庫
任何機器學習項目的第一步都是導入庫。 Python 如此通用的一個主要原因是其強大的庫。 我們在這個項目中需要的庫是:
- 熊貓
- Matplotlib
- 學習
- 科學派
- 數字貨幣
將庫導入系統有多種方法,您應該使用特定的方式來導入所有庫。 它將確保一致性並幫助您避免任何混淆。 請注意,安裝因設備的操作系統而異,因此在導入庫時請記住這一點。

代碼:
# 加載庫
從熊貓導入 read_csv
從 pandas.plotting 導入 scatter_matrix
從 matplotlib 導入 pyplot
從 sklearn.model_selection 導入 train_test_split
從 sklearn.model_selection 導入 cross_val_score
從 sklearn.model_selection 導入 StratifiedKFold
從 sklearn.metrics 導入分類報告
從 sklearn.metrics 導入混淆矩陣
從 sklearn.metrics 導入 accuracy_score
從 sklearn.linear_model 導入 LogisticRegression
從 sklearn.tree 導入 DecisionTreeClassifier
從 sklearn.neighbors 導入 KNeighborsClassifier
從 sklearn.discriminant_analysis 導入 LinearDiscriminantAnalysis
從 sklearn.naive_bayes 導入 GaussianNB
從 sklearn.svm 導入 SVC
閱讀:面向初學者的 10 大機器學習數據集項目創意
第 2 步:加載數據集
導入庫後,是時候加載數據集了。 正如我們所討論的,我們將在這個項目中使用 Iris 數據集。 你可以從這裡下載。
確保在加載數據時指定每列的名稱,這將在以後的項目中為您提供幫助。 我們建議下載數據集,因此即使您遇到連接問題,您的項目也不會受到影響。
代碼:
# 加載數據集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名稱= ['萼片長度','萼片寬度','花瓣長度','花瓣寬度','類']
數據集 = read_csv(網址,名稱=名稱)
第三步:總結
在我們開始使用數據集之前,我們必須首先查看其中存在的數據。 我們將首先檢查數據集的維度,這表明數據集有五個屬性和 150 個實例。
檢查維度後,您應該查看數據集的幾行和幾列,以大致了解其內容。 然後,您應該查看數據集的統計摘要,並查看哪些指標在同一數據集中最普遍。
最後,您應該檢查數據集中的類分佈。 這意味著您必須檢查每個類下有多少實例。 這是總結我們的數據集的代碼:
# 匯總數據
從熊貓導入 read_csv
# 加載數據集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名稱= ['萼片長度','萼片寬度','花瓣長度','花瓣寬度','類']
數據集 = read_csv(網址,名稱=名稱)
# 形狀
打印(數據集。形狀)
# 頭
打印(dataset.head(20))
# 描述
打印(數據集。描述())
# 類分佈
打印(dataset.groupby('class').size())
第 4 步:可視化數據
匯總數據集後,您應該將其可視化以便更好地理解和分析。 您可以使用單變量圖詳細分析每個屬性,使用多變量圖來研究每個要素的關係。 數據可視化是機器學習項目的一個重要方面,因為它有助於找到數據集中存在的基本信息。
第 5 步:算法評估
可視化數據後,我們將評估幾種算法以找到適合我們項目的最佳模型。 首先,我們將創建一個驗證數據集,我們將從原始數據集中取出該數據集。 然後我們將使用 10 折交叉驗證並創建各種模型。 如前所述,我們的目標是通過測量花朵來預測物種。 您應該使用不同類型的算法,並挑選出產生最佳結果的算法。 您可以測試 SVM(支持向量機)、KNN(K-最近鄰)、LR(邏輯回歸)等。
在我們的實現中,我們發現 SVM 是最好的模型。 這是代碼:
從熊貓導入 read_csv
從 matplotlib 導入 pyplot
從 sklearn.model_selection 導入 train_test_split
從 sklearn.model_selection 導入 cross_val_score
從 sklearn.model_selection 導入 StratifiedKFold
從 sklearn.linear_model 導入 LogisticRegression
從 sklearn.tree 導入 DecisionTreeClassifier
從 sklearn.neighbors 導入 KNeighborsClassifier
從 sklearn.discriminant_analysis 導入 LinearDiscriminantAnalysis
從 sklearn.naive_bayes 導入 GaussianNB
從 sklearn.svm 導入 SVC
# 加載數據集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名稱= ['萼片長度','萼片寬度','花瓣長度','花瓣寬度','類']
數據集 = read_csv(網址,名稱=名稱)
# 拆分驗證數據集
數組 = 數據集.值
X = 數組[:,0:4]
y = 數組[:,4]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1, shuffle=True)

# 抽查算法
型號= []
models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('CART', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC(gamma='auto')))
# 依次評估每個模型
結果 = []
名稱 = []
對於名稱,模型中的模型:
kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)
cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, score='accuracy')
結果.append(cv_results)
名稱.附加(名稱)
print('%s: %f (%f)' % (name, cv_results.mean(), cv_results.std()))
# 比較算法
pyplot.boxplot(結果,標籤=名稱)
pyplot.title('算法比較')
pyplot.show()
第 6 步:預測
在您評估了不同的算法並選擇了最好的算法之後,就該預測結果了。 我們將首先在驗證數據集上使用我們的模型來測試它的準確性。 之後,我們將在整個數據集上對其進行測試。
這是在數據集上運行我們的模型的代碼:
# 作出預測
從熊貓導入 read_csv
從 sklearn.model_selection 導入 train_test_split
從 sklearn.metrics 導入分類報告
從 sklearn.metrics 導入混淆矩陣
從 sklearn.metrics 導入 accuracy_score
從 sklearn.svm 導入 SVC
# 加載數據集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名稱= ['萼片長度','萼片寬度','花瓣長度','花瓣寬度','類']
數據集 = read_csv(網址,名稱=名稱)
# 拆分驗證數據集
數組 = 數據集.值
X = 數組[:,0:4]
y = 數組[:,4]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1)
# 對驗證數據集進行預測
模型= SVC(伽瑪='自動')
model.fit(X_train, Y_train)
預測 = model.predict(X_validation)
# 評估預測
打印(accuracy_score(Y_validation,預測))
打印(混淆矩陣(Y_validation,預測))
打印(分類報告(Y_validation,預測))
而已。 您現在已經使用 Iris 數據集在 Python 中完成了一個機器學習項目。
Python 中的其他機器學習項目
Iris 數據集主要面向初學者。 如果你有一些在 Python 中從事機器學習項目的經驗,你應該看看下面的項目:
1. 使用機器學習預測股票價格
股票市場是應用機器學習算法的絕佳場所。 公司使用 AI 算法和基於 ML 的技術進行技術分析已經有一段時間了。 您還可以構建預測股票價格的 ML 模型。
但是,要處理這個項目,您必須使用多種技術,包括回歸分析、預測分析、統計建模和行動分析。 您可以從證券交易所的官方網站獲取必要的數據。 他們共享有關股票過去表現的數據。 您可以使用這些數據來訓練和測試您的模型。
作為初學者,您可以專注於一家特定的公司並預測其三個月的股票價值。 同樣,如果您想讓項目具有挑戰性,您可以使用多家公司並延長您的預測時間表。
你將從這個項目中學到什麼:
本項目將使您熟悉人工智能和機器學習在金融行業的應用。 你也可以通過這個項目學習預測分析,嘗試不同的算法。
2. 從零開始編寫機器學習算法
如果你是初學者並且沒有在 Python 中從事過任何機器學習項目,你也可以從這個開始。 在這個項目中,您必須從頭開始構建 ML 算法。 做這個項目將幫助您了解算法功能的所有基礎知識,同時還教您將數學公式轉換為機器學習代碼。
知道如何將數學概念轉換為 ML 代碼至關重要,因為您將來必須多次實現它。 當您要解決更高級的問題時,您將不得不依賴這項技能。 您可以根據自己對概念的熟悉程度來選擇任何算法。 如果您缺乏經驗,最好從簡單的算法開始。
你將從這個項目中學到什麼:
您將熟悉人工智能和機器學習的數學概念。
3. 創建手寫閱讀器
這是一個計算機視覺項目。 計算機視覺是與圖像分析相關的人工智能領域。 在此項目中,您將創建一個可以讀取手寫內容的 ML 模型。 閱讀意味著模型應該能夠識別紙上寫的內容。 您必須在此項目中使用神經網絡才能熟悉深度學習及其相關概念。
您首先必須對圖像進行預處理並刪除不必要的部分; 換句話說,為了清晰起見,對圖像進行數據清理。 之後,您必須對圖像進行分割和調整大小,以便算法可以正確讀取字符。 完成預處理和分割後,您可以進入下一步,分類。 分類算法將區分文本中存在的字符並將它們放入各自的類別中。
您可以使用 log sigmoid 激活來為此項目訓練您的 ML 算法。
你將從這個項目中學到什麼:
您將學習計算機視覺和神經網絡。 完成這個項目也會讓你熟悉圖像識別和分析。
4. 銷售預測者
零售業有許多人工智能和機器學習應用。 在這個項目中,您會發現一個這樣的應用程序,即預測產品的銷售量。
機器學習愛好者中流行的數據集是 BigMart 銷售數據集。 它在 10 個城市的各個門店擁有超過 1559 種產品。 您可以使用數據集構建回歸模型。 根據網點,您的模型必須預測來年特定產品的潛在銷售量。 該數據集具有每個出口和產品的特定屬性,以快速了解它們的屬性以及兩者之間的關係。
你將從這個項目中學到什麼:

從事這個項目將使您熟悉回歸模型和預測分析。 您還將了解機器學習在零售領域的應用。
了解有關機器學習和 Python 的更多信息
我們希望您發現這份 Python 機器學習項目列表對您有用。 如果您有任何問題或想法,請通過評論部分告訴我們。 我們很樂意回答您的疑問。
學習世界頂尖大學的數據科學課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
這裡有一些額外的資源來學習機器學習和 Python。
- Python 教程
- 機器學習與。 深度學習
- 機器學習應用
另一方面,如果您想獲得更個性化的學習體驗,您可以參加 AI 和 ML 課程。 您將通過視頻、作業和項目向行業專家學習。
機器學習是一個好的職業選擇嗎?
如果您熱衷於新興技術和相關新聞,那麼您一定已經聽說過機器學習技術帶來的第四次工業革命。 據報導,到 2023 年,全球機器學習市場的價值預計將達到 5430 億印度盧比。然而,精通機器學習專業人員的供需差距已擴大到近 125%。 這表明,對於具有正確技能組合的機器學習專業人員來說,就業市場有很多希望。 無論您渴望成為機器學習工程師、研究工程師還是研究科學家,這無疑將是您豐富的職業。
新人可以包機器學習工作嗎?
儘管當今大多數機器學習工作都需要經驗豐富的專業人員,但由於市場需求巨大,應屆生的選擇也在增加。 對於初學者來說可能很難,但獲得一份機器學習工作肯定不是不可能的。 如果您能夠掌握所需的技能,計劃如何表現出色,并快速向場上經驗豐富的球員學習,那麼您也可以完成夢想中的工作。 您可以考慮獲得相關認證以增加更多價值、在可靠平台上註冊機器學習課程、嘗試一些動手項目、關注最新的技術新聞和趨勢以及加入在線社區等選項。
機器學習工程師能掙多少錢?
根據 glassdoor.in 的數據,印度機器學習工程師的平均年薪約為 82 萬印度盧比。 現在,平均收入取決於幾個因素,如技能、證書、經驗、位置等等。 但是隨著更多的工作經驗,您可以期望增加您的收入。 例如,高級機器學習工程師的平均收入在 13 到 150 萬印度盧比之間。