使用Scikit-learn自带的逻辑回归算法解决“marks. csv”中根据两门入学考试成绩预测是否被学校录取的问题。
时间: 2023-12-04 14:03:46 浏览: 91
好的,具体步骤如下:
1. 首先需要加载数据集。可以使用 pandas 工具包,使用 read_csv 函数读取 marks.csv 文件,将其转换为 DataFrame 格式。
```python
import pandas as pd
data = pd.read_csv("marks.csv")
```
2. 对数据集进行特征工程处理。将数据集分为两部分,一部分是输入特征 X,包括数学成绩和物理成绩,另一部分是输出结果 y,表示是否被录取。同时需要进行数据归一化处理,以提高模型的预测准确率。
```python
from sklearn.preprocessing import StandardScaler
X = data[['math score', 'physics score']]
y = data['admitted']
scaler = StandardScaler()
X = scaler.fit_transform(X)
```
3. 使用逻辑回归算法进行训练和预测。可以使用 Scikit-learn 自带的 LogisticRegression 模型,使用 fit 函数进行训练,使用 predict 函数进行预测。
```python
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr.fit(X, y)
# 进行预测
predicted = lr.predict(X)
```
4. 对模型进行评估。可以使用 Scikit-learn 中的准确率、召回率、F1 值等指标进行评估。
```python
from sklearn.metrics import accuracy_score
# 计算准确率
accuracy = accuracy_score(y, predicted)
print("Accuracy:", accuracy)
```
完整代码如下:
```python
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 加载数据集
data = pd.read_csv("marks.csv")
# 特征工程处理
X = data[['math score', 'physics score']]
y = data['admitted']
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 使用逻辑回归算法进行训练和预测
lr = LogisticRegression()
lr.fit(X, y)
predicted = lr.predict(X)
# 对模型进行评估
accuracy = accuracy_score(y, predicted)
print("Accuracy:", accuracy)
```
需要注意的是,以上代码仅是一个简单的示例,实际应用中需要根据实际情况进行调整和优化,以提高模型的预测准确率。
阅读全文