2

私はcsvから多変数回帰に取り組んでおり、複数の要因に基づいて作物のパフォーマンスを予測しています。私の列の中には数値的で意味のあるものがあります。他のものは、数値的で分類的なもの、文字列で分類されたもの(例えば、作物の種類やプロットコードなど)です。Pythonにそれらを使用するように教えるにはどうすればいいですか? One Hot Encoder(http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing.OneHotEncoder)を見つけましたが、実際にここに適用する方法を理解していません。これまでPython SciKitLearn and Pandasカテゴリデータ

マイコード:

import pandas as pd 
import statsmodels.api as sm 
from sklearn.preprocessing import StandardScaler 
df = pd.read_csv('filepath.csv') 

df.drop(df[df['LabeledDataColumn'].isnull()].index.tolist(),inplace=True) 

scale = StandardScaler() 

pd.options.mode.chained_assignment = None # default='warn' 
X = df[['inputColumn1', 'inputColumn2', ...,'inputColumn20']] 
y = df['LabeledDataColumn'] 

X[['inputColumn1', 'inputColumn2', ...,'inputColumn20']] = scale.fit_transform(X[['inputColumn1', 'inputColumn2', ...,'inputColumn20']].as_matrix()) 

#print (X) 

est = sm.OLS(y, X).fit() 

est.summary() 
+1

をやっデータにモデルを呼び出しますカテゴリデータの場合は、scikit learnのラベルエンコーダ(http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncod er.html) –

+0

@KevinK。ありがとう!あなたが私に尋ねる気にならないなら、私はこの例にどのように適用しますか? –

+0

新しいラベルエンコーダ 'le = LabelEncoder()'を作成し、データ 'le.fit(df ['SomeColumn'])'に適合させ、データ 'df ['SomeColumn'] = le.transform(df [ 'SomeColumn']) ' –

答えて

1

は、あなたが提供するget_dummies関数パンダを使用してカテゴリ値を変換することができます。

このような何か...

predictor = pd.concat([data.get(['numerical_column_1','numerical_column_2','label']), 
          pd.get_dummies(data['categorical_column1'], prefix='Categorical_col1'), 
          pd.get_dummies(data['categorical_column2'], prefix='categorical_col2'), 
          axis=1) 

、あなたは

outcome = predictor['label'] 
del predictor['label'] 

を行うことで成果/ラベル列を得ることができます次に、あなたのために

est = sm.OLS(outcome, predictor).fit() 
+0

このようなものはどうですか? ' pd.factorize(df.featureX) transformed_featureX = pd.factorize(df.featureX) DF [ 'transformed_featureX'] = transformed_featureX [0] .astype(フロート)#または同様INTとすることができるものは何でも ' –

+0

まあ、get_dummies()ははるかに簡単です。それを試してみて、それが働いたと思えば私に知らせてくださいしてくださいupvoteしてください。 – Gayatri

+0

これは、エラーを投げています: ファイル「」、13行目 軸= 1]) ^ にSyntaxError:無効な構文 –