Особенности метода: 2. Характерные особенности метода и методики экономического анализа

Содержание

Особенности методов | Scala 3 — Book

Info: JavaScript is currently disabled, code tabs will still work, but preferences will not be remembered.

В этом разделе представлены различные аспекты определения и вызова методов в Scala 3.

Определение методов

В Scala методы обладают множеством особенностей, в том числе:

  • Generic (типовые) параметры
  • Значения параметров по умолчанию
  • Несколько групп параметров
  • Контекстные параметры
  • Параметры по имени
  • и другие…

Некоторые из этих функций демонстрируются в этом разделе, но когда вы определяете “простой” метод, который не использует эти функции, синтаксис выглядит следующим образом:

def methodName(param1: Type1, param2: Type2): ReturnType = {
  // тело метода
  // находится здесь
}
def methodName(param1: Type1, param2: Type2): ReturnType =
  // тело метода
  // находится здесь
end methodName   // опционально

В этом синтаксисе:

  • ключевое слово def используется для определения метода
  • для наименования методов согласно стандартам Scala используется camel case convention
  • у параметров метода необходимо всегда указывать тип
  • возвращаемый тип метода указывать необязательно
  • методы могут состоять как только из одной строки, так и из нескольких строк
  • метку окончания метода end methodName указывать необязательно, её рекомендуется указывать только для длинных методов

Вот два примера однострочного метода с именем add, который принимает два входных параметра Int. Первая версия явно показывает возвращаемый тип метода — Int, а вторая — нет:

def add(a: Int, b: Int): Int = a + b
def add(a: Int, b: Int) = a + b

У публичных методов рекомендуется всегда указывать тип возвращаемого значения. Объявление возвращаемого типа может упростить его понимание при просмотре кода другого человека или своего кода спустя некоторое время.

Вызов методов

Вызов методов прост:

val x = add(1, 2)   // 3

Коллекции Scala имеют десятки встроенных методов. Эти примеры показывают, как их вызывать:

val x = List(1, 2, 3)
x.size          // 3
x.contains(1)   // true
x.map(_ * 10)   // List(10, 20, 30)

Внимание:

  • size не принимает аргументов и возвращает количество элементов в списке
  • метод contains принимает один аргумент — значение для поиска
  • map принимает один аргумент — функцию; в данном случае в него передается анонимная функция

Многострочные методы

Если метод длиннее одной строки, начинайте тело метода со второй строки с отступом вправо:

def addThenDouble(a: Int, b: Int): Int = {
  // представим, что это тело метода требует несколько строк
  val sum = a + b
  sum * 2
}
def addThenDouble(a: Int, b: Int): Int =
  // представим, что это тело метода требует несколько строк
  val sum = a + b
  sum * 2

В этом методе:

  • sum — неизменяемая локальная переменная; к ней нельзя получить доступ вне метода
  • последняя строка удваивает значение sum — именно это значение возвращается из метода

Когда вы вставите этот код в REPL, то увидите, что он работает как требовалось:

scala> addThenDouble(1, 1)
res0: Int = 4

Обратите внимание, что нет необходимости в операторе return в конце метода. Поскольку почти все в Scala является выражением — то это означает, что каждая строка кода возвращает (или вычисляет) значение — нет необходимости использовать return

.

Это видно на примере того же метода, но в более сжатой форме:

def addThenDouble(a: Int, b: Int): Int = (a + b) * 2

В теле метода можно использовать все возможности Scala:

  • if/else выражения
  • match выражения
  • циклы while
  • циклы for и for выражения
  • присвоение переменных
  • вызовы других методов
  • определения других методов

В качестве ещё одного примера многострочного метода, getStackTraceAsString преобразует свой входной параметр Throwable в правильно отформатированную строку:

def getStackTraceAsString(t: Throwable): String = {
  val sw = new StringWriter()
  t.printStackTrace(new PrintWriter(sw))
  sw. toString
}
def getStackTraceAsString(t: Throwable): String = val sw = StringWriter() t.printStackTrace(PrintWriter(sw)) sw.toString

В этом методе:

  • в первой строке переменная sw принимает значение нового экземпляра StringWriter
  • вторая строка сохраняет содержимое трассировки стека в StringWriter
  • третья строка возвращает строковое представление трассировки стека

Значения параметров по умолчанию

Параметры метода могут иметь значения по умолчанию. В этом примере для параметров timeout и protocol заданы значения по умолчанию:

def makeConnection(timeout: Int = 5_000, protocol: String = "http") = {
  println(f"timeout = ${timeout}%d, protocol = ${protocol}%s")
  // здесь ещё какой-то код ...
}
def makeConnection(timeout: Int = 5_000, protocol: String = "http") =
  println(f"timeout = ${timeout}%d, protocol = ${protocol}%s")
  // здесь ещё какой-то код .
..

Поскольку параметры имеют значения по умолчанию, метод можно вызвать следующими способами:

makeConnection()                 // timeout = 5000, protocol = http
makeConnection(2_000)            // timeout = 2000, protocol = http
makeConnection(3_000, "https")   // timeout = 3000, protocol = https

Вот несколько ключевых моментов об этих примерах:

  • В первом примере аргументы не предоставляются, поэтому метод использует значения параметров по умолчанию: 5_000 и http
  • Во втором примере для параметра timeout указывается значение 2_000, поэтому оно используется вместе со значением по умолчанию для protocol
  • В третьем примере значения указаны для обоих параметров, поэтому используются они.

Обратите внимание, что при использовании значений параметров по умолчанию потребителю кажется, что он может работать с тремя разными переопределенными методами.

Именованные параметры

При желании вы также можете использовать имена параметров метода при его вызове. Например, makeConnection может также вызываться следующими способами:

makeConnection(timeout=10_000)
makeConnection(protocol="https")
makeConnection(timeout=10_000, protocol="https")
makeConnection(protocol="https", timeout=10_000)

В некоторых фреймворках именованные параметры используются постоянно. Они также очень полезны, когда несколько параметров метода имеют один и тот же тип:

engage(true, true, true, false)

Без помощи IDE этот код может быть трудночитаемым, но так он становится намного понятнее и очевиднее:

engage(
  speedIsSet = true,
  directionIsSet = true,
  picardSaidMakeItSo = true,
  turnedOffParkingBrake = false
)

Рекомендации о методах, которые не принимают параметров

Когда метод не принимает параметров, говорят, что он имеет arity уровень 0 (arity-0). Аналогично, если метод принимает один параметр — это метод с arity-1.

Когда создаются методы arity-0:

  • если метод выполняет побочные эффекты, такие как вызов println, метод объявляется с пустыми скобками.
  • если метод не выполняет побочных эффектов, например, получение размера коллекции, что аналогично доступу к полю в коллекции, круглые скобки опускаются.

