Я работаю над реализацией и сравнением различных алгоритмов машинного обучения на Python с помощью scikit-learn. Я опробовал несколько моделей, включая линейную регрессию, логистическую регрессию, множественную линейную регрессию, полиномиальную регрессию, K-NN и дерево решений.
Я хочу знать:
• Правильны ли эти реализации?
• Есть ли какие-либо улучшения или лучшие практики, которым мне следует следовать?
• Справлюсь ли я правильную предварительную обработку (например, пропущенные значения и кодирование)?
• Как мне лучше сравнить эти модели?
Любые предложения или исправления будут очень признательны.
Ниже приведены мои реализации:
linear regression.
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
data = pd.read_csv("data.csv")
X = data[['x']]
y = data['y']
X = np.array(X).reshape(-1, 1)
y = np.array(y)
model = LinearRegression()
model.fit(X, y)
slope = model.coef_[0]
intercept = model.intercept_
print("Slope:", slope)
print("Intercept:", intercept)
y_pred = model.predict(X)
print(y_pred)
logistic regression
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
data = pd.read_csv("train.csv")
X = data[['Pclass', 'Sex', 'Age', 'Fare']]
y = data['Survived']
X['Sex'] = X['Sex'].map({'male': 0, 'female': 1})
X['Age'] = X['Age'].fillna(X['Age'].median())
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
Multiple Linear Regression
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
data = pd.read_csv("data.csv")
X = data[['Hours', 'Sleep', 'Practice']]
y = data['Score']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
Polynomial Regression
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
data = pd.read_csv("data.csv")
X = data[['Hours']]
y = data['Score']
poly = PolynomialFeatures(degree=3)
X_poly = poly.fit_transform(X)
X_train, X_test, y_train, y_test = train_test_split(
X_poly, y, test_size=0.2, random_state=42
)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
K-NN
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
data = pd.read_csv("train.csv")
X = data[['Pclass', 'Age', 'Fare']]
y = data['Survived']
X['Age'] = X['Age'].fillna(X['Age'].median())
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = KNeighborsClassifier(n_neighbors=5)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
decision tree
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
data = pd.read_csv("data.csv")
X = data.drop("y", axis=1)
y = data["y"]
X = np.array(X)
y = np.array(y)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print(y_pred)
print("Accuracy:", model.score(X_test, y_test))
metrix
from sklearn.metrics import mean_squared_error, r2_score
print("MSE:", mean_squared_error(y_test, y_pred))
print("R2 Score:", r2_score(y_test, y_pred))
Как реализовать и сравнить несколько алгоритмов машинного обучения (регрессия, классификация) в Python с помощью scikit- ⇐ Python
Программы на Python
1774601557
Anonymous
Я работаю над реализацией и сравнением различных алгоритмов машинного обучения на Python с помощью scikit-learn. Я опробовал несколько моделей, включая линейную регрессию, логистическую регрессию, множественную линейную регрессию, полиномиальную регрессию, K-NN и дерево решений.
Я хочу знать:
• Правильны ли эти реализации?
• Есть ли какие-либо улучшения или лучшие практики, которым мне следует следовать?
• Справлюсь ли я правильную предварительную обработку (например, пропущенные значения и кодирование)?
• Как мне лучше сравнить эти модели?
Любые предложения или исправления будут очень признательны.
Ниже приведены мои реализации:
linear regression.
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
data = pd.read_csv("data.csv")
X = data[['x']]
y = data['y']
X = np.array(X).reshape(-1, 1)
y = np.array(y)
model = LinearRegression()
model.fit(X, y)
slope = model.coef_[0]
intercept = model.intercept_
print("Slope:", slope)
print("Intercept:", intercept)
y_pred = model.predict(X)
print(y_pred)
logistic regression
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
data = pd.read_csv("train.csv")
X = data[['Pclass', 'Sex', 'Age', 'Fare']]
y = data['Survived']
X['Sex'] = X['Sex'].map({'male': 0, 'female': 1})
X['Age'] = X['Age'].fillna(X['Age'].median())
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
Multiple Linear Regression
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
data = pd.read_csv("data.csv")
X = data[['Hours', 'Sleep', 'Practice']]
y = data['Score']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
Polynomial Regression
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
data = pd.read_csv("data.csv")
X = data[['Hours']]
y = data['Score']
poly = PolynomialFeatures(degree=3)
X_poly = poly.fit_transform(X)
X_train, X_test, y_train, y_test = train_test_split(
X_poly, y, test_size=0.2, random_state=42
)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
K-NN
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
data = pd.read_csv("train.csv")
X = data[['Pclass', 'Age', 'Fare']]
y = data['Survived']
X['Age'] = X['Age'].fillna(X['Age'].median())
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = KNeighborsClassifier(n_neighbors=5)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
decision tree
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
data = pd.read_csv("data.csv")
X = data.drop("y", axis=1)
y = data["y"]
X = np.array(X)
y = np.array(y)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print(y_pred)
print("Accuracy:", model.score(X_test, y_test))
metrix
from sklearn.metrics import mean_squared_error, r2_score
print("MSE:", mean_squared_error(y_test, y_pred))
print("R2 Score:", r2_score(y_test, y_pred))
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия