Files

4.7 KiB
Raw Permalink Blame History

Пример загрузки данных с сайта Breast Cancer Wisconsin (Original)

In [ ]:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

# 1) Ссылка на датасет
dataset_url = "https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data"

# 2) Имена столбцов (по документации UCI)
col_names = [
    "Sample_code_number",
    "Clump_Thickness",
    "Uniformity_of_Cell_Size",
    "Uniformity_of_Cell_Shape",
    "Marginal_Adhesion",
    "Single_Epithelial_Cell_Size",
    "Bare_Nuclei",
    "Bland_Chromatin",
    "Normal_Nucleoli",
    "Mitoses",
    "Class"
]

# 3) Считываем csv
df = pd.read_csv(
    dataset_url,
    names=col_names,
    na_values=["?"],
    header=None
)

# 4) Быстрый осмотр
print(df.head())
print(df.info())

# 5) Удалим строки с пропусками
df.dropna(inplace=True)

# 6) Разделим на признаки (X) и целевую переменную (y)
y = df["Class"]
X = df.drop(["Sample_code_number", "Class"], axis=1)

# 7) Разделим на train и test
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)

# 8) Обучим модель (DecisionTree)
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)

# 9) Предсказание и оценка
predictions = clf.predict(X_test)
acc = accuracy_score(y_test, predictions)
print(f"Accuracy: {acc:.3f}")

Пример кода с requests + BeautifulSoup. Подставить нужную ссылку

In [ ]:
In [ ]:
import requests
from bs4 import BeautifulSoup
import pandas as pd

url = "https://opendata.some-region.ru/datasets/interesting-table"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

# Предположим, на странице есть <table> с классом "data-table"
table_html = soup.find("table", {"class": "data-table"})

# Преобразуем в DataFrame, если таблица более-менее стандартная
df_list = pd.read_html(str(table_html))  # возвращает список df
df = df_list[0]  # берем первую таблицу

df.head()

In [ ]:
import pandas as pd

excel_url = "https://data.gov.ru/files/dataset.xls"
df_excel = pd.read_excel(excel_url, sheet_name="Sheet1")
print(df_excel.columns)
In [ ]:
import pandas as pd

json_url = "https://data.gov.ru/files/dataset.json"
df_json = pd.read_json(json_url, orient="records")
print(df_json.info())