Например, этот метод выполняет побочный эффект, поэтому он объявлен с пустыми скобками:

def speak() = println("hi")

При вызове метода нужно обязательно указывать круглые скобки, если он был объявлен с ними:

speak     // ошибка: "method speak must be called with () argument"
speak()   // печатает "hi"

Хотя это всего лишь соглашение, его соблюдение значительно улучшает читаемость кода: с первого взгляда становится понятно, что метод с arity-0 имеет побочные эффекты.

Использование

if в качестве тела метода

Поскольку выражения if/else возвращают значение, их можно использовать в качестве тела метода. Вот метод с именем isTruthy, реализующий Perl-определения true и false:

def isTruthy(a: Any) = {
  if (a == 0 || a == "" || a == false)
    false
  else
    true
}
def isTruthy(a: Any) =
  if a == 0 || a == "" || a == false then
    false
  else
    true

Примеры показывают, как работает метод:

isTruthy(0)      // false
isTruthy("")     // false
isTruthy("hi")   // true
isTruthy(1.0)    // true

Использование

match в качестве тела метода

Довольно часто в качестве тела метода используются

match-выражения. Вот еще одна версия isTruthy, написанная с match выражением:

def isTruthy(a: Any) = a match {
  case 0 | "" | false => false
  case _ => true
}
def isTruthy(a: Matchable) = a match
  case 0 | "" | false => false
  case _ => true

Этот метод работает точно так же, как и предыдущий, в котором использовалось выражение if/else. Вместо Any в качестве типа параметра используется Matchable, чтобы принять любое значение, поддерживающее сопоставление с образцом (pattern matching).

См. дополнительную информацию о trait Matchable в Справочной документации.

Контроль видимости методов в классах

В классах, объектах, trait-ах и enum-ах методы Scala по умолчанию общедоступны, поэтому созданный здесь экземпляр

Dog может получить доступ к методу speak:

class Dog {
  def speak() = println("Woof")
}
val d = new Dog
d.speak()   // печатает "Woof"
class Dog:
  def speak() = println("Woof")
val d = new Dog
d.speak()   // печатает "Woof"

Также методы можно помечать как private. Это делает их закрытыми в текущем классе, поэтому их нельзя вызвать или переопределить в подклассах:

class Animal {
  private def breathe() = println("I’m breathing")
}
class Cat extends Animal {
  // этот метод не скомпилируется
  override def breathe() = println("Yo, I’m totally breathing")
}
class Animal:
  private def breathe() = println("I’m breathing")
class Cat extends Animal:
  // этот метод не скомпилируется
  override def breathe() = println("Yo, I’m totally breathing")

Если необходимо сделать метод закрытым в текущем классе, но разрешить подклассам вызывать или переопределять его, метод помечается как protected, как показано в примере с методом speak:

class Animal {
  private def breathe() = println("I’m breathing")
  def walk() = {
    breathe()
    println("I’m walking")
  }
  protected def speak() = println("Hello?")
}
class Cat extends Animal {
  override def speak() = println("Meow")
}
val cat = new Cat
cat. walk()
cat.speak()
cat.breathe()   // не скомпилируется, потому что private
class Animal:
  private def breathe() = println("I’m breathing")
  def walk() =
    breathe()
    println("I’m walking")
  protected def speak() = println("Hello?")
class Cat extends Animal:
  override def speak() = println("Meow")
val cat = new Cat
cat.walk()
cat.speak()
cat.breathe()   // не скомпилируется, потому что private

Настройка protected означает:

  • к методу (или полю) могут обращаться другие экземпляры того же класса
  • метод (или поле) не виден в текущем пакете
  • он доступен для подклассов

Методы в объектах

Ранее было показано, что trait-ы и классы могут иметь методы. Ключевое слово object используется для создания одноэлементного класса, и объект также может содержать методы. Это хороший способ сгруппировать набор “служебных” методов. Например, этот объект содержит набор методов, которые работают со строками:

object StringUtils {
  /**
   * Returns a string that is the same as the input string, but
   * truncated to the specified length. 
   */
  def truncate(s: String, length: Int): String = s.take(length)
  /**
    * Returns true if the string contains only letters and numbers.
    */
  def lettersAndNumbersOnly_?(s: String): Boolean =
    s.matches("[a-zA-Z0-9]+")
  /**
   * Returns true if the given string contains any whitespace
   * at all. Assumes that `s` is not null.
   */
  def containsWhitespace(s: String): Boolean =
    s.matches(".*\\s.*")
}
object StringUtils:
  /**
   * Returns a string that is the same as the input string, but
   * truncated to the specified length.
   */
  def truncate(s: String, length: Int): String = s.take(length)
  /**
    * Returns true if the string contains only letters and numbers.
    */
  def lettersAndNumbersOnly_?(s: String): Boolean =
    s.matches("[a-zA-Z0-9]+")
  /**
   * Returns true if the given string contains any whitespace
   * at all. Assumes that `s` is not null.
   */
  def containsWhitespace(s: String): Boolean =
    s.matches(".*\\s.*")
end StringUtils

Методы расширения

Есть много ситуаций, когда необходимо добавить функциональность к закрытым классам. Например, представьте, что у вас есть класс Circle, но вы не можете изменить его исходный код. Это может быть определено в сторонней библиотеке так:

case class Circle(x: Double, y: Double, radius: Double)

Если вы хотите добавить методы в этот класс, то можете определить их как методы расширения, например:

implicit class CircleOps(c: Circle) {
  def circumference: Double = c.radius * math.Pi * 2
  def diameter: Double = c.radius * 2
  def area: Double = math.Pi * c.radius * c.radius
}

В Scala 2 используйте implicit class, подробности здесь.

extension (c: Circle)
  def circumference: Double = c.radius * math.Pi * 2
  def diameter: Double = c.radius * 2
  def area: Double = math.Pi * c.radius * c.radius

В Scala 3 используйте новую конструкцию extension. Дополнительные сведения см. в главах этой книги или в справочнике по Scala 3.

Теперь, когда у вас есть экземпляр Circle с именем aCircle, то вы можете вызывать эти методы следующим образом:

aCircle. circumference
aCircle.diameter
aCircle.area

Дальнейшее изучение

Есть много чего, что можно узнать о методах, в том числе:

  • Вызов методов в суперклассах
  • Определение и использование параметров по имени
  • Написание метода, который принимает параметр функции
  • Создание встроенных методов
  • Обработка исключений
  • Использование входных параметров vararg
  • Написание методов с несколькими группами параметров (частично применяемые функции).
  • Создание методов с параметрами универсального типа.

Дополнительные сведения об этих функциях см. в других главах этой книги.

Особенности методов обучения в начальных классах средней общеобразовательной школы

Автор: Киргизов Нуриддин Олимжанович

Рубрика: Педагогика

