因此,sklearn其模型中不支持分类数据。Python 的分类数据建模(例如随机森林等)是否有已知的替代方案?
分类数据建模的 Scikit 替代方案?
数据挖掘
Python
scikit-学习
分类数据
2022-03-03 23:04:41
2个回答
肯定有一些方法可以处理您的数据以使分类数据与 sklearn 兼容(例如 one-hot 编码)。您可以研究的另一种选择是 h2o,它本身支持分类特征(尽管它不提供 sklearn 模型的广度)。
statsmodel支持使用 R 样式公式拟合模型:
In [5]: df = sm.datasets.get_rdataset("Guerry", "HistData").data
In [6]: df = df[['Lottery', 'Literacy', 'Wealth', 'Region']].dropna()
In [7]: df.head()
Out[7]:
Lottery Literacy Wealth Region
0 41 37 73 E
1 38 51 22 N
2 66 13 61 C
3 80 46 76 E
4 79 69 83 E
您可以在不处理分类数据的情况下拟合模型
In [11]: res = smf.ols(formula='Lottery ~ Literacy + Wealth + C(Region)', data=df).fit()
In [12]: print(res.params)
Intercept 38.651655
C(Region)[T.E] -15.427785
C(Region)[T.N] -10.016961
C(Region)[T.S] -4.548257
C(Region)[T.W] -10.091276
Literacy -0.185819
Wealth 0.451475
dtype: float64
其它你可能感兴趣的问题