0.0.1 • Published 5 years ago

find-s v0.0.1

Weekly downloads
3
License
ISC
Repository
github
Last release
5 years ago

find-s

寻找极大特殊假设

npm download NPM version Build Status Dependencies Status Coverage Status code style: prettier

FIND-S 算法

  1. 将 h 初始化为 H 中最特殊假设
  2. 对每个正例 x
  • 对 h 的每个属性约束 ai 如果 x 满足 ai 那么不做任何处理 否则将 h 中 ai 替换为 x 满足的下一个更一般约束
  1. 输出假设 h

安装

npm install find-s

使用

import { findS } from 'find-s'

const samples = [
  {
    Sky: 'Sunny',
    AirTemp: 'Warm',
    Humidity: 'Normal',
    Wind: 'Strong',
    Water: 'Warm',
    Forecast: 'Same',
    EnjoySport: 'Yes'
  },

  {
    Sky: 'Sunny',
    AirTemp: 'Warm',
    Humidity: 'High',
    Wind: 'Strong',
    Water: 'Warm',
    Forecast: 'Same',
    EnjoySport: 'Yes'
  },

  {
    Sky: 'Rainy',
    AirTemp: 'Cold',
    Humidity: 'High',
    Wind: 'Strong',
    Water: 'Warm',
    Forecast: 'Change',
    EnjoySport: 'No'
  },

  {
    Sky: 'Sunny',
    AirTemp: 'Warm',
    Humidity: 'High',
    Wind: 'Strong',
    Water: 'Cool',
    Forecast: 'Change',
    EnjoySport: 'Yes'
  }
]

const res = findS(samples, 'EnjoySport', ['Sky', 'AirTemp', 'Humidity', 'Wind', 'Water', 'Forecast'])

assert.deepStrictEqual(res, {
        Sky: 'Sunny',
        AirTemp: 'Warm',
        Humidity: '?',
        Wind: 'Strong',
        Water: '?',
        Forecast: '?'
      })

开发

  1. 修改代码后跑

    npm test

    确保测试通过。

  2. git commit

  3. npm version patch/minor/major
  4. npm publish