Опубликовано в Молодой учёный №12 (198) март 2018 г.

Дата публикации: 24.03.2018 2018-03-24

Статья просмотрена: 3799 раз

Скачать электронную версию

Скачать Часть 2 (pdf)

Библиографическое описание:

Киргизов, Н. О. Особенности методов обучения в начальных классах средней общеобразовательной школы / Н. О. Киргизов. — Текст : непосредственный // Молодой ученый. — 2018. — № 12 (198). — С. 159-160. — URL: https://moluch.ru/archive/198/48547/ (дата обращения: 27.01.2023).



В данном материале рассматриваются методы обучения в средней школе и их классификация в различные группы.

Ключевые слова: методы, обучение, классификация, преподаватель, устное слово, наглядные пособия, практический метод.

В наш ХХI-век преподавателям становится все труднее завладеть вниманием учеников и побудить в ник желание учится. Сейчас, в век развития информационных технологий, вокруг детей находится много лишней информаций, которая ему, помогает но и может навредить. В связи с этим возникают проблемы, которые требуют от учителя максимальных усилий. Как донести знания до учеников? Как пробудить в них познавательскую любопытность и положительное отношение к учению и помочь им превратить знания в убеждение? Как найти правильный подход к неуспевающим ученикам и втянуть их в учебный процесс? Эти вопросы преподаватель решает на каждом уроке. Все они связаны с поисками наиболее продуктивных методов обучения. Давайте выясним, что принято подразумевать под методом обучения.

Методы обучения — это способы, применяемые при совместной деятельности учителя и учащихся, они помогают при совместной деятельности учителя и учащихся, они помогают при решении различных задач обучения.

Современные методики уделяют большое внимания побуждающей составляющей метода обучения. Назначение этого метода состоит не в простой передаче или пересказу материала преподавателем, а в том, чтобы пробудить познавательную потребность ученика, его интерес к решению той или иной задачи. Кроме этого, в развивающей и воспитывающей функции метода открываются новые аспекты. Ведутся активные поиски в создании обстановки сотрудничества, коллективного сопереживания, отношений взаимопомощи, ответственности за самостоятельного решения задач. Надо отметить, что зачастую наблюдается неспособность отличия метода обучения от средства. Давайте разберемся, в чём отличие этих видов обучения. Метод тесно связан с деятельностью и вне деятельности не может существовать. Средство обучения — это учебники, книги, справочники, пособия, технические средства, словари, наглядные пособия, словом, всё то, что помогает учителю в процессе, урока интереснее преподать его ученикам. Этот вспомогательный материал может быть использован в различных целях. Будучи включенное в какую-то деятельность, они дают возможность осуществлять цель деятельности.

Они приводят изменению структуры. В качестве примера можно привести включение в рассказ учится других средств, например, кинофрагментов, что меняет характер деятельности и учителя, и учащихся. Составные элементы метода называют методическими приёмами. Когда метод помогает овладеть основным содержанием учебного материала, те или иные методические приёмы обеспечивают углублённое усвоение отдельных вопросов предмета и темы. Существует большое множество методических приемов. Некоторые из них являются общими для многих предметов, другие применимы только при обучении отдельному предмету.

Методы и приемы на урок выбирает сам учитель, акцентируя свое внимание на тех из них, которые могли бы обеспечить детям необходимые знания, будили их мыслительную активность, развивали и поддерживали у них интерес к учебному процессу.

Совершенствование методики учебной работы идет беспрерывно. На современном этапе наблюдается интенсивный поиск в области методов обучения. Осуществление всеобщего среднего образования и дальнейшее совершенствование школы требует еще больше гибкости в организации и методике работы. Ведутся попытки классификации различных методов обучения. Потому что она имеет большое значение для разделения всех известных методов на методы работы учителя (рассказ, объяснение, всегда) и методы работы учащихся. Ещё предложена классификация методов по характеру руководства мыслительной деятельностью учащихся: объяснительно-иллюстративный, репродуктивный, проблемное изложение, частично-поисковый, исследовательский метод.

Чаще всего методы классифицируют по источнику получения знаний. В этом случае методы объединяют в три группы:

1) Словесные методы — рассказ, беседа, работа с учебником и книгой, объяснение;

2) Наглядные методы — наблюдение, демонстрация наглядных пособий, кинофильмов и диафильмов.

3) Практические методы — устные и письменные упражнения, графические и лабораторные работы.

Давайте, рассмотрим эти три группы по отдельности.

Словесные методы.

Как видно из названия, это виды методов, в которых применяется устный рассказ учителя. При его помощи учитель даже самые отвлечённые понятия может объяснить детям доступным до их понимания языком. Преподаватель, пользуясь этим инструментом, может рисовать перед мысленным взором ребёнка цветастые картины прошлого, настоящего и будущего. Слово может активировать воображение и чувства учеников. В самом начале школьного обучения, когда дети ещё не научились пользоваться книгой, слово учителя является единственным инструментом обучения. Рассказ учителя — это живое, образное и эмоциональное изложение событий. Он содержит преимущественно фактический материал. Хорошо оформленный рассказ учителя помогает ученику в своём воображении представить преподаваемый материал в живых красках. Эмоциональная составляющая рассказа придает краски самому, скучному предмету, делая его интересным для учащихся. Для достижения такого эффекта преподаватель должен хорошо владеть техникой речи и хорошо поставленным голосом. У него, кроме этого, должен быть хороший словарный запас, потому что при рассказе учитель не может ограничится простым пересказом материала, данного в учебнике. Потому что в таком случае весьма проблематично достижение намеченных целей, предусмотренных при выборе устного метода при подготовке учителя к уроку. Кроме устного рассказа, преподаватель в ходе учебного процесса может применить и метод беседы. Беседа отличается от устного рассказа тем, что предполагает участие в процессе преподнесения учебного материала и учащихся. Для раскрытия темы, в таких случаях, учитель задает вопросы и получает на них ответы. В таких случаях ученики сами вникают в суть урока. Надо подчеркнуть, что устные рассказы и беседа в большинстве случаев сопровождается работой с учебником и соответствующей теме вспомогательной литературой. Ещё существует объяснительный метод обучения. В нём учитель разъясняет ученикам аспекты, которые были непонятыми в процессе объяснения.

Устный метод хорош тем, что он может довести смысл преподаваемого материала даже в тех случаях, когда вспомогательный материал не доступен по тем или иным причинам.

Мы рассмотрели первую группу методов обучения, основанной на устном изложении материала. Теперь рассмотрим вторую группу методов, называемой наглядным.

