Читать книгу Искусственный интеллект. Машинное обучение онлайн
# Загрузка данных
data = pd.read_csv("customer_data.csv")
# Предобработка данных
# Например, заполнение пропущенных значений, кодирование категориальных признаков и т.д.
# Разделение данных на обучающий и тестовый наборы
X = data.drop('purchase', axis=1) # признаки
y = data['purchase'] # целевая переменная
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Обучение модели логистической регрессии
model = LogisticRegression()
model.fit(X_train, y_train)
# Предсказание на тестовом наборе
y_pred = model.predict(X_test)
# Оценка качества модели
accuracy = accuracy_score(y_test, y_pred)
conf_matrix = confusion_matrix(y_test, y_pred)
class_report = classification_report(y_test, y_pred)
print("Accuracy:", accuracy)
print("Confusion Matrix:\n", conf_matrix)
print("Classification Report:\n", class_report)
```
Этот код загружает данные о клиентах, разделяет их на обучающий и тестовый наборы, обучает модель логистической регрессии на обучающем наборе, предсказывает целевую переменную на тестовом наборе и оценивает качество модели с помощью метрик, таких как точность, матрица ошибок и отчет о классификации.
Перед выполнением этого кода необходимо убедиться, что данные находятся в файле "customer_data.csv" и соответствуют описанной выше структуре. Кроме того, предварительная обработка данных (например, заполнение пропущенных значений, кодирование категориальных признаков) может потребоваться в зависимости от конкретного набора данных.
Метод k ближайших соседей (k-NN):
Метод k ближайших соседей (k-NN) представляет собой простой и интуитивно понятный алгоритм классификации, который основан на принципе "похожесть привлекает". Он оперирует идеей о том, что объекты, находящиеся близко в пространстве признаков, склонны принадлежать к одному и тому же классу.
В процессе классификации нового объекта алгоритм ищет k ближайших объектов в обучающем наборе данных, используя заданную метрику расстояния (например, евклидово расстояние). Затем он присваивает этому объекту класс, который наиболее часто встречается среди соседей (например, с помощью голосования).