我有一個 CSV 檔案,在 Jupyter Notebook 中使用 Scikit Learn,我正在嘗試應用不同的機器學習演算法,為此我需要將所有列轉換為數字資料以預測浮點數格式的應用程式評分。需要轉換為數字的列如下:
類別:(包括 27 個不同的應用類別,例如教育、醫療、音樂等)Android 應用的下載量:1000000 至 5000000、500000 至 1000000 ... 資料更新:2017 年 2 月 8 日、2016 年 10 月 26 日 ...
uj5u.com熱心網友回復:
首先,一些 ML 演算法可以處理分類資料(您不需要對其進行編碼),例如基于樹的 ML 演算法。
其次,有很多技術可以將分類資料轉換為數字格式。
簡短的回答:
OneHot 編碼器將是最好的編碼器之一。但是,您應該考慮特征的基數(特征可以具有的值的數量,例如:類別列中的值為 27),因為它會創建很多列。
您可以使用序數編碼,也可以檢查此鏈接以對"Category"進行編碼。 “下載次數”已經是數字了,在這種情況下你需要縮放它,查看下面的鏈接進行縮放,你可以使用sklearn。
“資料更新”是日期,因此您首先需要使用 Pandas 函式to_datetime將其轉換為日期時間。然后,您可以使用此 Pandas API來選擇您希望如何轉換日期。
uj5u.com熱心網友回復:
讓我用最簡單的術語來分解需要做的事情
將 csv 檔案加載到 Pandas 資料幀:詳細步驟請參閱檔案
import pandas as pd df = pd.read_csv('filename.csv')對于日期時間,您需要做的就是使用中的
parse_dates引數提及哪些列是日期時間read_csvdf = pd.read_csv("filename.csv", parse_dates=date_cols)根據您的資料和問題陳述選擇正確的機器學習演算法。 [分類、回歸、時間序列或無監督]
一些機器學習演算法需要分類資訊,而大多數需要數值資料。一旦了解了需要實作的目標,就需要使用編碼技術
編碼是一種將分類變數轉換為數值的技術,以便可以輕松地將其擬合到機器學習模型中。
有關不同編碼技術的資訊,請參閱分類編碼器檔案和此示例鏈接
注意:考慮到您有 27 個類別,由于與高維(并行性和多重共線性)相關的問題,選擇一種熱編碼并不理想
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/321820.html