Эти методы, что видно по названию, сводится к наглядным демонстрациям вспомогательных пособий кинофильмов и диафильмов. Такие методы обучения помогают учителям сделать учебный процесс увлекательным и запоминающимся. Правда, при этом есть риск, что ученик может не понять в полной мере суть демонстрируемых наглядных пособий и кинофильмов, если конечно, они не создавались специально к уроку. Проведение несложных опытов наблюдение всем классом того или иного явления природы с последующими комментариями от преподавателя тоже можно отнести к наблюдательному методу обучения. При демонстрации кинофильмов учитель может перед сеансом рассказать цель демонстрации, или сделать это после его окончания. Но во многих случаях преподаватель даёт необходимые разъяснения по ходу процесса, останавливая сеанс показа на необходимых для процесса обучения местах. Наглядные пособия бывают двух видов — изготовленные ответственными за этот процесс предприятиями и самодельными, приготовленными самими преподавателями. В первом случае они получаются более красочными, но во втором случае они более креативны, так как учитель готовит их, точнозая уровень восприятия учеников, которым он преподает. И наконец, третья практическая группа методов — упражнения, устные и письменные, лабораторные и графические работы. Если в вышеописанных методах устный рассказ, так или иначе, главенствует, в этом случае предпочтение отдается более самостоятельной работе учеников во время урока. Выполняя письменное задание учителя, ученик закрепляет материал, который до этого был ему объяснен в устный форме. Как видим, методы обучения весьма разнообразны. Каждый из них направлен на то, чтобы в той или иной форме донести до ученика материал, предусмотренный на данный конкретный урок. А как эта задача будет выполнена, зависит от мастерства учителя и уровня восприятия самих учеников.

Основные термины (генерируются автоматически): метод обучения, учебный процесс, преподаватель, устный рассказ, ученик, учитель, вспомогательный материал, совместная деятельность учителя, устный метод, учебный материал.

Ключевые слова

обучение, классификация, методы, преподаватель, наглядные пособия, устное слово, практический метод

методы, обучение, классификация, преподаватель, устное слово, наглядные пособия, практический метод

Похожие статьи

Классификация

методов обучения | Статья в журнале. ..

Метод рассказа предполагает устное повествовательное изложение содержания учебного материала. Этот метод применяется на всех этапах школьного обучения. Меняется лишь характер рассказа, его объем, продолжительность.

Формы и

методы деятельности учителя начальных классов по…

начальная школа, ребенок, попечение родителей, работа, учитель, учебный процесс, классный руководитель, девиантное поведение, различная категория обучающихся, метод работы.

Использование интерактивного

метода обучения на уроках…

Методика преподавания всякого учебного предмета — это педагогическая наука

Известно, что методы обучения-это способы взаимосвязанной деятельности педагога и ученика

Подобная методика принципиально меняет схему коммуникации учебного процесса.

Методы и приёмы работы в современной школе

Другими словами, методы — это способы совместной деятельности учителя и учащихся, направленные на решение поставленных задач.

— Проблемный.Перед учениками возникает проблемная ситуация. Педагог, используя данный метод обучения, является логически…

Технология проблемного

обучения и самостоятельная…

Технология проблемного обучения и самостоятельная деятельность обучающегося. Автор: Радостева Светлана Александровна.

Затем учитель, опираясь на предыдущие знания учеников, как оптимальный метод выбирает беседу и наблюдения учащихся над. ..

Использование интерактивных

методов обучения на уроках…

Суть интерактивного обучения состоит в том, что учебный процесс в условиях постоянного, активного взаимодействия всех учащихся базируется на сотрудничестве, взаимообучения: учительученик, ученикученик.

Словесные методы обучения географии в целях активизации…

В преподавании географии методы устного изложения учебного материала, такие как рассказ, беседа, объяснение, работа с текстом учебника сопровождают все другие методы обучения.

Интерактивный

метод обучения на уроках русского языка как. ..

Интерактивные методы ориентированы на широкое взаимодействие учеников не только с учителем, но и друг с другом и на доминирование активности учащихся в процессе обучения.

Роль и место средств

обучения в учебном процессе

2) Вербальные (словесные) средства обученияучебная и методическая литература, словари, дидактические материалы.

Выбор средств обученияпроцесс индивидуально творческий. Каждый преподаватель осуществляет его с учетом знания содержания своего…

Похожие статьи

Классификация

методов обучения | Статья в журнале…

Метод рассказа предполагает устное повествовательное изложение содержания учебного материала. Этот метод применяется на всех этапах школьного обучения. Меняется лишь характер рассказа, его объем, продолжительность.

Формы и

методы деятельности учителя начальных классов по…

начальная школа, ребенок, попечение родителей, работа, учитель, учебный процесс, классный руководитель, девиантное поведение, различная категория обучающихся, метод работы.

Использование интерактивного

метода обучения на уроках…

Методика преподавания всякого учебного предмета — это педагогическая наука

Известно, что методы обучения-это способы взаимосвязанной деятельности педагога и ученика

Подобная методика принципиально меняет схему коммуникации учебного процесса.

Методы и приёмы работы в современной школе

Другими словами, методы — это способы совместной деятельности учителя и учащихся, направленные на решение поставленных задач.

— Проблемный.Перед учениками возникает проблемная ситуация. Педагог, используя данный метод обучения, является логически…

Технология проблемного

обучения и самостоятельная…

Технология проблемного обучения и самостоятельная деятельность обучающегося. Автор: Радостева Светлана Александровна.

Затем учитель, опираясь на предыдущие знания учеников, как оптимальный метод выбирает беседу и наблюдения учащихся над. ..

Использование интерактивных

методов обучения на уроках…

Суть интерактивного обучения состоит в том, что учебный процесс в условиях постоянного, активного взаимодействия всех учащихся базируется на сотрудничестве, взаимообучения: учительученик, ученикученик.

Словесные методы обучения географии в целях активизации…

В преподавании географии методы устного изложения учебного материала, такие как рассказ, беседа, объяснение, работа с текстом учебника сопровождают все другие методы обучения.

Интерактивный

метод обучения на уроках русского языка как. ..

Интерактивные методы ориентированы на широкое взаимодействие учеников не только с учителем, но и друг с другом и на доминирование активности учащихся в процессе обучения.

Роль и место средств

обучения в учебном процессе

2) Вербальные (словесные) средства обученияучебная и методическая литература, словари, дидактические материалы.

Выбор средств обученияпроцесс индивидуально творческий. Каждый преподаватель осуществляет его с учетом знания содержания своего…

Выбор функций в машинном обучении [издание 2023 г.]

Входные переменные, которые мы даем нашим моделям машинного обучения, называются функциями. Каждый столбец в нашем наборе данных представляет собой функцию. Чтобы обучить оптимальную модель, нам нужно убедиться, что мы используем только основные функции. Если у нас слишком много функций, модель может фиксировать неважные закономерности и учиться на шуме. Метод выбора важных параметров наших данных называется Feature Selection.

В этой статье под названием «Все, что вам нужно знать о выборе функций» мы научим вас всему, что вам нужно знать о выборе функций.

