import statsmodels.api as sm
X = df["RM"]
y = target["MEDV"]
# Note the difference in argument order
model = sm.OLS(y, X).fit()
predictions = model.predict(X) # make the predictions by the model
# Print out the statistics
model.summary()
SKLearnda chiziqli regressiya - Pythonda mashinani o'rganish haqida gap ketganda, SKLearn deyarli oltin standartdir. U regressiya, tasniflash, klasterlash va o'lchamlarni kamaytirish uchun ko'plab o'rganish algoritmlariga ega. Turli xil algoritmlar xaritasi va SKLearn ga boshqa havolalar uchun KNN algoritmidagi foydalanadi.
Chiziqli regressiyadan foydalanish uchun uni import qilishimiz kerak:
from sklearn import linear_model
Keling, avvalroq foydalangan ma'lumotlar to'plamidan, uy narxlaridan foydalanaylik. Dastlab, jarayon bir xil bo'ladi: SKLearn-dan ma'lumotlar to'plamlarini import qiling va ularni uy ma'lumotlar to'plamiga yuklang:
from sklearn import datasets ## imports datasets from scikit-learn
data = datasets.load_boston() ## loads home dataset from datasets library
Keyinchalik, ma'lumotlarni Pandasga yuklaymiz (avvalgidek):
# define the data/predictors as the pre-set feature names
df = pd.DataFrame(data.data, columns=data.feature_names)
# Put the target (housing value -- MEDV) in another DataFrame
target = pd.DataFrame(data.target, columns=["MEDV"])
Shunday qilib, endi, avvalgidek, bizda mustaqil o'zgaruvchilar ("df") va bog'qa o'zgaruvchiga ega bo'lgan ma'lumotlar to'plami ("maqsad" belgisi) mavjud. SKLearn yordamida regressiya modelini moslashtiramiz. Avval biz X va Y ni aniqlaymiz - bu safar uy narxlarini taxmin qilish uchun dataframedagi barcha o'zgaruvchilardan foydalanamiz:
X = df
y = target[“MEDV”]
Va yaratilganmodelni olamiz:
lm = linear_model.LinearRegression()
model = lm.fit(X,y)
lm.fit () funksiyasi chiziqli modelga mos keladi. Biz bashorat qilish uchun modeldan foydalanmoqchimiz, Shuning uchun biz lm.predict () dan foydalanamiz:
predictions = lm.predict(X)
print(predictions)[0:(ma’lum qiymatlar beriladi)]
Dasturning kodi:
a=[1 35 2,4
2 25 3,4
3 29 4,6
4 35 6,3
5 45 4,3
6 55 6,2
7 38 7,8
8 42 9,5
9 35 9,23
10 48 10,12];
y=a(:,1)';
x1=a(:,2)';
x2=a(:,3)';
plot3(x1,x2,y,'b0','LineWidth',4);
hold on;
n=length(x1);
a=[ones(n,1) x1' x2'];
c=pinv(a)*y';
x1=linspace(1,100,100);
x2=linspace(1,100,100);
[x1,x2]=meshgrid(x1,x2);
y=c(1)+c(2)*x1+c(3)*x2;
mesh(x1,x2,y);
xlabel("Masofa");
ylabel("Foydalanuvchilar");
zlabel("Signal uzunligi");
title("kdlsnvlkearbvol");
grid on;
ADABIYOTLAR.
1. __ Коломаев А.В. и др. “Теория вероятностей и математическая
статистика для экономистов”., М. 1991 г.
2. Н.Р.Бекназарова, Х.Н.Жумаев “Математик программалаштириш ва
оптималлаштириш” Ўқув предмети бўйича Ўқув-услубий мажмуа
(Бакалавриат босқичи талабалари учун).Ташкент 2006.
3. Сафаева К. ва бошкалар. Математик программалашдан маъруза
мантлари. Т., ТДМИ, 2003й.
4. В.В.Розен. Математические модели принятия решений в экономике. М.
2002.
Xulosa: Matlab dasturidagi Plot3() funksiyasi 3 o’chovli shakllarni hosil qilishda ishlatilar ekan va bu funksiya metodalari ko’pligini isboti buldi.
|