R-squared - статистика, которая применяется только к линейной регрессии.
По существу, она измеряет, насколько вариации в ваших данных могут быть объяснены линейной регрессией.
Итак, вы вычисляете «Суммарную сумму квадратов», которая представляет собой полное квадратное отклонение каждой из ваших переменных результата от их среднего значения. , .
\ sum_ {i} (y_ {i} - y_bar) ^ 2
, где y_bar - среднее значение y.
Затем вы вычисляете «сумму регрессионных квадратов», которая зависит от того, насколько ваши значения FITTED отличаются от среднего
\ sum_ {i} (yHat_ {i} - y_bar) ^ 2
и найти соотношение этих двух.
Теперь все, что вам нужно сделать для полиномиального соответствия, - это подключить y_hat от этой модели, но неточно назвать это r-квадрат.
Здесь - ссылка, которую я нашел, что говорит с ней немного.
Хорошо, я наконец понял это. Я надеюсь, что это будет полезно для других. Эта функция будет извлекать 20 последних сообщений, включая время создания:
// npm i request cheerio request-promise-native
const rp = require('request-promise-native'); // requires installation of `request`
const cheerio = require('cheerio');
function GetFbPosts(pageUrl) {
const requestOptions = {
url: pageUrl,
headers: {
'User-Agent': 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0'
}
};
return rp.get(requestOptions).then( postsHtml => {
const $ = cheerio.load(postsHtml);
const timeLinePostEls = $('.userContent').map((i,el)=>$(el)).get();
const posts = timeLinePostEls.map(post=>{
return {
message: post.html(),
created_time: post.parents('.userContentWrapper').find('.timestampContent').html()
}
});
return posts;
});
}
GetFbPosts('https://www.facebook.com/pg/officialstackoverflow/posts/').then(posts=>{
// Log all posts
for (const post of posts) {
console.log(post.created_at, post.message);
}
});
Поскольку сообщения Facebook могут иметь сложное форматирование, это не простой текст, а HTML. Но вы можете удалить форматирование и просто получить текст, заменив message: post.html()
на message: post.text()
.