import statsmodels.api as sm




Download 110,05 Kb.
bet3/10
Sana19.02.2024
Hajmi110,05 Kb.
#159025
1   2   3   4   5   6   7   8   9   10
Bog'liq
1Chiziqli regressiya masalasi

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:5]
Chop etish funksiyasi y uchun dastlabki 5 ta bashoratni chop etadi (men “joyni tejash” uchun butun roʻyxatni chop qilmadim. [0: 5] olib tashlansa, butun roʻyxat chop etiladi):
[ 30.00821269 25.0298606 30.5702317 28.60814055 27.94288232]

Download 110,05 Kb.
1   2   3   4   5   6   7   8   9   10




Download 110,05 Kb.