Das folgende Python 3 Code-Snippet demonstriert die Implementierung eines einfachen Random Forrest Machine Learning Klassifizierungsmodells, um einen Ausgabewert anhand von Eingabewerten vorherzusagen.

Im Beispiel wird zunächst eine CSV Datei geladen, die diverse Eingabe-Spalten (X) sowie eine Spalte mit dem durch das Modell vorherzusagenen Wert (Y) enthält. Anschließend werden die Daten in eine Trainings und eine Test-Menge unterteilt, bevor das Modell trainiert wird. Mit dem Aufruf model.score wird die Qualität des generierten Modells anhand der Test-Daten überprüft - die Ausgabe der Variable model.feature_importances_ liefert ein Array mit der Wichtigkeit der jeweiligen Eingabespalte.

Für den Beispiel-Code muss die Scikit-learn sowie die Pandas Bibliothek installiert sein (pip install sklearn, pip install pandas).


from sklearn.ensemble import RandomForestClassifier
from sklearn import model_selection
import pandas as pd
import numpy as np

# load csv data
input_data_1 = pd.read_csv("prediction-input-1.txt", sep="\t")

# prepare column to be predicted
input_data_1['Transactions'] = np.where(input_data_1['Transactions'] == 0, input_data_1['Transactions'], 1)

Y = np.array(input_data_1['Transactions'])

# select features (= columns used as input for prediction)
features = list(input_data_1.columns)

del features[5]
del features[0]
X = input_data_1[features]

# split data into test and train set
test_size = 0.33

seed = 77
X_train, X_test, Y_train, Y_test = model_selection.train_test_split(X, Y, test_size=test_size, random_state=seed)

# build and train model
model = RandomForestClassifier(n_estimators=100, n_jobs=2, random_state=0, max_depth=10)

model.fit(X_train, Y_train)

# test model quality
result = model.score(X_test, Y_test)

print(result)

# print vector with feature importances 
print(model.feature_importances_)


 

Diese Webseite verwendet Cookies für die Analyse der Website Nutzung. Daten werden anonym und ausschließlich mit dem Zweck der Verbesserung der Webseite erhoben. Stimmen Sie dem Setzen von sitzungsübergreifenden Cookies zu?