使用 Scikit-Learn 的 SVR,如何在预测目标时结合分类特征和连续特征?
Using Scikit-Learn's SVR, how do you combine categorical and continuous features in predicting the target?
我想使用支持向量机来解决回归问题,以根据一些混合了分类特征和连续特征的特征来预测教师的收入。例如,我有 [白人、亚裔、西班牙裔、黑人],# 年的教学和多年的教育。
对于分类,我利用了 sci-kit 的预处理模块,并对 4 个种族进行了热编码。在这种情况下,对于白人老师来说它看起来像 [1,0,0,0],因此我有一个数组 {[1,0,0,0], [0,1,0,0] ,...[0,0,1,0], [1,0,0,0]} 表示为 SVR 编码的每位教师的种族。我可以只用种族与收入进行回归,即:
clf= SVR(C=1.0)
clf.fit(racearray, income)
我也可以使用定量特征进行回归。但是,我不知道如何将这些功能组合在一起,即
continousarray(zip(yearsteaching,yearseduction))
clf.fit((racearray, continousarray), income)
您可以使用 scikit-learn 的 OneHotEncoder。如果您的数据在 numpy 数组 "racearray" 中并且列是
[ contionus_feature1, contious_feature2, categorical,
continous_feature3]
您的代码应该如下所示(请记住 numpy 枚举以 0 开头)
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(categorical_features=[2])
race_encoded = enc.fit_transform(racearay)
然后您可以像往常一样查看您的 race_encode
数组并在 SVR 中使用它作为
clf= SVR(C=1.0)
clf.fit(race_encoded, income)
我想使用支持向量机来解决回归问题,以根据一些混合了分类特征和连续特征的特征来预测教师的收入。例如,我有 [白人、亚裔、西班牙裔、黑人],# 年的教学和多年的教育。
对于分类,我利用了 sci-kit 的预处理模块,并对 4 个种族进行了热编码。在这种情况下,对于白人老师来说它看起来像 [1,0,0,0],因此我有一个数组 {[1,0,0,0], [0,1,0,0] ,...[0,0,1,0], [1,0,0,0]} 表示为 SVR 编码的每位教师的种族。我可以只用种族与收入进行回归,即:
clf= SVR(C=1.0)
clf.fit(racearray, income)
我也可以使用定量特征进行回归。但是,我不知道如何将这些功能组合在一起,即
continousarray(zip(yearsteaching,yearseduction))
clf.fit((racearray, continousarray), income)
您可以使用 scikit-learn 的 OneHotEncoder。如果您的数据在 numpy 数组 "racearray" 中并且列是
[ contionus_feature1, contious_feature2, categorical, continous_feature3]
您的代码应该如下所示(请记住 numpy 枚举以 0 开头)
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(categorical_features=[2])
race_encoded = enc.fit_transform(racearay)
然后您可以像往常一样查看您的 race_encode
数组并在 SVR 中使用它作为
clf= SVR(C=1.0)
clf.fit(race_encoded, income)