色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > 將 ChatGPT 用于數(shù)據(jù)科學(xué)項目的指南

          將 ChatGPT 用于數(shù)據(jù)科學(xué)項目的指南

          發(fā)布人:ygtu 時間:2023-09-05 來源:工程師 發(fā)布文章
          推薦:使用NSDT場景編輯器快速搭建3D應(yīng)用場景

          我們都知道 ChatGPT 的受歡迎程度以及人們?nèi)绾问褂盟鼇硖岣呱a(chǎn)力。但是,如果您是新手,則值得注冊ChatGPT免費演示并嘗試它所能做的一切。您還應(yīng)該參加我們的 ChatGPT 簡介課程,學(xué)習(xí)制作有效提示的最佳實踐,并探索利用這一強大 AI 工具的常見業(yè)務(wù)用例。

          在本教程中,我們將學(xué)習(xí)如何使用 ChatGPT 來處理端到端的數(shù)據(jù)科學(xué)項目。我們將使用各種提示來創(chuàng)建項目大綱、編寫 Python 代碼、進行研究和調(diào)試應(yīng)用程序。此外,我們將學(xué)習(xí)編寫有效的 ChatGPT 提示的技巧。

          使用 ChatGPT 進行端到端數(shù)據(jù)科學(xué)項目

          在項目中,我們將使用來自DataCamp Workspace的貸款數(shù)據(jù),并圍繞它規(guī)劃數(shù)據(jù)科學(xué)項目。

          ChatGPT 在這里完成了 80% 的工作,我們只需要掌握快速工程就可以讓一切正確,為此,我們有令人驚嘆的 ChatGPT 數(shù)據(jù)科學(xué)備忘單。它帶有60 + ChatGPT提示,用于基于SQL,R和Python的數(shù)據(jù)科學(xué)任務(wù)。

          項目規(guī)劃

          這是項目中最重要的部分,我們在其中查看可用資源和目標(biāo)以提出最佳策略。

          您可以轉(zhuǎn)到 chat.openai.com 并發(fā)起新的聊天。之后,我們將提及可用的貸款數(shù)據(jù)集,并要求 ChatGPT 提出構(gòu)建端到端通用投資組合項目的步驟。

          提示:“我有一個由 9500 行和 14 列組成的貸款數(shù)據(jù)集:['credit.policy', 'purpose', 'int.rate', 'installment', 'log.annual.inc', 'dti', 'fico', 'days.with.cr.line', 'revol.bal', 'revol.util', 'inq.last.6mths', 'delinq.2yrs', 'pub.rec', 'not.full.paid']。你能列出我必須遵循的步驟來為我的投資組合開發(fā)一個端到端的項目嗎?

          我們確實拿到了清單,但是忘了提階級失衡問題和項目目標(biāo),就是準確預(yù)測“貸款不還”。

          更新提示:“請包括階級不平衡問題,并準確預(yù)測貸款是否會償還,而不是貸款是否償還。

          同樣,我們對模型監(jiān)控不感興趣,我們希望構(gòu)建一個Gradio應(yīng)用程序并將其部署在Huggingface Spaces上。

          更新提示:“我們將使用 Gradio 創(chuàng)建一個 Web 應(yīng)用程序并將其部署到 Spaces 上,我們不會在生產(chǎn)中監(jiān)控模型。

          貸款數(shù)據(jù)分類器的想法生成

          作者動圖 |項目中涉及的步驟的最終列表

          我們得到了一個包含 9 個步驟的列表,如上所示,并詳細說明了我們應(yīng)該如何處理每個步驟。

          以下是我們將在本教程中遵循的任務(wù)列表:

          • 數(shù)據(jù)清理和預(yù)處理。處理缺失值、將分類變量轉(zhuǎn)換為數(shù)值變量、縮放/規(guī)范化數(shù)據(jù)以及處理數(shù)據(jù)中的任何異常值或異常。此外,您需要通過對少數(shù)階級(未全額支付的貸款)進行過度抽樣或?qū)Χ鄶?shù)階級(全額支付的貸款)進行過抽樣來解決階級不平衡問題。

          • 探索性數(shù)據(jù)分析 (EDA)。瀏覽數(shù)據(jù)集以深入了解數(shù)據(jù),例如變量的分布、變量之間的相關(guān)性以及識別數(shù)據(jù)中的任何模式。

          • 特征工程。創(chuàng)建新特征或轉(zhuǎn)換現(xiàn)有特征以提高模型的預(yù)測能力。

          • 型號選擇。嘗試多種模型,例如決策樹、隨機森林、邏輯回歸或支持向量機 (SVM)。

          • 模型訓(xùn)練和評估。根據(jù)數(shù)據(jù)訓(xùn)練所選模型,并使用各種指標(biāo)(如準確性、精度、召回率和 F1 分數(shù))評估其性能。

          • 超參數(shù)優(yōu)化。微調(diào)所選模型的超參數(shù)以提高其性能。

          • 使用 Gradio 創(chuàng)建 Web 應(yīng)用程序。選擇最佳模型后,您可以使用 Gradio 創(chuàng)建 Web 應(yīng)用程序。

          • 在空間上部署 Web 應(yīng)用程序。使用 Gradio 創(chuàng)建 Web 應(yīng)用程序后,您可以將其部署到 Spaces 上。

          • 測試 Web 應(yīng)用。測試它以確保它按預(yù)期工作。

          探索性數(shù)據(jù)分析 (EDA)

          探索性數(shù)據(jù)分析是關(guān)于數(shù)據(jù)操作、統(tǒng)計分析和數(shù)據(jù)可視化的。我們可以通過編寫有關(guān)編寫 Python 代碼以在我們的數(shù)據(jù)集上進行探索性數(shù)據(jù)分析的后續(xù)提示來完成它。

          后續(xù)提示:“請編寫一個 Python 代碼來加載并執(zhí)行貸款數(shù)據(jù)集的探索性數(shù)據(jù)分析 (EDA)”

          機器人將理解上下文,并提出帶有注釋和詳細說明其工作原理的 Python 代碼。

          用于 EDA 的 Python 代碼

          作者動圖 |用于 EDA 的 Python 代碼

          1. 將數(shù)據(jù)集加載并顯示為 Pandas 數(shù)據(jù)幀。

          數(shù)據(jù)

          2. 顯示數(shù)值變量的行數(shù)和列數(shù)以及統(tǒng)計摘要。

          3. 在每列中顯示缺失值。正如我們所看到的,我們沒有。

          4. 可視化目標(biāo)變量“not.full.paid”的分布

          可視化目標(biāo)變量的分布

          5. 可視化變量之間的相關(guān)性。

          可視化變量之間的相關(guān)性

          6. 了解貸款用途分布。

          了解貸款用途分布

          7. 了解按貸款用途劃分的利率分布。

          了解按貸款目的劃分的利率分布

          特征工程

          我們將執(zhí)行特征工程以簡化預(yù)處理任務(wù),而不是預(yù)處理和清理數(shù)據(jù)。

          后續(xù)提示:“編寫 Python 代碼執(zhí)行特征工程”

          我們確實得到了正確的解決方案,但它包含不相關(guān)的代碼,因此我們必須編寫更新提示來修改代碼。

          更新提示:“僅添加特征工程部分。

          ChatGPT提出了兩個新功能:“installment_to_income_ratio”和“credit_history”。

          預(yù)處理和平衡數(shù)據(jù)

          同樣,ChatGPT知道項目的背景。我們不必再次解釋一切。因此,我們將簡單地要求它編寫一個 Python 代碼來清理和預(yù)處理數(shù)據(jù)。

          后續(xù)提示:“現(xiàn)在編寫一個python代碼來清理和預(yù)處理數(shù)據(jù)集”

          1. 刪除不必要的列并將分類變量轉(zhuǎn)換為數(shù)字變量。

          2. 使用標(biāo)準縮放器縮放數(shù)值要素。

          3. 使用 imblearn 的過采樣方法處理類不平衡。

          正如我們所看到的,我們已經(jīng)成功地平衡了班級。

          型號選擇

          在這一部分中,我們要求 ChatGPT 為模型選擇任務(wù)訓(xùn)練各種模型的數(shù)據(jù)。

          后續(xù)提示:“編寫用于模型選擇的后續(xù) python 代碼。嘗試決策樹、隨機森林、邏輯回歸或支持向量機 (SVM)。注意:僅包括模型選擇部分。

          它生成了 Python 腳本,用于將數(shù)據(jù)集拆分為訓(xùn)練和測試,并在指定模型上訓(xùn)練數(shù)據(jù)集以顯示準確性指標(biāo)。

          隨機森林算法的性能明顯優(yōu)于其他模型。

          超參數(shù)調(diào)優(yōu)和模型評估

          我們將選擇性能更好的模型并進行模型評估。我們指定使用準確性、精度、召回率和 F1 分數(shù)作為指標(biāo)和交叉驗證,以確保模型的穩(wěn)定性。

          后續(xù)提示:“選擇 RandomForestClassifier 并編寫用于模型評估的 python 代碼。使用準確性、精度、召回率和 F1 分數(shù)作為指標(biāo)和交叉驗證,以確保模型不會過度擬合訓(xùn)練數(shù)據(jù)。

          我們將更新 Python 以添加超參數(shù)調(diào)優(yōu)任務(wù)并保存性能最佳的模型。

          更新提示:“在上面的代碼中還包括超參數(shù)調(diào)優(yōu)并保存性能最佳的模型”

          代碼的最終版本使用 GridSearchCV 進行具有五個交叉驗證拆分的超參數(shù)優(yōu)化,并使用 f1 指標(biāo)進行評估以查找最佳超參數(shù)。

          之后,ChatGPT 自動添加代碼,在測試集上選擇最佳模型進行模型評估,并顯示性能最佳的超參數(shù)。

          我們有一個穩(wěn)定的模型,準確率為 89.35。精度和召回率相似。

          最后,我們將使用 joblib 保存模型。

          可以在 DataCamp 工作區(qū)中找到包含輸出的源代碼。

          使用 Gradio 創(chuàng)建 Web 應(yīng)用程序

          現(xiàn)在是最有趣的部分。我們將僅使用提示來創(chuàng)建完全可自定義的 Web 應(yīng)用程序,該應(yīng)用程序?qū)⒔邮軘?shù)字輸入并使用機器學(xué)習(xí)模型顯示結(jié)果。

          ChatGPT 已經(jīng)知道上下文,所以我們需要讓它為貸款數(shù)據(jù)分類器編寫一個 Gradio Web 應(yīng)用程序。

          后續(xù)提示:“編寫 Python 代碼以創(chuàng)建用于貸款數(shù)據(jù)分類器的 Gradio Web 應(yīng)用程序。我們不使用列['credit.policy', 'days.with.cr.line', 'purpose']。

          要求 ChatGPT 只包含 Gradio 應(yīng)用程序部分,而不是訓(xùn)練,然后包含推理腳本。

          更新提示:“只需包含 gradio 應(yīng)用程序部分。

          我們得到的代碼顯示預(yù)測類概率,我們希望顯示分類標(biāo)簽。

          更新提示:“修改代碼以顯示分類而不是類概率。

          運行代碼后,我們看到了多個警告和錯誤。您可以通過向 ChatGPT 提及錯誤來改進它。

          我們需要了解 ChatGPT 的局限性。它是在一個舊數(shù)據(jù)集上訓(xùn)練的,如果你希望它使用最新的API更新代碼,你會碰壁。相反,我們必須閱讀 Gradio 文檔并手動更新代碼。

          失敗提示:“使用 gradio.components 中的組件更新 Gradio 代碼”

          在 Gradio 應(yīng)用程序中,我們正在加載保存的模型并從用戶那里獲取輸入以顯示模型預(yù)測。

          通過閱讀 Gradio 文檔了解 Gradio 的工作原理。

          您可以將上述代碼保存在“app.py”文件中,并通過在終端中運行“python app.py”腳本在瀏覽器中啟動應(yīng)用程序。

          貸款審批分類器應(yīng)用

          作者動圖 |貸款審批分類器應(yīng)用

          盡管我們的應(yīng)用程序運行良好,但 ChatGPT 完全錯過了我們縮放了數(shù)字特征。因此,您可以返回并保存標(biāo)準標(biāo)量參數(shù),而不是要求更新代碼。

          之后,使用 joblib 在您的應(yīng)用程序中加載標(biāo)量。

          那么,我們?yōu)槭裁匆謩訄?zhí)行此操作?如果你要求 ChatGPT 修改一行,它可能會修改整個代碼甚至變量名稱。

          是的,ChatGPT并不完美,它永遠不會取代開發(fā)人員。

          在空間上部署 Web 應(yīng)用程序

          您可以簡單地要求ChatGPT教您在Hugging Face Spaces上部署gradio應(yīng)用程序的簡單方法,它將列出必要的步驟。

          提示:“如何將 gradio 應(yīng)用程序部署到擁抱面孔空間。

          1. 轉(zhuǎn)到擁抱臉網(wǎng)站,然后單擊左上角的個人資料圖片以選擇“新空間”選項。

          擁抱臉

          圖片來源:作者

          1. 添加名稱和許可證類型以創(chuàng)建應(yīng)用程序存儲庫。

          2. 單擊“文件和版本”選項卡+ 添加文件>“上傳文件”以在存儲庫中添加文件。

          3. 拖動 app.py、模型和縮放器文件,然后單擊“將更改提交到主”按鈕,然后使用提交消息保存提交。類似于 Git。

          將更改提交到主

          圖片來源:作者

          如果您遇到運行時錯誤,那是因為您忘記添加 requirements.txt 文件。選擇“文件和版本”選項卡> + 添加文件>創(chuàng)建一個新文件,并添加文件名和 Python 庫以及如下所示的版本。

          創(chuàng)建新文件

          圖片來源:作者

          你的應(yīng)用已準備就緒。您可以使用滑塊更改輸入并預(yù)測客戶是否應(yīng)該獲得貸款。

          您可以在kingabzpro的擁抱面部空間上嘗試現(xiàn)場演示。

          擁抱面部空間

          編寫有效聊天 GPT 提示的提示

          在將其用于現(xiàn)實生活中的項目時,快速工程是棘手的。我們需要了解我們可以做什么或我們必須介入以糾正 ChatGPT 的規(guī)則。

          以下是有關(guān)如何在不影響項目的情況下改善 ChatGPT 體驗的一些提示。

          1. 始終寫出清晰簡潔的提示。確保在開始時詳細解釋您需要什么的所有內(nèi)容。

          2. 創(chuàng)建項目的歷史記錄。ChatGPT 是一個聊天機器人,因此為了有效地理解上下文,您需要建立歷史記錄。

          3. 繼續(xù)努力。沒有標(biāo)準的提示編寫方式。您需要從基本提示開始,并通過編寫后續(xù)更新提示來不斷改進套裝。

          4. 提及代碼錯誤。如果在本地計算機上運行代碼并引發(fā)錯誤,請嘗試在后續(xù)提示中提及該錯誤。ChatGPT將立即從錯誤中吸取教訓(xùn),并提出更好的解決方案。

          5. 手動進行更改。ChatGPT 是在舊數(shù)據(jù)上進行訓(xùn)練的,如果你期望它提出這個想法或新的 API 命令,你會失望的。盡可能嘗試對代碼進行手動更改,因為生成的代碼并不完美。

          6. 將其用于常見任務(wù)。如果您要求常見任務(wù),則使用 ChatGPT 成功的機會更大。

          7. 用它來學(xué)習(xí)新東西。始終要求 ChatGPT 解釋新事物或“如何做”教程。它將為您提供完成工作的簡單步驟列表。如果您有學(xué)習(xí)障礙,這將非常有幫助。

          如果您對 ChatGPT 和 OpenAI API 感興趣,請注冊參加網(wǎng)絡(luò)研討會:OpenAI API 和 ChatGPT 入門。您將學(xué)習(xí)如何使用 OpenAI API 等執(zhí)行語言和編碼生成任務(wù)。

          結(jié)論

          開發(fā)貸款審批分類器是將 ChatGPT 用于數(shù)據(jù)科學(xué)項目的眾多示例之一。我們可以使用它來生成合成數(shù)據(jù)、運行 SQL 查詢、創(chuàng)建數(shù)據(jù)分析報告、進行機器學(xué)習(xí)研究等等。生成式人工智能將繼續(xù)存在,它將使我們的生活更輕松。您無需在項目上花費數(shù)周和數(shù)月的時間,而是可以在數(shù)小時內(nèi)開發(fā)、測試和部署數(shù)據(jù)科學(xué)應(yīng)用程序。

          在本教程中,我們學(xué)習(xí)了使用 ChatGPT 進行項目規(guī)劃、數(shù)據(jù)分析、數(shù)據(jù)清理和預(yù)處理、模型選擇、超參數(shù)優(yōu)化以及創(chuàng)建和部署 Web 應(yīng)用程序。

          使用ChatGPT有一個問題。您需要具有統(tǒng)計分析和Python編碼的經(jīng)驗,才能理解項目中的不同任務(wù);沒有它,你就是盲目行走。通過參加 Python 數(shù)據(jù)科學(xué)家職業(yè)軌跡開始您的數(shù)據(jù)科學(xué)之旅,并獲得成功成為數(shù)據(jù)科學(xué)家所需的職業(yè)建設(shè)技能。

          原文鏈接:將 ChatGPT 用于數(shù)據(jù)科學(xué)項目的指南 (mvrlink.com)


          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



          關(guān)鍵詞: chatgpt 人工智能

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