寻找极大特殊假设
- 将 h 初始化为 H 中最特殊假设
- 对每个正例 x
- 对 h 的每个属性约束 ai 如果 x 满足 ai 那么不做任何处理 否则将 h 中 ai 替换为 x 满足的下一个更一般约束
- 输出假设 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: '?'
})
-
修改代码后跑
npm test
确保测试通过。
-
git commit
-
npm version patch/minor/major
-
npm publish