現(xiàn)在,AI小白甚至都不需要看教程,,僅憑ChatGPT就可以創(chuàng)建模型,。
它不僅幫你找數(shù)據(jù)集、訓(xùn)練模型寫代碼,,還能評估準確性,、創(chuàng)建程序一步到位。
就有這么一個25歲小哥,,讓ChatGPT幫他創(chuàng)建了個地理位置識別程序,,最終準確率最高達99.7%。
而且各種細節(jié)步驟全在,,一邊干活還一邊教你學(xué)習(xí),。
這一波,,被ChatGPT感動到了,。
更貼心的是,在每次答疑解惑完,,ChatGPT都會說上一句:如果你有任何疑問,,請告訴我。
具體實現(xiàn)
項目一開始,,這位小哥開宗明義:我不想努力了,你可以幫我創(chuàng)建一個AI程序嗎,?
以兩個坐標為輸入,并預(yù)測他們在哪個國家,。
而ChatGPT“欣然”接受挑戰(zhàn),還提醒這位小哥,,需要相應(yīng)數(shù)據(jù)集,,否則模型無法訓(xùn)練。另外要是還有更多信息,,就更好了,。
首先,,需要找到合適的數(shù)據(jù)集。
小哥再問ChatGPT,,結(jié)果它到是二話不說直接扔出了三個供其選擇,,介紹鏈接都有。
從三個數(shù)據(jù)集來看,,自然地球數(shù)據(jù)集顯然更好,而且還有“邊界”,、海岸線等信息,,這也就意味著要向模型解釋“邊界”概念,分隔標簽,。但作為新人而言,,第一個數(shù)據(jù)集與任務(wù)相關(guān)的數(shù)據(jù)更多,模型更容易實現(xiàn),,作者最終選擇了第一個數(shù)據(jù)集,。
將這個決定告訴ChatGPT之后,緊接著它就來教你創(chuàng)建Dataframe(數(shù)據(jù)框架),,并給出了示例代碼,。
執(zhí)行成功后,,就來到了第二階段:模型訓(xùn)練,。ChatGPT也二話不說地給了份代碼,甚至還附上了詳細解釋,。
該代碼將使用k-NN算法根據(jù)給定的坐標來預(yù)測國家。KNN 算法是一種簡單的算法,,它根據(jù)輸入的 k 個最近鄰的大多數(shù)類對輸入進行分類,。
在這個例子中,數(shù)據(jù)被分成訓(xùn)練集和測試集,,比例為80-20,。然后用訓(xùn)練集對 KNN 分類器進行訓(xùn)練,并用測試集對模型的精度進行測試,。
請記住,,這是一個簡單的示例,模型的準確性可能不高,。您可以嘗試使用不同的算法和k的不同值進行實驗,,看看是否可以提高模型的準確性.
在丟棄一些空白數(shù)據(jù)(沒有坐標的國家)之后,首次執(zhí)行k-NN訓(xùn)練成功,,并有99.7%的準確率,。
不過這個結(jié)果并不是那么滿意,,作者歸結(jié)了這幾個方面的原因:不同國家之間的數(shù)據(jù)分布不均;存在一些數(shù)據(jù)錯誤,;偏見等問題,。
這樣也就來到了第三步:重新評估。
在這段代碼中,我使用 OpenCage 地理編碼 API 從坐標中獲取國家信息,。您需要使用API密鑰替換 YORBAPI _ KEY 以獲得對 API 的訪問權(quán)限,。你可以在 OpenCage 網(wǎng)站上注冊一個免費的API密鑰。
按照說明,,作者修改了代碼,,結(jié)果顯示出現(xiàn)了很多NA錯誤,相當于只剩下30%數(shù)據(jù),。不過這個地球確實大部分都是水,。(也沒毛病,Doge)
最終模型準確性下降了一些,,有98.6%,,但這個結(jié)果作者表示很滿意,畢竟只有7個對話回合就幫忙造出來一個AI模型來,。
還嘗試了其他算法
不過這不是小哥的第一次嘗試。第一次談話時,,他用了同一來源的較小數(shù)據(jù)集,,需要更多數(shù)據(jù)集校正,而ChatGPT提供的第一個模型訓(xùn)練代碼是邏輯回歸,,只有51%的準確性,。
而后它又嘗試了不同的“求解器”(準確率約為65%),以及其他算法,,包括隨機森林和k-NN,,準確率分別為93%和92%。
這位25歲小哥在SentinelOne 擔(dān)任高級安全研究員,,研究和開發(fā)惡意軟件檢測邏輯,。
他因為對機器學(xué)習(xí)很感興趣開始自學(xué)有一定基礎(chǔ),在本次對話中其實他特意以小白的身份與ChatGPT對話,,結(jié)果被強大的效果驚艷到,。
最后他還表示,,真的在考慮用“他們”而不是“它”來稱呼ChatGPT,。
所以AI小白們,,ChatGPT快用起來吧。(Doge)
文章出處:量子位