Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lovemyliwu/a9bb5d9e735c5e0f0876 to your computer and use it in GitHub Desktop.
Save lovemyliwu/a9bb5d9e735c5e0f0876 to your computer and use it in GitHub Desktop.
数据挖掘及应用测验(一)代码版答案.js
var list = [10,12,14,15,17,18,18,23,25,25,25,25,26,26,33,37,37,39,39,39,39,40,40,43,45,51,80];
console.log('currently compute base on the list:' + list);
list = list.sort();
var length = list.length;
console.log('list length:' + length);
var itemCounts = {}, sum = 0, zongsu = [];
for (var idx=0; idx < length; idx ++) {
var item = list[idx];
sum += item;
if (itemCounts.hasOwnProperty(item)) {
itemCounts[item].push(item);
} else {
itemCounts[item] = [item];
}
}
for (var item in itemCounts) {
var itemList = itemCounts[item];
zongsu.push({
length: itemList.length,
value: itemList[0]
});
}
console.log('sum:' + sum);
console.log('average:' + sum / length);
zongsu = zongsu.sort(function (x, y) {return y.length - x.length});
var zongsuSize = zongsu[0].length;
for (var idx = 0; idx < zongsu.length; idx ++) {
var item = zongsu[idx];
if (item.length != zongsuSize) {
break;
}
console.log('zongsu:' + item.value);
}
var middleIdx = parseInt(length / 2);
if (length % 2) {
var zhongWeiShuSum = list[middleIdx - 1] + list[middleIdx];
console.log('zhongweishu:' + zhongWeiShuSum / 2);
} else {
console.log('zhongweishu:' + list[middleIdx - 1]);
}
var maxNumber = Math.max.apply(null, list),
minNumber = Math.min.apply(null, list);
console.log('zhonglieshu:' + (minNumber + maxNumber) /2 );
console.log('Q1:' + list[parseInt((length + 1) * 0.25) - 1]);
console.log('Q2:' + list[parseInt((length + 1) * 0.5) - 1]);
console.log('Q3:' + list[parseInt((length + 1) * 0.75) - 1]);
var formatToOne = function (number) {
console.log('Format %d to [0.0, 1.0] space:' + (number - minNumber) / (maxNumber - minNumber), number);
};
formatToOne(33);
var sperateBox = function (boxNumber) {
var numberOfOneBox = parseInt(length / boxNumber), cutIdx = 0;
for (var idx = 0;idx < boxNumber; idx ++) {
var box = list.slice(cutIdx, cutIdx + numberOfOneBox),
boxSum = 0;
cutIdx += numberOfOneBox;
for (var jdx = 0; jdx < box.length; jdx ++) {
boxSum += box[jdx];
}
console.log('box %d value is:[%d...]', idx + 1, boxSum / box.length);
}
};
sperateBox(3);
var listA = [12, 11, 32, 9],
listB = [20, 35, 0, 8];
var computeDistance = function (objectA, objectB) {
var distance = 0, mDistance = 0, gaps = [];
for (var idx = 0; idx < objectA.length; idx ++) {
var gap = Math.abs(objectA[idx] - objectB[idx]);
distance += gap * gap;
mDistance += gap;
gaps.push(gap);
}
console.log('o distance:' + Math.sqrt(distance));
console.log('m distance:' + mDistance);
console.log('shang que jie distance:' + Math.max.apply(null, gaps));
};
computeDistance(listA, listB);
@lovemyliwu
Copy link
Author

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment