var x=new Array();
var y=new Array();
var ys=new Array();
var beta=new Array();
var alpha;
function myFunction() {
var id="14EbPjbg90jSrYY4j31hNVJRkvA3ce7OxngHVBFB8IrA";
ex1 = SpreadsheetApp.openById(id);
sheet = ex1.getSheetByName("data");
for(s=1;s<11;s++){
x[s]=new Array();
}
for(s=1;s<11;s++){
x[s][1] =sheet.getRange(s+1,1).getValue();
x[s][2] =sheet.getRange(s+1,2).getValue();
y[s]=sheet.getRange(s+1,3).getValue();
}
beta[1]=2*Math.random()-1;
beta[2]=2*Math.random()-1;
a1=10000;
a2=-10000;
for(tr=1;tr<100;tr++){
a3=(a1+a2)/2;
c1=count(a3);
if(c1>5)a1=a3;
if(c1<5)a2=a3;
}
alpha=a3;
sheet.getRange(15,1).setValue(beta[1]);
sheet.getRange(15,2).setValue(beta[2]);
sheet.getRange(15,3).setValue(alpha);
for(s=1;s<11;s++){
z=alpha+beta[1]*x[s][1]+beta[2]*x[s][2];
z1=1/(1+Math.exp(-z));
ys[s]=0;
if(z1>0.5)ys[s]=1;
}
for(s=1;s<11;s++){
sheet.getRange(s+1,4).setValue(ys[s]);
}
}
function count(a3){
var s;
c1=0;
for(s=1;s<11;s++){
z=a3+beta[1]*x[s][1]+beta[2]*x[s][2];
z1=1/(1+Math.exp(-z));
if(z1>0.5)c1=c1+1;
}
return c1;
}
最終更新:2017年01月01日 17:18