Почему выбор функции?

Модели машинного обучения следуют простому правилу: что входит, то и выходит. Если мы поместим мусор в нашу модель, мы можем ожидать, что вывод тоже будет мусором. В этом случае под мусором понимается шум в наших данных.

Для обучения модели мы собираем огромное количество данных, чтобы помочь машине лучше учиться. Обычно большая часть собранных данных представляет собой шум, в то время как некоторые столбцы нашего набора данных могут не вносить существенного вклада в производительность нашей модели. Кроме того, наличие большого количества данных может замедлить процесс обучения и привести к замедлению работы модели. Модель также может учиться на этих нерелевантных данных и быть неточной.

Выбор функций — это то, что отличает хороших специалистов по данным от остальных. При той же модели и вычислительных мощностях, почему некоторые люди побеждают в соревнованиях с более быстрыми и точными моделями? Ответ — выбор функций. Помимо выбора правильной модели для наших данных, нам нужно выбрать правильные данные для включения в нашу модель.

Рассмотрим таблицу, содержащую информацию о старых автомобилях. Модель решает, какие автомобили нужно раздавить на запчасти.

                         

Рисунок 1: Набор данных о старых автомобилях

В приведенной выше таблице мы видим, что модель автомобиля, год выпуска и пробег очень важны для определения того, достаточно ли старый автомобиль, чтобы его раздавить, или нет. Однако имя предыдущего владельца автомобиля не решает, следует ли раздавить машину или нет. Кроме того, это может запутать алгоритм в поиске закономерностей между именами и другими функциями. Следовательно, мы можем удалить столбец.

                                         

 Рисунок 2. Удаление столбцов для выбора функций

Что такое выбор функций?

Выбор функции — это метод уменьшения входной переменной в вашу модель путем использования только релевантных данных и избавления от шума в данных.

Это процесс автоматического выбора соответствующих функций для вашей модели машинного обучения в зависимости от типа проблемы, которую вы пытаетесь решить. Мы делаем это, включая или исключая важные функции, не изменяя их. Это помогает сократить шум в наших данных и уменьшить размер наших входных данных.

Рисунок 3: Выбор функции

Модели с выбором функций

Модели выбора функций бывают двух типов:

  1. Контролируемые модели: контролируемый выбор функций относится к методу, который использует выходной класс меток для выбора функций. Они используют целевые переменные для определения переменных, которые могут повысить эффективность модели
  2. .
  3. Неконтролируемые модели: неконтролируемый выбор элементов относится к методу, которому не требуется выходной класс меток для выбора элементов. Мы используем их для неразмеченных данных.

Рисунок 4: Модели с выбором функций

Далее мы можем разделить контролируемые модели на три:

1. Метод фильтрации : В этом методе функции отбрасываются в зависимости от их отношения к выходным данным или того, как они коррелируют с выходными данными. Мы используем корреляцию, чтобы проверить, положительно или отрицательно коррелируют функции с выходными метками, и соответственно отбрасываем функции. Например: прирост информации, критерий хи-квадрат, показатель Фишера и т. д. 

Рис. 5. Блок-схема метода фильтрации                         

2. Метод оболочки : мы разделяем наши данные на подмножества и обучаем модель, используя это. На основе выходных данных модели мы добавляем и вычитаем функции и снова обучаем модель. Он формирует подмножества с использованием жадного подхода и оценивает точность всех возможных комбинаций признаков. Например: прямой выбор, обратное исключение и т. д.

                                            Рис. 6. Блок-схема метода оболочки

3. Внутренний метод : Этот метод сочетает в себе качества методов фильтра и метода оболочки для создания наилучшего подмножества.

          

                                              Рис. 7. Блок-схема внутренней модели

Этот метод заботится об итеративном процессе машинного обучения, сохраняя при этом минимальные затраты на вычисления. Например: регрессия лассо и хребта.

Как выбрать модель выбора функций?

Откуда мы знаем, какая модель выбора признаков подойдет для нашей модели? Процесс относительно прост, модель зависит от типов входных и выходных переменных.

Переменные бывают двух основных типов:

  • Числовые переменные: включают целые числа, числа с плавающей запятой и числа.
  • Категориальные переменные: в том числе метки, строки, логические переменные и т. д.

В зависимости от того, есть ли у нас числовые или категориальные переменные в качестве входных и выходных данных, мы можем выбрать нашу модель выбора признаков следующим образом:

Входная переменная

Выходная переменная

Модель выбора функций

Цифровой

Цифровой

  • Коэффициент корреляции Пирсона
  • Коэффициент ранга Спирмена

Цифровой

Категориальный

  • Коэффициент корреляции ANOVA (линейный).
  • Ранговый коэффициент Кендалла (нелинейный).

Категориальный

Цифровой

  • Ранговый коэффициент Кендалла (линейный).
  • Коэффициент корреляции ANOVA (нелинейный).

Категориальный

Категориальный

  • Критерий хи-квадрат (таблицы непредвиденных обстоятельств).
  • Взаимная информация.

                                           0003

Выбор функций с помощью Python

Давайте получим практический опыт в выборе характеристик, работая с набором данных Коби Брайанта, который анализирует удары, сделанные Коби из разных областей корта, чтобы определить, какие из них попадут в корзину.

Набор данных выглядит следующим образом:

                                                     Рис. 8. Набор данных Коби Брайанта

Как мы видим, в наборе данных 25 разных столбцов. Все они нам не понадобятся.

Сначала мы загружаем необходимые модули.

                                                    Рис. 9. Импорт модулей

Во-первых, давайте проверим столбцы loc_x и loc_y. Они, вероятно, представляют долготу и широту.

                                   Рис. 10. График столбцов широты и долготы в нашем наборе данных

На рисунке показано:

                                              Рисунок 11. Отображение широты и долготы  

Из приведенных выше рисунков видно, что они напоминают две буквы «D» на баскетбольной площадке. Вместо двух отдельных столбцов мы можем преобразовать координаты в полярную форму и получить один столбец [‘угол’].

                                        Рис. 12. Преобразование широты и долготы в полярную форму 

Мы можем объединить столбцы минут и секунд в один столбец времени.

                                         Рис. 13. Объединение двух столбцов 

Давайте посмотрим на уникальные значения в столбцах team_id и team_name:

                                        Рис. 14. Уникальные значения в параметрах team_id и team_name

Весь столбец содержит только одно значение и может быть удален. Давайте посмотрим на столбцы «match_up» и «opponent»: 

.

                                        Рис. 15. Столбцы «match_up» и «opponent»

Опять же, они содержат одинаковую информацию. Давайте нанесем значения столбцов «dist» и «shot_distance» на один и тот же график, чтобы увидеть, чем они отличаются:

           

                                                Рис. 16. График столбцов «dist» и «shot_distance»

Опять же, они содержат точно такую ​​же информацию. Давайте посмотрим на столбцы shot_zone_area, shot_zone_basic и shot_zone_range.

   

                                              Рисунок 17. График различных столбцов зон выстрела

На рисунке ниже показаны графики:

       

                                                     Рис. 18. Различные зоны выстрела

Мы видим, что они содержат разные части корта, откуда были сделаны выстрелы. Эта информация уже существует в столбцах угла и расстояния.

Теперь давайте отбросим все бесполезные столбцы.

                                                     Рис. 19. Удаление столбцов

После объединения столбцов и удаления ненужных столбцов мы получаем набор данных, содержащий только 11 важных столбцов.

                                                         Рис. 20. Окончательный набор данных

Изучите основы объектно-ориентированного программирования, веб-разработки с помощью Django и многого другого с помощью учебного курса Python. Зарегистрируйтесь сейчас!

Заключение

В этой статье под названием «Все, что вам нужно знать о выборе функций» мы поняли, насколько важно выбрать лучшие функции для нашей модели машинного обучения. Затем мы рассмотрели, что такое выбор признаков, и некоторые модели выбора признаков. Затем мы перешли к простому способу выбора правильной модели выбора признаков на основе входных и выходных значений. Наконец, мы увидели, как реализовать выбор функций в Python с помощью демонстрации. Если вы хотите узнать больше о выборе функций и связанных с ними фундаментальных функциях Python, вам идеально подойдет сертификационный курс Simplielarn Python. Этот сертификационный курс Python охватывает основные принципы Python, включая операции с данными, условные операторы, сценарии оболочки, Django и многое другое, и готовит вас к успешной карьере профессионального программиста Python.

Была ли вам полезна эта статья о выборе функций? У вас есть сомнения или вопросы к нам? Упомяните их в разделе комментариев к этой статье, и наши эксперты ответят на них в ближайшее время!

Популярные методы выбора признаков в машинном обучении

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

Итак, для нового набора данных, где цель неизвестна, модель может точно предсказать целевую переменную.

В машинном обучении на производительность модели влияет множество факторов, в том числе:

  • Выбор алгоритма,
  • Функции, используемые для обучения модели, Качество набора данных

Иногда в наборе данных набор признаков в необработанном виде не предоставляет оптимальной информации для обучения и выполнения прогноза.

Таким образом, полезно отбрасывать конфликтующие и ненужные функции из нашего набора данных с помощью процесса, известного как методы выбора функций или методы выбора функций.

Изучите популярные методы выбора признаков для построения точных моделей. #machinelearing #datascience #python #featureselection 

Нажмите, чтобы твитнуть

В машинном обучении мы определяем признак как:

Индивидуальное измеримое свойство или характерная черта наблюдаемого явления.  

Каждая функция или столбец представляет собой измеримую часть данных, которая помогает при анализе. Примеры переменных характеристик:

  • Имя,
  • Возраст,
  • Пол,
  • Образование, квалификация,
  • Заработная плата и т. д.

0029 имен не добавят никакой важной информации.

У нас есть различные методы преобразования текстовых данных в числовые . Но в этом случае функция имени бесполезна.

Вручную мы можем удалить их, но иногда несущественные функции не нужны для текстовых данных. Это может быть и числовых признаков .

Как удалить эти функции перед переходом к этапу моделирования?

А вот и техника 9Метод 0029 feature section , который помогает определить ключевые функции для построения модели.

Теперь мы определяем процесс выбора признаков следующим образом:

«Метод уменьшения количества входных переменных при разработке прогностической модели».

ИЛИ

«Выбор признаков — это процесс автоматического выбора подмножества соответствующих признаков или переменных из набора всех признаков, используемых в процессе построения модели».

Другими названиями выбора функций являются выбор переменных или выбор атрибутов.

В наших данных можно выбрать те характеристические переменные или признаки, которые наиболее полезны для построения точных моделей.

Итак, как мы можем отфильтровать лучшие функции из всех доступных функций?

Для этого у нас есть различные методы выбора признаков.

Итак, в этой статье мы рассмотрим те методы выбора функций, которые мы можем использовать для определения лучших функций для нашей модели машинного обучения.

Прочитав эту статью, вы узнаете о следующем:

  • Существует два основных типа методов выбора признаков: контролируемые и неконтролируемые. Кроме того, контролируемые методы подразделяются на методы-оболочки, фильтры и встроенные методы.
  • В методах выбора признаков на основе фильтров используются статистические методы для оценки зависимости или корреляции между входными переменными, которые затем фильтруются для выбора наиболее релевантных признаков.
  • Статистические меры должны быть тщательно выбраны для выбора признаков на основе типа данных входной переменной и переменной отклика (выхода).

Прежде чем мы начнем учиться, давайте рассмотрим темы, которые вы изучите в этой статье. Только если вы прочитаете статью полностью 🙂

Почему важен выбор функций?

Выбор функций — одна из ключевых концепций машинного обучения, которая сильно влияет на производительность модели .

Нерелевантные и вводящие в заблуждение характеристики данных могут негативно повлиять на производительность нашей модели машинного обучения. Вот почему выбор функций и очистка данных должны быть первым шагом при разработке нашей модели.

Эти методы выбора признаков сокращают количество входных переменных/признаков до тех, которые считаются полезными при прогнозировании цели.

Итак, основное внимание при выборе признаков уделяется:

Удалить неинформативных или избыточных предикторов из нашей модели машинного обучения».

Некоторые задачи прогнозного моделирования содержат большое количество переменных, требующих большого объема системной памяти и, следовательно, замедляющих разработку и обучение моделей.

Важность выбора признаков при построении модели машинного обучения:

  • Это повышает точность , с которой модель способна точно предсказать целевую переменную невидимого набора данных.
  • Это снижает вычислительную стоимость модели.
  • Улучшает понятность модели за счет удаления ненужных функций, что делает ее более понятной.

Преимущества выбора функций

Наличие нерелевантных признаков в ваших данных может снизить точность многих моделей, особенно линейных алгоритмов, таких как линейная и логистическая регрессия .

Ниже приведены преимущества выполнения выбора признаков перед моделированием модели:

  • Уменьшение переобучения модели: Меньше избыточных данных означает меньше возможностей для принятия решений на основе шума.
  • Повышение точности: Меньше вводящих в заблуждение и вводящих в заблуждение данных означает повышение точности моделирования.
  • Сокращение времени обучения: Чем меньше данных, тем быстрее обучаются алгоритмы.

Разница между контролируемыми и неконтролируемыми методами

Мы можем думать о методах выбора признаков с точки зрения контролируемых и неконтролируемых методов.

Методы, которые пытаются обнаружить взаимосвязь между входными переменными, также называемыми независимыми переменными, и целевой переменной, называются контролируемыми методами.

