Рубрики
Без рубрики

Какова ваша рутина в проекте науки о данных ? – Fastai Урок1.

Привет, я в настоящее время изучаю машину обучения с Fast.ai. Я организовал свои заметки для урока 1 B … с меткой начинающих, Python, машинное обучение, наука о данных.

Всем привет,

Я в настоящее время изучаю машину обучения с fast.ai Отказ

Я организовал свои заметки для урока1 ниже в 3 категориях: Сводка процесса, используемый код и понятия, видели в видео. Лучший способ учиться – это уметь пересмотреть все это и применять эти новые знания для конкурсов Kaggle.

  1. Настройка ноутбука Jupyter и среда
  2. Скачать данные из Kaggle
  3. Преобразовать все данные в цифры или логии : Новые функции извлечены из даты (год, месяц) и категорические данные строки сопоставлены с номерами
  4. Береги пропущенные данные : Непрерывные недостающие данные заменяются с помощью Median, а новый столбец функций создан _NA с логическим значением, отсутствующие категорические переменные обрабатываются Pandas и автоматически устанавливаются на -1
  5. Отдельная подготовка и набор валидации : Модель обучается на наборе тренировок, чтобы проверить, хорошо ли он работает, он используется на установленном искуплении после
  6. обучать модель
  7. Оценка точности печати
%load_ext autoreload
%autoreload 2
%matplotlib inline

from fastai.imports import *
from fastai.structured import *
from pandas_summary import DataFrameSummary
from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier
from IPython.display import display
from sklearn import metrics

PATH = "data/bulldozers/"

df_raw = pd.read_csv(f'{PATH}Train.csv', low_memory=False, parse_dates=["saledate"])

display_all(df_raw.tail().T)

df_raw.SalePrice = np.log(df_raw.SalePrice)

add_datepart(df_raw, 'saledate')
df_raw.saleYear.head()

train_cats(df_raw)
df_raw.UsageBand.cat.set_categories(['High', 'Medium', 'Low'], ordered=True, inplace=True)
df_raw.UsageBand = df_raw.UsageBand.cat.codes

display_all(df_raw.isnull().sum().sort_index()/len(df_raw))

os.makedirs('tmp', exist_ok=True)
df_raw.to_feather('tmp/bulldozers-raw')
df_raw = pd.read_feather('tmp/bulldozers-raw')

df, y, nas = proc_df(df_raw, 'SalePrice')

m = RandomForestRegressor(n_jobs=-1)
m.fit(df, y)
m.score(df,y)

n_valid = 12000  # same as Kaggle's test set size
n_trn = len(df)-n_valid
raw_train, raw_valid = split_vals(df_raw, n_trn)
X_train, X_valid = split_vals(df, n_trn)
y_train, y_valid = split_vals(y, n_trn)

X_train.shape, y_train.shape, X_valid.shape

Есть несколько функций помощника:

  • Display_all () создается, чтобы иметь имя всех функций в строках вместо столбцов
  • Split_vals () расщепляет набор данных в учебный набор и набор валидации
  • print_score ()
def display_all(df):
    with pd.option_context("display.max_rows", 1000, "display.max_columns", 1000): 
        display(df)

def split_vals(a,n): return a[:n].copy(), a[n:].copy()

def rmse(x,y): return math.sqrt(((x-y)**2).mean())

def print_score(m):
    res = [rmse(m.predict(X_train), y_train), rmse(m.predict(X_valid), y_valid),
                m.score(X_train, y_train), m.score(X_valid, y_valid)]
    if hasattr(m, 'oob_score_'): res.append(m.oob_score_)
    print(res)

Следующие функции включены в Fast.ai Библиотека:

  • add_datepart () генерирует новые численные функции от дат (год, месяц) и удалить даты предыдущего столбца
  • urs_cats () Карты Строки на целые числа (например, красный: 1, синий: 2 и т. Д.)
  • proc_df () Заменяет категории с их числовыми кодами, обрабатывает отсутствующие непрерывные значения (заменяет его посредственным значением и создает новую функцию столбца _na) и разделить зависимую переменную в отдельной переменной
  • Структурированные данные/неструктурированные данные : Структурированные данные являются табличными данными, пример неструктурированных данных – это изображения
  • Проклятие размерности : Идея, что тем больше измерений у вас есть, тем больше все точки сидят на краю этого пространства
  • Нет теории свободных обедов : В теории, нет типа модели, которая будет работать для любого вида случайных наборов данных
  • регрессия/классификация : регрессия является непрерывным переменным прогнозом (например, прогноз цен) и классификация – это верная/ложная категоризация или идентификация нескольких категорий (например, категоризация фруктов)
  • переопределение : Когда модель для конкретного набора данных, он не сможет хорошо обобщить с новым набором данных Набор валидации помогает диагностировать эту проблему

Это это для первого урока!

Не забудьте вспомнить. Вы можете объяснить основной процесс, чтобы начать тетрадь науки Data? Как вы обрабатываете недостающие значения? Что такое регрессия и классификация? Что за превышение?

И практиковаться с Kaggle, чтобы сделать это новое знание второй природой!

Примечание : Я думаю, что более простым способом начать тетрадь науки данных – использовать Google Colab.

!pip install fastai==0.7.0
from google.colab import files
uploaded = files.upload()
import pandas as pd
import io
df_raw = pd.read_csv(io.BytesIO(uploaded['train.csv']))

Вы можете следовать за мной в Instagram @ oyane806. !

Оригинал: “https://dev.to/oyane806/what-is-your-routine-in-a-data-science-project-fastai-lesson1-10dh”