我对scikit learn还很陌生,我正试图用这个软件包来预测收入数据。 这可能是一个重复的问题,因为我看到了另一个关于这个的帖子,但我正在寻找一个简单的例子来理解什么是从scikit learn estimators。在
我拥有的数据结构如下,其中许多特征是分类的(例如:工人阶级、教育……)
age: continuous.
workclass: Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.
fnlwgt: continuous.
education: Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool.
education-num: continuous.
marital-status: Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse.
occupation: Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces.
relationship: Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried.
race: White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black.
sex: Female, Male.
capital-gain: continuous.
capital-loss: continuous.
hours-per-week: continuous.
native-country: United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands.
示例记录:
^{pr2}$我很难处理分类特性,因为sckit中的大多数模型都希望所有特性都是数字? 他们确实提供了一些类来转换/编码这些特性(比如Onehotencoder、DictVectorizer),但我找不到在数据中使用这些特性的方法。我知道在我把它们完全编码成数字之前,有很多步骤要做,但是我想知道有没有人知道一种更简单有效的方法(因为有太多这样的特性)可以用一个例子来理解。 我模糊地知道DictVectorizer是一个好办法,但需要帮助如何继续在这里。在
下面是一些使用
DictVectorizer
的示例代码。首先,让我们在pythonshell中设置一些数据。我把文件的阅读交给你。在现在,分析一下:
^{pr2}$我们现在有什么?让我们检查一下:
这些
samples
已经为DictVectorizer
准备好了,所以请传递它们:等等,你有{}和{}可以传递给估计器,前提是它支持稀疏矩阵。(否则,将
sparse=False
传递给DictVectorizer
构造函数。)类似地,测试样本可以传递给
DictVectorizer.transform
;如果测试集中有一些特征/值组合没有出现在训练集中,这些组合将被忽略(因为学习的模型无论如何都无法对它们做任何有意义的事情)。在相关问题 更多 >
编程相关推荐