package neko;
import org.apache.commons.math3.stat.regression.SimpleRegression;
public class pro {
int s,sx,datanumber;
String[] data=new String[5000];
String file,str;
String[] station=new String[5000];
String[] title=new String[5000];
String[] date=new String[5000];
int[] season=new int[5000];
double[][] rate=new double[5000][50];
int[] count=new int[5000];
double[] avg=new double[5000];
String[][] actor=new String[5000][200];
int[] actornumber=new int[5000];
String[] dic=new String[5000];
String[] mainc=new String[5000];
int dicnumber,h;
public static void main(String[] args) {
pro test=new pro();
}
pro(){
catchdata sub=new catchdata();
sub.makedata();
datanumber=sub.datanumber;
avg=sub.avg;
title=sub.title;
season=sub.season;
station=sub.station;
date=sub.date;
catchartist sub2=new catchartist();
sub2.makedata();
actor=sub2.actor;
actornumber=sub2.actornumber;
for(s=1;s<datanumber+1;s++){
mainc[s]=actor[s][1];
}
dicnumber=0;
for(s=1;s<datanumber+1;s++){
h=0;
for(sx=1;sx<dicnumber+1;sx++){
if(mainc[s].equals(dic[sx]))h=100;
}
if(h<50)dicnumber=dicnumber+1;
if(h<50)dic[dicnumber]=mainc[s];
}
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<dicnumber+1;sx++){
if(mainc[s].equals(dic[sx]))count[sx]=count[sx]+1;
}
}
int tx;
for(s=1;s<dicnumber+1;s++){
tx=0;
for(sx=1;sx<datanumber+1;sx++){
if(mainc[sx].equals(dic[s]))tx=tx+1;
if(mainc[sx].equals(dic[s]))rate[s][tx]=avg[sx];
}
}
double[] x=new double[600];
double[] y=new double[600];
tx=0;
for(s=1;s<dicnumber+1;s++){
for(sx=2;sx<count[s]+1;sx++){
tx=tx+1;
x[tx]=rate[s][sx-1];
y[tx]=rate[s][sx];
}
}
System.out.println(tx);
SimpleRegression reg = new SimpleRegression();
for(s=1;s<tx+1;s++){
reg.addData(x[s],y[s]);
}
System.out.println(reg.getIntercept());
System.out.println(reg.getSlope());
}
}
package neko;
import tool.*;
public class catchdata {
int s,sx,datanumber;
String[] data=new String[5000];
String file,str;
String[] station=new String[5000];
String[] title=new String[5000];
String[] date=new String[5000];
int[] season=new int[5000];
double[][] rate=new double[5000][50];
int[] ratenumber=new int[5000];
double[] avg=new double[5000];
void makedata(){
file="rate.txt";
readfile sub=new readfile();
sub.makedata(file,"UTF-8");
data=sub.data;
datanumber=sub.datanumber;
for(s=1;s<datanumber+1;s++){
str=data[s];
catchword sub2=new catchword();
station[s]=sub2.makedata(str,"station");
date[s]=sub2.makedata(str,"date");
title[s]=sub2.makedata(str,"title");
}
int p1,p2;
for(s=1;s<datanumber+1;s++){
str=data[s];
p1=str.indexOf("<season>");
p2=str.indexOf("<season>",p1+1);
str=str.substring(p1,p2);
str=str.replace("<season>","");
season[s]=Integer.parseInt(str);
}
for(s=1;s<datanumber+1;s++){
str=data[s];
p1=str.indexOf("</rate>");
p2=str.indexOf("</rate>",p1+1);
str=str.substring(p1,p2);
str=str.replace("</rate>","");
String[] x=str.split(",");
for(sx=0;sx<x.length;sx++){
rate[s][sx+1]=Double.parseDouble(x[sx]);
}
ratenumber[s]=x.length;
}
double r1;
for(s=1;s<datanumber+1;s++){
r1=0;
for(sx=1;sx<ratenumber[s]+1;sx++){
r1=r1+rate[s][sx];
}
avg[s]=r1/ratenumber[s];
}
}
}
package neko;
import tool.*;
public class catchartist {
int s,sx,datanumber;
String[] data=new String[5000];
String[][] actor=new String[5000][200];
String file,str;
int[] actornumber=new int[5000];
void makedata(){
file="actor.txt";
readfile sub=new readfile();
sub.makedata(file,"UTF-8");
data=sub.data;
datanumber=sub.datanumber;
for(s=1;s<datanumber+1;s++){
str=data[s];
String[] xp=str.split(",");
actornumber[s]=xp.length;
for(sx=1;sx<actornumber[s]+1;sx++){
actor[s][sx]=xp[sx-1];
}
}
}
}
最終更新:2013年12月10日 19:37