例如 - 我有一個這樣的資料集

如果我有這樣的輸入,"Son 19-30 Read the book No"那么我如何獲得online shopping基于此的預測?我應該考慮什么樣的機器學習方法?
uj5u.com熱心網友回復:
好的,讓我們一起做。首先,我們需要對資料進行預處理。
import pandas as pd
from sklearn import preprocessing #for data preprocessing
df = ... #it's var for your table
我們需要制作性別二元(0 - 男性,1 - 女性)
new_gender_columns = pd.get_dummies(df['Gender'])
然后將 new_gender_columns 添加到您的 DataFrame
df = df.join(new_gender_columns)
我們需要洗掉舊的物件性別列
df.drop('Gender', axis=1, inplace=True)
但是我們需要對 Married 列進行相同的處理。例如,我們可以為所有物件列定義函式或為 Married 撰寫以前的代碼。
def df_dummies(df, columns: list):
for col in columns:
new_dummies_columns = pd.get_dummies(df[col])
df = df.join(new_dummies_columns)
df.drop(col, axis=1, inplace = True)
return df
現在,列出物件列:
obj_cols = ['Gender', 'Married']
運行功能:
df = df_dummies(df, obj_cols)
然后我們有可以由標簽編碼器處理的列。例如年齡:
0-18 = 標簽 0
19-30 = 標簽 1
等等。
讓我們列出這些列:
labels_cols = ['Age', 'Leisure', 'Online Shopping']
le = preprocessing.LabelEncoder()
for col in labels_cols:
le.fit(df[col])
df[col] = le.transform(df['col'])
現在,機器學習。讓我們匯入隨機森林分類器。因為我們需要預測類別(“是”或“否”,1 或 0)。
from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier()
rfc.fit(df.iloc[:, :-1], df.iloc[:, -1])
好的,模型沒問題,您可以開始測驗了。一路平安,年輕的學徒。
uj5u.com熱心網友回復:
對于這個問題,你可以使用任何分類演算法,但在此之前,你必須對資料進行預處理,對于性別,你可以使用 0-1。1 代表兒子,0 代表女孩 對于年齡,您可以將 onehotencoder 0-2 歸類為不同年齡組。對于休閑,您必須使用 NLP 技術將句子中的關鍵字分開,例如游戲、閱讀書籍、互聯網、音樂。這些關鍵字可以在 onehotencoder 中使用。
畢竟,您可以應用任何分類演算法。
uj5u.com熱心網友回復:
ML 最重要的方面之一是資料。您的資料集數量非常少。另一方面,它是一個有 2 個類的二元分類。只有一個 NO 類樣本主要使您的模型傾向于預測 Yes。
因此,我建議您先找到更多資料,然后可以使用決策樹、支持向量機和邏輯回歸進行預測。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/372930.html
