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}')