Ich arbeite an multivariable Regression von einem CSV, Vorhersage Ernte Leistung auf der Grundlage mehrerer Faktoren. Einige meiner Spalten sind numerisch und aussagekräftig. Andere sind numerisch und kategorisch oder Strings und kategorisch (zum Beispiel Pflanzensorte oder Plot-Code oder was auch immer). Wie unterrichte ich Python, um sie zu benutzen? Ich habe One Hot Encoder gefunden (http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing.OneHotEncoder), verstehe aber nicht wirklich, wie man es hier anwendet.Python SciKitLearn und Pandas kategorische Daten
Mein Code so weit:
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()
für Sie tun auf den Daten aufrufen zu tun kategorische Daten sollten Sie scikit learn's Label-Encoder (http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncod er.html) –
@KevinK. Vielen Dank! Wie würde ich es auf dieses Beispiel anwenden, wenn es Ihnen nichts ausmacht, wenn ich frage? –
Erstellen Sie einen neuen Label-Encoder 'le = LabelEncoder()', passen Sie ihn an Ihre Daten 'le.fit (df ['SomeColumn'])' an und transformieren Sie Ihre Daten 'df ['SomeColumn'] = le.transform (df [ 'SomeColumn']) ' –