
Введение:
Прогнозирование движения цен на акции — сложная задача, которая привлекла большое внимание в финансовой индустрии. В этом проекте мы будем использовать методы машинного обучения, чтобы предсказать, будет ли цена акций расти или падать, на основе исторических данных.
Код:
Во-первых, мы начнем с импорта необходимых библиотек и чтения данных:
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix
# read in the data
df = pd.read_csv("stock_data.csv")
Далее мы предварительно обработаем данные, стандартизировав функции и закодировав метки:
# standardize the features
scaler = StandardScaler()
X = df.drop("movement", axis=1)
X = scaler.fit_transform(X)
# encode the labels
le = LabelEncoder()
y = le.fit_transform(df["movement"])
Теперь мы можем разделить данные на тренировочный и тестовый наборы:
# split the data into training and test sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Затем мы можем обучить классификатор случайного леса на обучающих данных:
# train a random forest classifier clf = RandomForestClassifier(n_estimators=100, random_state=42) clf.fit(X_train, y_train)
Наконец, мы можем оценить модель на тестовом наборе и распечатать матрицу путаницы:
# evaluate the model on the test set
y_pred = clf.predict(X_test)
conf_mat = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(conf_mat)
Вывод:
В этом проекте мы использовали методы машинного обучения, чтобы предсказать, будет ли цена акций расти или падать, на основе исторических данных. Мы предварительно обработали данные, обучили классификатор случайного леса и оценили модель на тестовом наборе. Матрицу путаницы можно использовать для оценки эффективности модели и определения областей, требующих улучшения. Прогнозируя движение цен на акции, инвесторы и трейдеры потенциально могут принимать более обоснованные решения относительно своих инвестиционных стратегий.