Menu
CoddyTech

Повторение: спам-фильтр

Часть раздела Обучение с учителем путешествия по Machine Learning на Coddy. Урок 20 из 58.

challenge icon

Задание

Средне

Создай спам-фильтр, с которого начинается эта глава. В emails.csv содержится 200 писем: links, exclaims, caps_words, from_contact (1 для известного отправителя), words и spam. Программа считывает порог.

  1. Оставь четверть данных для тестирования (random_state=0), выполни масштабирование по обучающим строкам и обучи модель LogisticRegression; выведи её точность на тестовых данных (3 десятичных знака).
  2. При заданном пороге посчитай количество тестовых писем, отправленных в спам, количество настоящих писем среди них и количество пропущенных спам-писем.
  3. Выведи самый весомый признак спама и его вес (2 десятичных знака).

Для другой службы и 0.7:

Test accuracy: 0.884
At 0.7: 15 emails to spam (1 of them real), 4 spam let through
Strongest spam evidence: links (1.38)

Попробуйте сами

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

emails = pd.read_csv("emails.csv")
features = ["links", "exclaims", "caps_words", "from_contact", "words"]
threshold = float(input())

# Напишите свой код ниже

Все уроки раздела Обучение с учителем

Потренируйтесь самостоятельно: Онлайн-компилятор Python