Они намерены определить соответствующие функции для достижения высокой точности модели, полагаясь на доступность помеченных данных.

Examples of supervised learning algorithms are:

  • Linear regression
  • Logistic regression
  • Decision trees
  • Neural networks , etc.

The methods that do not require any помеченные данные датчика для прогнозирования взаимосвязи между входными и выходными переменными обозначаются как неконтролируемые методы .

Они находят интересные модели активности в неразмеченных данных и оценивают все параметры данных на основе различных критериев, таких как дисперсия, энтропия, способность сохранять локальное сходство и т. д.

Например,

Кластеризация включает сегментацию клиентов понимает различные группы клиентов, вокруг которых строятся маркетинговые и бизнес-стратегии.

Неконтролируемые методы изучения признаков не учитывать целевую переменную, например методы, удаляющие избыточные переменные с помощью корреляции.

Напротив, методы контролируемого выбора признаков используют целевую переменную, например методы, которые удаляют нерелевантные и вводящие в заблуждение переменные.

Методы выбора контролируемых объектов

Методы выбора контролируемых объектов подразделяются на три категории.

  1. Метод оболочки, 
  2. Метод фильтра, 
  3. Внутренний метод

Методы выбора объектов-оболочек

Методы-оболочки создают несколько моделей, которые имеют разные подмножества входных переменных объектов. Позже выбранные функции, которые приводят к наилучшей производительности модели в соответствии с метрикой производительности.

Методы-оболочки не связаны с типами переменных, хотя они могут требовать значительных вычислительных ресурсов.

Хорошо известным примером метода выбора объектов-оболочек является Рекурсивное устранение признаков (RFE).

RFE выполняет оценку нескольких моделей, используя процедуры, которые добавляют или удаляют переменные-предикторы, чтобы найти оптимальную комбинацию, которая максимизирует производительность модели.

Методы выбора характеристик фильтра

Методы выбора характеристик фильтра используют статистические методы для прогнозирования взаимосвязи между каждой независимой входной переменной и выходной (целевой) переменной. Что присваивает баллов для каждой функции.

Позже оценки используются для фильтрации тех входных переменных/признаков, которые мы будем использовать в нашей модели выбора признаков.

Методы фильтрации оценивают значимость переменных признаков только на основе их неотъемлемых характеристик без включения какого-либо алгоритма обучения.

Эти методы не требуют больших вычислительных затрат и работают быстрее, чем методы-оболочки.

Методы фильтрации могут давать худшие результаты, чем методы-оболочки, если данных недостаточно для моделирования статистической корреляции между переменными признаков.

В отличие от методов-оболочек методы фильтрации не подвергаются переоснащению . Они широко используются на многомерных данных.

Однако методы-оболочки требуют непомерно высоких вычислительных затрат на такие данные.

Встроенные или встроенные методы выбора признаков

Модели машинного обучения, в которых выбор признаков естественным образом включен как часть обучения модели, называются встроенными или внутренними методами выбора признаков.

В некоторые модели включен встроенный выбор признаков, что означает, что модель включает в себя предикторы, помогающие добиться максимальной точности.

В этом сценарии модель машинного обучения выбирает наилучшее представление данных.

Примерами алгоритмов, использующих встроенные методы, являются регрессионные модели со штрафами, такие как

  • Лассо-регрессия ,
  • Ридж-регрессия ,
  • Деревья решений Алгоритм ,
  • Алгоритм RandomForest

Некоторые из этих моделей машинного обучения естественным образом устойчивы к неинформативным предикторам.

Модели на основе правил, такие как Lasso и деревья решений, по своей сути выполняют выбор функций.

Выбор признаков связан с уменьшением размерности, но оба они отличаются друг от друга. Оба метода направлены на сокращение количества переменных или признаков в наборе данных, но все же между ними есть тонкая разница.

Давайте узнаем разницу в деталях.

  • Выбор признаков просто выбирает и исключает заданные характерные признаки, не исключая их. Он включает и исключает атрибуты характеристик в данных, не изменяя их.
  • Уменьшение размерности преобразует объекты в более низкое измерение. Он уменьшает количество атрибутов, создавая новые комбинации атрибутов.

Примеры методов уменьшения размерности:

  • Анализ главных компонентов,
  • Разложение по сингулярным числам.

Выбор признаков с помощью статистических показателей

Мы можем использовать статистические показатели типа корреляции между входными и выходными переменными, которые затем можно использовать в качестве основы для выбора признаков фильтра.

Выбор статистических показателей сильно зависит от типов переменных данных.

Общие типы переменных данных включают:

  • Числовые, такие как высота
  • Категориальные, такие как метки 

Оба типа переменных данных подразделяются на множество категорий, а именно:

Числовые переменные делятся на следующие: с другой стороны, категориальные переменные делятся на следующие:

  • Булевы переменные
  • Номинальные переменные
  • Порядковые переменные

Мы будем рассматривать категории переменных , т. е. числовые и категориальные, наряду с вводом и выводом.

Переменные, которые предоставляются в качестве входных данных для модели, называются входными переменными. При выборе признаков входными переменными являются те, размер которых мы хотим уменьшить.

Напротив, выходные переменные — это те, на основе которых прогнозируется модель. Их также называют переменными отклика.

Переменные отклика обычно указывают тип выполняемой задачи прогнозного моделирования. Например:

  1. Числовая выходная переменная отображает задачу регрессионного прогнозного моделирования.
  2. Категориальная выходная переменная отображает задачу прогнозного моделирования классификации.

Выбор одномерного признака

При выборе фильтра на основе признаков статистические показатели рассчитываются с учетом только одной входной переменной за раз с целевой (выходной) переменной.

Эти статистические показатели называются одномерными статистическими показателями, что означает, что взаимодействие между входными переменными не учитывается в процессе фильтрации.

Одномерный выбор признаков выбирает лучшие признаки на основе одномерных статистических тестов. Мы сравниваем каждую функцию с целевой переменной, чтобы определить значимую статистическую взаимосвязь между ними.

Выбор одномерных признаков также называется дисперсионным анализом (ANOVA). Большинство методов являются одномерными, что означает, что они выполняют оценку предиктора изолированно.

Наличие коррелированных предикторов увеличивает возможность выбора значимых, но избыточных предикторов. Следовательно, выбирается большое количество предикторов, что приводит к возникновению проблем коллинеарности.

В одномерных методах выбора признаков мы исследуем каждый признак отдельно, чтобы определить взаимосвязь признаков с переменной отклика.

В следующих методах используются различные методы для оценки отношения ввода-вывода.

  • Числовой ввод и числовой вывод
  • Числовой ввод и категориальный вывод
  • Категориальный ввод и числовой вывод
  • Категориальный ввод и категориальный вывод

