Machine learning — kompyuterni ma'lumotlardan o'rganishga o'rgatish.

O'rnatish

pip install scikit-learn

Ma'lumotlarni tayyorlash

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import pandas as pd

df = pd.read_csv('data.csv')
X = df.drop('maqsad', axis=1)
y = df['maqsad']

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

Klassifikatsiya (Random Forest)

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report

model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print(f'Aniqlik: {accuracy_score(y_test, y_pred):.2%}')
print(classification_report(y_test, y_pred))

Regression (Linear Regression)

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

model = LinearRegression()
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print(f'R² skori: {r2_score(y_test, y_pred):.3f}')
print(f'MSE: {mean_squared_error(y_test, y_pred):.3f}')

Cross-validation

from sklearn.model_selection import cross_val_score

skorlar = cross_val_score(model, X, y, cv=5)
print(f'O'rtacha: {skorlar.mean():.3f} ± {skorlar.std():.3f}')