Давайте обсудим каждый из них подробно.

Числовой ввод и числовой вывод

Это тип задачи регрессионного прогнозного моделирования с числовыми входными переменными.

Общие методы включают использование коэффициента корреляции, например:

  •  Пирсона для линейной корреляции
  • Ранговые методы для нелинейной корреляции.
Числовой ввод и категориальный вывод

Считается, что это задача прогнозного моделирования классификации с числовыми входными переменными. Это наиболее распространенный пример проблемы классификации.

Опять же, общие методы основаны на корреляции, хотя мы приняли во внимание категориальную цель.

Применяются следующие методы:

  • Одномерный выбор признаков или анализ переменных ( Дисперсионный анализ ) для линейной корреляции
  • Ранговый коэффициент Кендалла для нелинейной корреляции при условии, что категориальная переменная является порядковой.
Категориальный ввод и числовой вывод

Это считается странным примером задачи регрессионного прогнозного моделирования с категориальными входными переменными.

Мы можем использовать те же методы «Числовой ввод, Категориальный вывод», что обсуждались выше, но в наоборот .

Категориальный ввод и категориальный вывод

Рассматривается как задача прогнозного моделирования классификации с категориальными входными переменными.

В этой задаче прогнозного моделирования используются следующие методы.

  • Критерий хи-квадрат 
  • Взаимная информация

Критерий хи-квадрат является наиболее распространенным показателем корреляции для категорийных данных. Он проверяет, существует ли значительная разница между наблюдаемой и ожидаемой частотой двух категориальных переменных.

Таким образом, согласно нулевой гипотезе, между обеими переменными не существует никакой связи.

Для применения критерия хи-квадрат для определения взаимосвязи между различными функциями в наборе данных и целевой переменной должны быть выполнены следующие условия:

  • Рассматриваемые переменные должны быть категориальными.
  • Переменные должны выбираться независимо.
  • Ожидаемая частота значений должна быть больше 5.

Чтобы обобщить вышеизложенное,  представляем вам изображение, которое все объясняет.

Стратегии выбора функций

При построении модели машинного обучения в реальной жизни редко бывает, чтобы все переменные в наборе данных были полезны для идеального построения модели.

Общая точность и способность модели к обобщению снижаются из-за добавления избыточных переменных. Кроме того, сложность модели также увеличивается за счет добавления все большего количества переменных.

В этом разделе упоминаются некоторые дополнительные соображения, касающиеся выбора признаков на основе фильтров, а именно:

  • Метод выбора
  • Преобразование переменных

Метод выбора

статистика вычисляется для каждой входной (независимой) переменной с целевой (зависимой) переменной.

Наиболее часто используемые методы:

  • Выбор верхних k переменных, т.е. SelectKBest — это метод выбора функций sklearn, используемый здесь.
  • Выбор переменных верхнего процентиля i-e; SelectPercentile — это метод выбора функций sklearn, используемый для этой цели.

Преобразование переменных

Переменные можно преобразовывать друг в друга для доступа к различным статистическим показателям.

Например, мы можем преобразовать категориальную переменную в порядковую переменную. Кроме того, мы можем преобразовать числовое значение в дискретное и т. д. и увидеть интересные результаты.

Итак, мы можем преобразовать данные в соответствии с требованиями теста, чтобы попытаться сравнить результаты.

Какой метод выбора функций лучше?

Ни один из методов выбора признаков нельзя считать лучшим. Даже в глобальном масштабе не существует лучшего алгоритма машинного обучения или лучшего набора входных переменных.

Вместо этого нам нужно выяснить, какой набор функций лучше всего подойдет для решения нашей конкретной задачи, путем тщательных систематических экспериментов.

Итак, мы тестируем ряд моделей на различных подмножествах признаков, выбранных с использованием различных статистических показателей, а затем выясняем, что лучше всего подходит для рассматриваемой нами проблемы.

Реализации выбора признаков

В следующем разделе приведены проработанные примеры случаев выбора признаков для задачи регрессии и задачи классификации.

Выбор признаков для моделей регрессии

Следующий код изображает выбор признаков для задачи регрессии в качестве числовых входов и числовых выходов.

Вы можете загрузить набор данных из этого набора данных kaggle. Пожалуйста, загрузите набор обучающих данных. При выполнении приведенного выше кода генерируется следующий вывод:

Мы использовали статистический тест хи-квадрат для неотрицательных целых чисел, а с помощью класса SelectKBest мы выбрали 10 лучших функций для нашей модели из Mobile Price Range Prediction. Набор данных.

Когда мы запускаем приведенный выше пример,

  • Создается набор данных регрессии
  • Выбор признаков определен
  • Выбор признаков применен к набору регрессионных данных
  • Мы получаем подмножество выбранных входных признаков

Выбор признаков классификации

Следующий код изображает выбор признаков для задачи классификации в виде числовых входных данных и категориальных выходных данных .

Вывод приведенного выше кода выглядит следующим образом:

Мы получили важность каждой из наших функций, используя свойство важности функции модели. Важность функции отображает важность каждой функции, присваивая ей балл.

Чем выше оценка какой-либо функции, тем более значимой и релевантной она является для нашей переменной ответа.

Когда мы запускаем приведенный выше пример,

  • Создается набор данных классификации.
  • Выбор функции определен.
  • Выбор признаков применяется к набору данных регрессии.
  • Мы получаем подмножество выбранных входных признаков.

Что дальше?

Не ограничивайтесь двумя приведенными выше примерами кода. Попробуйте поиграть с другими методами выбора функций, которые мы объяснили.

Просто для перепроверки создайте любую модель машинного обучения без применения каких-либо методов выбора признаков, затем выберите любой метод выбора признаков и попытайтесь проверить точность.

Для задач классификации c можно использовать знаменитые метрики оценки классификации . Для простых случаев можно измерить производительность модели с помощью матрицы путаницы .

Для решения проблемы регрессии вы можете проверить R-квадрат и скорректированный R-квадрат d меры.

Заключение

В этой статье мы объясняем важность методов выбора признаков при построении моделей машинного обучения.

До сих пор мы научились выбирать статистические меры для выбора признаков на основе фильтров с числовыми и категориальными данными.

Кроме этого, мы получили представление о следующем:

  • Типы методов выбора признаков бывают контролируемыми и неконтролируемыми. Методы с учителем далее подразделяются на фильтр, оболочка и встроенные методы .
  • Статистические показатели используются при выборе признаков на основе фильтров для оценки корреляции или зависимости между входными переменными и выходной переменной или переменной отклика.
  • Статистические меры для выбора признаков должны тщательно выбираться на основе типа данных входной переменной и выходной переменной.

Рекомендуемые курсы по машинному обучению

Рекомендуемые

Полные контролируемые алгоритмы обучения

Рейтинг: 4.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *